1.在解绑提示页面,增加提示语“Auto-Renew: Cancel”
2.适配Google Play 要求支持 16 KB 的内存页面大小,更新大部分第三方库到最新版本
This commit is contained in:
@@ -9,6 +9,7 @@ import com.abbidot.tracker.util.Util
|
||||
import com.baidu.mapapi.search.route.BikingRouteResult
|
||||
import com.baidu.mapapi.search.route.DrivingRouteResult
|
||||
import com.baidu.mapapi.search.route.IndoorRouteResult
|
||||
import com.baidu.mapapi.search.route.IntegralRouteResult
|
||||
import com.baidu.mapapi.search.route.MassTransitRouteResult
|
||||
import com.baidu.mapapi.search.route.OnGetRoutePlanResultListener
|
||||
import com.baidu.mapapi.search.route.PlanNode
|
||||
@@ -144,6 +145,10 @@ class RoutePlanningViewModel : ViewModel() {
|
||||
|
||||
override fun onGetBikingRouteResult(p0: BikingRouteResult?) {
|
||||
}
|
||||
|
||||
override fun onGetIntegralRouteResult(p0: IntegralRouteResult?) {
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -215,7 +215,8 @@ class HomeV2Activity : BaseActivity<ActivityHomeV2Binding>(ActivityHomeV2Binding
|
||||
CrashReport.setUserId(MMKVUtil.getString(MMKVKey.Email))
|
||||
//预先加载相册,防止上传头像几千张照片加载慢
|
||||
XXPermissions.with(this).permission(PermissionLists.getReadMediaImagesPermission())
|
||||
.request { _, allGranted ->
|
||||
.request { _, deniedList ->
|
||||
val allGranted = deniedList.isEmpty()
|
||||
if (allGranted) {
|
||||
EasyPhotos.preLoad(this)
|
||||
// {
|
||||
@@ -310,7 +311,7 @@ class HomeV2Activity : BaseActivity<ActivityHomeV2Binding>(ActivityHomeV2Binding
|
||||
//蓝牙连接就去连接socket
|
||||
// mBleReportManage.dealBleReportData(macID, null)
|
||||
} else {
|
||||
mLogBleReportViewModel.uploadLog(mContext, macID,deviceOutId)
|
||||
mLogBleReportViewModel.uploadLog(mContext, macID, deviceOutId)
|
||||
startCountDownConBle(15)
|
||||
}
|
||||
}
|
||||
@@ -454,7 +455,7 @@ class HomeV2Activity : BaseActivity<ActivityHomeV2Binding>(ActivityHomeV2Binding
|
||||
packageUnavailableState()
|
||||
//刚开始打开APP上传日志
|
||||
getPet(false)?.apply {
|
||||
mLogBleReportViewModel.uploadLog(mContext, macID,deviceOutId)
|
||||
mLogBleReportViewModel.uploadLog(mContext, macID, deviceOutId)
|
||||
}
|
||||
} else {
|
||||
onChangeClick(mSelectPetPosition)
|
||||
@@ -573,7 +574,7 @@ class HomeV2Activity : BaseActivity<ActivityHomeV2Binding>(ActivityHomeV2Binding
|
||||
private fun checkPermissions() {
|
||||
val checkBleOpen = MMKVUtil.getBoolean(MMKVKey.isFirstCheckBleOpen, true)
|
||||
if (checkBleOpen) MMKVUtil.putBoolean(MMKVKey.isFirstCheckBleOpen, false)
|
||||
Util.checkBluetoothPermissionsEnabled(mContext, {
|
||||
Util.checkBluetoothPermissionsEnabled(this, {
|
||||
// mAutomaticConnectionDeviceViewModel.autoConnectBleDevice(mContext)
|
||||
}, isCheckBleOpen = checkBleOpen)
|
||||
}
|
||||
|
||||
@@ -38,7 +38,7 @@ import com.stripe.android.PaymentConfiguration
|
||||
import com.tencent.bugly.crashreport.CrashReport
|
||||
import com.tencent.mm.opensdk.constants.ConstantsAPI
|
||||
import com.tencent.mm.opensdk.openapi.IWXAPI
|
||||
import java.util.*
|
||||
import java.util.Calendar
|
||||
|
||||
|
||||
/**
|
||||
@@ -179,7 +179,7 @@ class SplashActivity : QMUIActivity() {
|
||||
// }, 600)
|
||||
// }
|
||||
mViewBinding.splashLogoIv.visibility = View.VISIBLE
|
||||
mCountDownTimerViewModel.startCountDown(2)
|
||||
mCountDownTimerViewModel.startCountDown(1)
|
||||
|
||||
init()
|
||||
}
|
||||
@@ -219,8 +219,8 @@ class SplashActivity : QMUIActivity() {
|
||||
initMapbox()
|
||||
}
|
||||
|
||||
val buglyKey = Util.getMetadata(applicationContext, KeyNames.BUG_LY_KEY_NAME)
|
||||
//腾讯bugly初始化
|
||||
val buglyKey = Util.getMetadata(applicationContext, KeyNames.BUG_LY_KEY_NAME)
|
||||
CrashReport.initCrashReport(applicationContext, buglyKey, AppUtils.isDebug())
|
||||
}
|
||||
|
||||
|
||||
@@ -92,7 +92,7 @@ class AddNewTracker1Activity :
|
||||
* 检查获取定位蓝牙权限
|
||||
*/
|
||||
private fun checkPermissions() {
|
||||
Util.checkBluetoothPermissionsEnabled(mContext, {
|
||||
Util.checkBluetoothPermissionsEnabled(this, {
|
||||
val intent = Intent(mContext, AddNewTracker3Activity::class.java)
|
||||
intent.putExtra(ConstantString.isFirstBind, isFirstBind)
|
||||
startActivity(intent)
|
||||
|
||||
@@ -49,7 +49,7 @@ class AddNewTracker2Activity :
|
||||
}
|
||||
}
|
||||
|
||||
Util.checkBluetoothPermissionsEnabled(mContext, {
|
||||
Util.checkBluetoothPermissionsEnabled(this, {
|
||||
startScanBle()
|
||||
})
|
||||
}
|
||||
|
||||
@@ -402,7 +402,7 @@ class PreviewFencesZoneActivity :
|
||||
}
|
||||
|
||||
private fun goEditFences() {
|
||||
Util.checkLocationPermissionsGpsEnabled(mContext, {
|
||||
Util.checkLocationPermissionsGpsEnabled(this, {
|
||||
mCurrentFences?.apply {
|
||||
val intent = if (fenceType == ConstantInt.SafeZone) Intent(
|
||||
mContext, EditSafeZoneActivity::class.java
|
||||
|
||||
@@ -338,7 +338,7 @@ class VirtualFencesActivity :
|
||||
}
|
||||
|
||||
private fun goPreviewFencesZone(fencesBean: FencesBean) {
|
||||
Util.checkLocationPermissionsGpsEnabled(mContext, {
|
||||
Util.checkLocationPermissionsGpsEnabled(this, {
|
||||
mPetBean?.apply {
|
||||
val intent = Intent(mContext, PreviewFencesZoneActivity::class.java)
|
||||
intent.putExtra(ConstantString.Fence, fencesBean)
|
||||
@@ -351,7 +351,7 @@ class VirtualFencesActivity :
|
||||
private fun goAddSafeZone() {
|
||||
val share = MMKVUtil.getInt(MMKVKey.Shared)
|
||||
if (share != ConstantInt.NoShare) return
|
||||
Util.checkLocationPermissionsGpsEnabled(mContext, {
|
||||
Util.checkLocationPermissionsGpsEnabled(this, {
|
||||
val intent = Intent(mContext, AddSafeZoneActivity::class.java)
|
||||
intent.putExtra(ConstantString.Pet, mPetBean)
|
||||
intent.putExtra(ConstantString.Fence, mGetFencesBean)
|
||||
@@ -362,7 +362,7 @@ class VirtualFencesActivity :
|
||||
private fun goAddNoGoZone() {
|
||||
val share = MMKVUtil.getInt(MMKVKey.Shared)
|
||||
if (share != ConstantInt.NoShare) return
|
||||
Util.checkLocationPermissionsGpsEnabled(mContext, {
|
||||
Util.checkLocationPermissionsGpsEnabled(this, {
|
||||
val intent = Intent(mContext, AddNoGoZoneActivity::class.java)
|
||||
intent.putExtra(ConstantString.Pet, mPetBean)
|
||||
intent.putExtra(ConstantString.Fence, mGetFencesBean)
|
||||
|
||||
@@ -343,7 +343,7 @@ class LedLightActivity : BaseActivity<ActivityLedLightBinding>(ActivityLedLightB
|
||||
if (BleManager.getInstance().isConnected(deviceMacId)) {
|
||||
//蓝牙控制
|
||||
SRBleUtil.instance.getConnectMacDevice(deviceMacId)?.let {
|
||||
SRBleUtil.instance.setBleLedSwitch(mContext, it.bleDevice, mode)
|
||||
SRBleUtil.instance.setBleLedSwitch(this@LedLightActivity, it.bleDevice, mode)
|
||||
}
|
||||
} else {
|
||||
//远程控制
|
||||
@@ -414,7 +414,7 @@ class LedLightActivity : BaseActivity<ActivityLedLightBinding>(ActivityLedLightB
|
||||
if (BleManager.getInstance().isConnected(deviceMacId)) {
|
||||
//蓝牙控制
|
||||
SRBleUtil.instance.getConnectMacDevice(deviceMacId)?.let {
|
||||
SRBleUtil.instance.setBleLedSwitch(mContext, it.bleDevice, ledSwitch)
|
||||
SRBleUtil.instance.setBleLedSwitch(this@LedLightActivity, it.bleDevice, ledSwitch)
|
||||
}
|
||||
} else {
|
||||
//远程控制
|
||||
|
||||
@@ -294,7 +294,7 @@ class LedLightActivityV0 : BaseActivity<ActivityLedLightBinding>(ActivityLedLigh
|
||||
|
||||
private fun setBleLedMode(mode: Int) {
|
||||
mBleTrackDeviceBean?.apply {
|
||||
SRBleUtil.instance.setBleLedSwitch(mContext, bleDevice, mode)
|
||||
SRBleUtil.instance.setBleLedSwitch(this@LedLightActivityV0, bleDevice, mode)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -273,7 +273,7 @@ class AddWifiPasswordActivity :
|
||||
}
|
||||
|
||||
private fun goEditWifiActivity() {
|
||||
Util.checkLocationPermissionsGpsEnabled(mContext, {
|
||||
Util.checkLocationPermissionsGpsEnabled(this, {
|
||||
val intent = Intent(mContext, EditWifiPowerZoneActivity::class.java)
|
||||
intent.putExtra(ConstantString.WiFi, mWiFiBean)
|
||||
mDecWiFiAddressData?.let {
|
||||
|
||||
@@ -178,7 +178,7 @@ class AddWifiPowerZone1Activity :
|
||||
}
|
||||
|
||||
private fun goNext() {
|
||||
Util.checkLocationPermissionsGpsEnabled(mContext, {
|
||||
Util.checkLocationPermissionsGpsEnabled(this, {
|
||||
Intent(mContext, AddWifiPowerZone2Activity::class.java).let {
|
||||
mPetBean?.let { pet ->
|
||||
it.putExtra(ConstantString.Pet, pet)
|
||||
|
||||
@@ -105,7 +105,7 @@ class AddWifiPowerZone2Activity :
|
||||
override fun onClick(v: View?) {
|
||||
mViewBinding.apply {
|
||||
when (v!!) {
|
||||
btnAddWifiZone2Next -> Util.checkBluetoothPermissionsEnabled(mContext, {
|
||||
btnAddWifiZone2Next -> Util.checkBluetoothPermissionsEnabled(this@AddWifiPowerZone2Activity, {
|
||||
goNext()
|
||||
})
|
||||
|
||||
|
||||
@@ -272,7 +272,7 @@ class AddWifiPowerZone3Activity :
|
||||
private fun checkPermission() {
|
||||
//从 Android 6.0(API 23)开始,定位权限现在被用于 Wi-Fi 扫描
|
||||
Util.checkPermissions(
|
||||
mContext, object : Util.RequestPermissionCallback {
|
||||
this, object : Util.RequestPermissionCallback {
|
||||
override fun onRequestPermissionSuccess() {
|
||||
addListData()
|
||||
}
|
||||
|
||||
@@ -115,7 +115,7 @@ class PowerSavingSetActivity :
|
||||
if (share != ConstantInt.NoShare) {
|
||||
return
|
||||
}
|
||||
Util.checkLocationPermissionsGpsEnabled(mContext, {
|
||||
Util.checkLocationPermissionsGpsEnabled(this, {
|
||||
if (mZoneAdapter.getData().isNotEmpty()) {
|
||||
val wiFiZoneBean = mZoneAdapter.getData()[pos]
|
||||
val intent = Intent(mContext, EditWifiPowerZoneActivity::class.java)
|
||||
|
||||
@@ -718,7 +718,7 @@ class LiveActivityV3 : BaseActivity<ActivityLiveV3Binding>(ActivityLiveV3Binding
|
||||
*/
|
||||
private fun setLedSwitch(mode: Int) {
|
||||
mTrackBleDevice?.apply {
|
||||
SRBleUtil.instance.setBleLedSwitch(mContext, bleDevice, mode)
|
||||
SRBleUtil.instance.setBleLedSwitch(this@LiveActivityV3, bleDevice, mode)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1109,7 +1109,7 @@ class LiveActivityV3 : BaseActivity<ActivityLiveV3Binding>(ActivityLiveV3Binding
|
||||
* 找蓝牙设备
|
||||
*/
|
||||
private fun findBleDevice(mac: String) {
|
||||
Util.checkBluetoothPermissionsEnabled(mContext, {
|
||||
Util.checkBluetoothPermissionsEnabled(this, {
|
||||
showAndHideFindLayout()
|
||||
mViewBinding.ilLiveV2BluetoothFindDevice.apply {
|
||||
mFindBleDeviceViewModel.startScanFind(
|
||||
|
||||
@@ -28,7 +28,7 @@ class FirstPermissionsActivity :
|
||||
override fun initData() {
|
||||
super.initData()
|
||||
|
||||
mPermissionsCommon = PermissionsActivityCommon(mContext).apply {
|
||||
mPermissionsCommon = PermissionsActivityCommon(this).apply {
|
||||
registerGpsReceiver()
|
||||
}
|
||||
mPermissionsAdapter =
|
||||
|
||||
@@ -25,7 +25,7 @@ class PermissionsSetActivity :
|
||||
setTopBarTitle(R.string.txt_permissions)
|
||||
setLeftBackImage(R.drawable.icon_white_back_svg)
|
||||
|
||||
mPermissionsCommon = PermissionsActivityCommon(mContext).apply {
|
||||
mPermissionsCommon = PermissionsActivityCommon(this).apply {
|
||||
registerGpsReceiver()
|
||||
}
|
||||
mPermissionsSetAdapter =
|
||||
|
||||
@@ -143,7 +143,7 @@ class ChoosePlanActivity :
|
||||
}
|
||||
|
||||
private fun goSureSubscriptionPlan() {
|
||||
Util.checkLocationPermissionsGpsEnabled(mContext, {
|
||||
Util.checkLocationPermissionsGpsEnabled(this, {
|
||||
Intent(
|
||||
mContext, SureSubscriptionPlanActivity::class.java
|
||||
).let {
|
||||
|
||||
@@ -49,7 +49,7 @@ class SubscriptionHistoryActivity :
|
||||
super.onResume()
|
||||
if (mRefreshPackage) {
|
||||
mRefreshPackage = false
|
||||
mSubscriptionViewModel.getHistoryIncludeRenew("sub_1TN3ccCUI9XSagUNmhpfpRk4")
|
||||
mSubscriptionViewModel.getHistoryIncludeRenew(subscriptionId)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -7,11 +7,13 @@ import android.location.LocationManager
|
||||
import android.provider.Settings
|
||||
import com.abbidot.baselibrary.list.BaseRecyclerAdapter
|
||||
import com.abbidot.tracker.R
|
||||
import com.abbidot.tracker.base.BaseActivity
|
||||
import com.abbidot.tracker.bean.DataBean
|
||||
import com.abbidot.tracker.constant.ConstantInt
|
||||
import com.abbidot.tracker.receiver.GPSMonitorReceiver
|
||||
import com.abbidot.tracker.util.Util
|
||||
import com.abbidot.tracker.util.bluetooth.SRBleUtil
|
||||
import com.baidu.mshield.x0.EngineImpl.mContext
|
||||
import com.clj.fastble.BleManager
|
||||
import com.hjq.permissions.XXPermissions
|
||||
import com.hjq.permissions.permission.PermissionLists
|
||||
@@ -21,11 +23,11 @@ import com.hjq.permissions.permission.PermissionLists
|
||||
* @link
|
||||
* @description:
|
||||
*/
|
||||
class PermissionsActivityCommon(context: Context) {
|
||||
class PermissionsActivityCommon(activity: BaseActivity<*>) {
|
||||
|
||||
private val mLocationManager =
|
||||
context.getSystemService(Context.LOCATION_SERVICE) as LocationManager
|
||||
private val mContext = context
|
||||
activity.getSystemService(Context.LOCATION_SERVICE) as LocationManager
|
||||
private val mActivity = activity
|
||||
private var mGPSListenerReceiver: GPSMonitorReceiver? = null
|
||||
|
||||
/**
|
||||
@@ -172,7 +174,7 @@ class PermissionsActivityCommon(context: Context) {
|
||||
*/
|
||||
fun operateBluetooth() {
|
||||
Util.checkPermissions(
|
||||
mContext,
|
||||
mActivity,
|
||||
object : Util.RequestPermissionCallback {
|
||||
override fun onRequestPermissionSuccess() {
|
||||
if (BleManager.getInstance().isSupportBle) {
|
||||
@@ -191,11 +193,12 @@ class PermissionsActivityCommon(context: Context) {
|
||||
*/
|
||||
fun operateGPSLocation() {
|
||||
Util.checkPermissions(
|
||||
mContext,
|
||||
mActivity,
|
||||
object : Util.RequestPermissionCallback {
|
||||
override fun onRequestPermissionSuccess() {
|
||||
if (!mLocationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
|
||||
val intent = Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS)
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
mContext.startActivity(intent)
|
||||
}
|
||||
}
|
||||
@@ -211,7 +214,7 @@ class PermissionsActivityCommon(context: Context) {
|
||||
*/
|
||||
fun operateNotifications(adapter: BaseRecyclerAdapter<DataBean>, expansionState: Int) {
|
||||
Util.checkPermissions(
|
||||
mContext,
|
||||
mActivity,
|
||||
object : Util.RequestPermissionCallback {
|
||||
override fun onRequestPermissionSuccess() {
|
||||
updatePermissionsState(adapter, expansionState)
|
||||
|
||||
@@ -1109,7 +1109,7 @@ class HomeTrackFragment :
|
||||
*/
|
||||
private fun connectionBtn(btnString: String) {
|
||||
if (btnString == getString(R.string.txt_unconnect_no)) {
|
||||
Util.checkBluetoothPermissionsEnabled(mContext!!, {
|
||||
Util.checkBluetoothPermissionsEnabled(getHomeV2Activity()!!, {
|
||||
getHomeV2Activity()?.getPet()?.apply {
|
||||
mConnectionDeviceViewModel.connectDeviceToMac(
|
||||
getHomeV2Activity()!!, macID, false
|
||||
@@ -1172,7 +1172,7 @@ class HomeTrackFragment :
|
||||
if (BleManager.getInstance().isConnected(it.deviceMacId)) {
|
||||
//蓝牙控制
|
||||
getBleTrackDeviceBean(false)?.let { ble ->
|
||||
SRBleUtil.instance.setBleLedSwitch(mContext!!, ble.bleDevice, ledSwitch)
|
||||
SRBleUtil.instance.setBleLedSwitch(getHomeV2Activity()!!, ble.bleDevice, ledSwitch)
|
||||
}
|
||||
} else {
|
||||
// setLedState(ledSwitch)
|
||||
|
||||
@@ -513,7 +513,7 @@ class MapV3Fragment : BaseFragment<FragmentMapV3Binding>(FragmentMapV3Binding::i
|
||||
override fun onOkClick(dialog: BaseDialog<*>) {
|
||||
dialog.dismiss()
|
||||
if (type == 0) checkPermissions(type)
|
||||
else Util.checkLocationPermissionsGpsEnabled(mContext!!, {})
|
||||
else Util.checkLocationPermissionsGpsEnabled(getHomeV2Activity()!!, {})
|
||||
}
|
||||
},
|
||||
okTextResId = R.string.txt_accept,
|
||||
@@ -811,7 +811,7 @@ class MapV3Fragment : BaseFragment<FragmentMapV3Binding>(FragmentMapV3Binding::i
|
||||
*/
|
||||
private fun checkPermissions(type: Int) {
|
||||
getHomeV2Activity()?.apply {
|
||||
Util.checkBluetoothPermissionsEnabled(mContext, {
|
||||
Util.checkBluetoothPermissionsEnabled(this, {
|
||||
if (type == 0) {
|
||||
if (!mLocationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
|
||||
val intent = Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS)
|
||||
|
||||
@@ -40,7 +40,6 @@ import com.abbidot.tracker.vm.SubscriptionManageViewModel
|
||||
import com.baidu.mapapi.utils.DistanceUtil
|
||||
import com.clj.fastble.BleManager
|
||||
import com.google.android.gms.maps.model.LatLng
|
||||
import com.hjq.permissions.OnPermissionCallback
|
||||
import com.hjq.permissions.XXPermissions
|
||||
import com.hjq.permissions.permission.PermissionLists
|
||||
import com.hjq.permissions.permission.base.IPermission
|
||||
@@ -351,38 +350,55 @@ class Util {
|
||||
* 检查权限并获取权限
|
||||
*/
|
||||
fun checkPermissions(
|
||||
context: Context,
|
||||
activity: BaseActivity<*>,
|
||||
requestPermissionCallback: RequestPermissionCallback,
|
||||
permissionTag: String,
|
||||
vararg permissions: IPermission
|
||||
) {
|
||||
XXPermissions.with(context).permissions(permissions)
|
||||
.request(object : OnPermissionCallback {
|
||||
override fun onGranted(
|
||||
permissions: MutableList<IPermission>, all: Boolean
|
||||
) {
|
||||
if (all) {
|
||||
LogUtil.e("获取${permissionTag}权限成功")
|
||||
requestPermissionCallback.onRequestPermissionSuccess()
|
||||
} else {
|
||||
LogUtil.e("获取部分权限成功,但部分权限未正常授予")
|
||||
requestPermissionCallback.onRequestPermissionFail()
|
||||
}
|
||||
XXPermissions.with(activity).permissions(permissions).request { _, deniedList ->
|
||||
val allGranted = deniedList.isEmpty()
|
||||
if (allGranted) {
|
||||
LogUtil.e("获取${permissionTag}权限成功")
|
||||
requestPermissionCallback.onRequestPermissionSuccess()
|
||||
} else {
|
||||
val doNotAskAgain =
|
||||
XXPermissions.isDoNotAskAgainPermissions(activity, deniedList)
|
||||
if (doNotAskAgain) {
|
||||
LogUtil.e("被永久拒绝授权,请手动授予定位权限")
|
||||
// 如果是被永久拒绝就跳转到应用权限系统设置页面
|
||||
XXPermissions.startPermissionActivity(activity, deniedList)
|
||||
} else {
|
||||
LogUtil.e("获取部分权限成功,但部分权限未正常授予")
|
||||
requestPermissionCallback.onRequestPermissionFail()
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDenied(
|
||||
permissions: MutableList<IPermission>, doNotAskAgain: Boolean
|
||||
) {
|
||||
if (doNotAskAgain) {
|
||||
LogUtil.e("被永久拒绝授权,请手动授予定位权限")
|
||||
// 如果是被永久拒绝就跳转到应用权限系统设置页面
|
||||
XXPermissions.startPermissionActivity(context, permissions)
|
||||
} else {
|
||||
LogUtil.e("获取${permissionTag}权限失败")
|
||||
requestPermissionCallback.onRequestPermissionFail()
|
||||
}
|
||||
}
|
||||
})
|
||||
// object : OnPermissionCallback {
|
||||
// override fun onGranted(
|
||||
// permissions: MutableList<IPermission>, all: Boolean
|
||||
// ) {
|
||||
// if (all) {
|
||||
//
|
||||
// } else {
|
||||
// LogUtil.e("获取部分权限成功,但部分权限未正常授予")
|
||||
// requestPermissionCallback.onRequestPermissionFail()
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// override fun onDenied(
|
||||
// permissions: MutableList<IPermission>, doNotAskAgain: Boolean
|
||||
// ) {
|
||||
// if (doNotAskAgain) {
|
||||
// LogUtil.e("被永久拒绝授权,请手动授予定位权限")
|
||||
// // 如果是被永久拒绝就跳转到应用权限系统设置页面
|
||||
// XXPermissions.startPermissionActivity(context, permissions)
|
||||
// } else {
|
||||
// LogUtil.e("获取${permissionTag}权限失败")
|
||||
// requestPermissionCallback.onRequestPermissionFail()
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -647,18 +663,18 @@ class Util {
|
||||
* 检查蓝牙权限和开关
|
||||
*/
|
||||
fun checkBluetoothPermissionsEnabled(
|
||||
context: Context,
|
||||
activity: BaseActivity<*>,
|
||||
successAuthorize: () -> Unit,
|
||||
isShowToast: Boolean = true,
|
||||
isCheckBleOpen: Boolean = true
|
||||
) {
|
||||
checkPermissions(
|
||||
context,
|
||||
activity,
|
||||
object : RequestPermissionCallback {
|
||||
override fun onRequestPermissionSuccess() {
|
||||
//判断蓝牙是否打开
|
||||
if (isCheckBleOpen && !SRBleUtil.instance.isBleEnable(context)) {
|
||||
SRBleUtil.instance.openBluetooth(context)
|
||||
if (isCheckBleOpen && !SRBleUtil.instance.isBleEnable(activity)) {
|
||||
SRBleUtil.instance.openBluetooth(activity)
|
||||
return
|
||||
}
|
||||
successAuthorize()
|
||||
@@ -680,18 +696,18 @@ class Util {
|
||||
* 检查定位权限和GPS开关
|
||||
*/
|
||||
fun checkLocationPermissionsGpsEnabled(
|
||||
context: Context, successAuthorize: () -> Unit, isShowToast: Boolean = true
|
||||
activity: BaseActivity<*>, successAuthorize: () -> Unit, isShowToast: Boolean = true
|
||||
) {
|
||||
val locationManager =
|
||||
context.getSystemService(Context.LOCATION_SERVICE) as LocationManager
|
||||
activity.getSystemService(Context.LOCATION_SERVICE) as LocationManager
|
||||
checkPermissions(
|
||||
context,
|
||||
activity,
|
||||
object : RequestPermissionCallback {
|
||||
override fun onRequestPermissionSuccess() {
|
||||
//判断GPS是否打开
|
||||
if (!locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
|
||||
val intent = Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS)
|
||||
context.startActivity(intent)
|
||||
activity.startActivity(intent)
|
||||
return
|
||||
}
|
||||
successAuthorize()
|
||||
|
||||
@@ -78,10 +78,8 @@ import com.daimajia.androidanimations.library.YoYo.YoYoString
|
||||
import com.google.android.flexbox.FlexboxLayoutManager
|
||||
import com.google.android.material.bottomsheet.BottomSheetBehavior
|
||||
import com.google.android.material.bottomsheet.BottomSheetDialog
|
||||
import com.hjq.permissions.OnPermissionCallback
|
||||
import com.hjq.permissions.XXPermissions
|
||||
import com.hjq.permissions.permission.PermissionLists
|
||||
import com.hjq.permissions.permission.base.IPermission
|
||||
import com.hjq.toast.Toaster
|
||||
import com.huantansheng.easyphotos.EasyPhotos
|
||||
import com.qmuiteam.qmui.alpha.QMUIAlphaImageButton
|
||||
@@ -575,34 +573,53 @@ class ViewUtil private constructor() {
|
||||
// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q)
|
||||
|
||||
XXPermissions.with(activity).permission(PermissionLists.getReadMediaImagesPermission())
|
||||
.permission(PermissionLists.getCameraPermission())
|
||||
.request(object : OnPermissionCallback {
|
||||
override fun onGranted(permissions: MutableList<IPermission>, allGranted: Boolean) {
|
||||
if (allGranted) {
|
||||
LogUtil.e("获取READ_MEDIA_IMAGES权限成功")
|
||||
EasyPhotos.createAlbum(activity, true, false, CoilEngine.instance)
|
||||
.setFileProviderAuthority(FileUtil.FILE_PROVIDER).setCount(count)
|
||||
.setPuzzleMenu(false).setCleanMenu(false).start(requestCode)
|
||||
//activity.overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left)
|
||||
.permission(PermissionLists.getCameraPermission()).request { _, deniedList ->
|
||||
val allGranted = deniedList.isEmpty()
|
||||
if (allGranted) {
|
||||
LogUtil.e("获取READ_MEDIA_IMAGES权限成功")
|
||||
EasyPhotos.createAlbum(activity, true, false, CoilEngine.instance)
|
||||
.setFileProviderAuthority(FileUtil.FILE_PROVIDER).setCount(count)
|
||||
.setPuzzleMenu(false).setCleanMenu(false).start(requestCode)
|
||||
//activity.overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left)
|
||||
} else {
|
||||
val doNotAskAgain =
|
||||
XXPermissions.isDoNotAskAgainPermissions(activity, deniedList)
|
||||
if (doNotAskAgain) {
|
||||
LogUtil.e("READ_MEDIA_IMAGES被永久拒绝授权,请手动授予定位权限")
|
||||
// 如果是被永久拒绝就跳转到应用权限系统设置页面
|
||||
XXPermissions.startPermissionActivity(activity, deniedList)
|
||||
} else {
|
||||
LogUtil.e("获取READ_MEDIA_IMAGES权限,但部分权限未正常授予")
|
||||
Toaster.show(R.string.txt_permissions_fail_tips)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDenied(
|
||||
permissions: MutableList<IPermission>, doNotAskAgain: Boolean
|
||||
) {
|
||||
if (doNotAskAgain) {
|
||||
LogUtil.e("READ_MEDIA_IMAGES被永久拒绝授权,请手动授予定位权限")
|
||||
// 如果是被永久拒绝就跳转到应用权限系统设置页面
|
||||
XXPermissions.startPermissionActivity(activity, permissions)
|
||||
} else {
|
||||
LogUtil.e("获取READ_MEDIA_IMAGES权限失败")
|
||||
Toaster.show(R.string.txt_permissions_fail_tips)
|
||||
}
|
||||
}
|
||||
})
|
||||
// override fun onGranted(permissions: MutableList<IPermission>, allGranted: Boolean) {
|
||||
// if (allGranted) {
|
||||
// LogUtil.e("获取READ_MEDIA_IMAGES权限成功")
|
||||
// EasyPhotos.createAlbum(activity, true, false, CoilEngine.instance)
|
||||
// .setFileProviderAuthority(FileUtil.FILE_PROVIDER).setCount(count)
|
||||
// .setPuzzleMenu(false).setCleanMenu(false).start(requestCode)
|
||||
// //activity.overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left)
|
||||
// } else {
|
||||
// LogUtil.e("获取READ_MEDIA_IMAGES权限,但部分权限未正常授予")
|
||||
// Toaster.show(R.string.txt_permissions_fail_tips)
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// override fun onDenied(
|
||||
// permissions: MutableList<IPermission>, doNotAskAgain: Boolean
|
||||
// ) {
|
||||
// if (doNotAskAgain) {
|
||||
// LogUtil.e("READ_MEDIA_IMAGES被永久拒绝授权,请手动授予定位权限")
|
||||
// // 如果是被永久拒绝就跳转到应用权限系统设置页面
|
||||
// XXPermissions.startPermissionActivity(activity, permissions)
|
||||
// } else {
|
||||
// LogUtil.e("获取READ_MEDIA_IMAGES权限失败")
|
||||
// Toaster.show(R.string.txt_permissions_fail_tips)
|
||||
// }
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -15,6 +15,7 @@ import com.abbidot.baselibrary.constant.EventName
|
||||
import com.abbidot.baselibrary.eventbus.XEventBus
|
||||
import com.abbidot.baselibrary.util.AppUtils
|
||||
import com.abbidot.baselibrary.util.LogUtil
|
||||
import com.abbidot.tracker.base.BaseActivity
|
||||
import com.abbidot.tracker.bean.BleTrackDeviceBean
|
||||
import com.abbidot.tracker.bean.ReceiveDeviceData
|
||||
import com.abbidot.tracker.util.SocketUtilManageV2
|
||||
@@ -132,6 +133,7 @@ class SRBleUtil private constructor() {
|
||||
fun openBluetooth(context: Context) {
|
||||
// BleManager.getInstance().enableBluetooth()
|
||||
val intent = Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE)
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
context.startActivity(intent)
|
||||
}
|
||||
|
||||
@@ -298,9 +300,7 @@ class SRBleUtil private constructor() {
|
||||
override fun onNotifyFailure(exception: BleException?) {
|
||||
LogUtil.e("打开日志上报通道失败:${bleDevice.mac},$exception")
|
||||
openG40LogReportNotify(
|
||||
bleDevice,
|
||||
logG40ServiceUUID,
|
||||
logG40NotifyCharacteristicUUID
|
||||
bleDevice, logG40ServiceUUID, logG40NotifyCharacteristicUUID
|
||||
)
|
||||
}
|
||||
|
||||
@@ -474,10 +474,10 @@ class SRBleUtil private constructor() {
|
||||
/**
|
||||
*发送设备开启关闭led蓝牙指令
|
||||
*/
|
||||
fun setBleLedSwitch(context: Context, bleDevice: BleDevice?, mode: Int) {
|
||||
fun setBleLedSwitch(activity: BaseActivity<*>, bleDevice: BleDevice?, mode: Int) {
|
||||
//判断是否有蓝牙连接
|
||||
if (BleManager.getInstance().isConnected(bleDevice)) {
|
||||
Util.checkBluetoothPermissionsEnabled(context, {
|
||||
Util.checkBluetoothPermissionsEnabled(activity, {
|
||||
writeData(
|
||||
bleDevice, SRBleCmdUtil.instance.ledState(SRBleCmdUtil.CMD_WRITE, mode)
|
||||
)
|
||||
|
||||
@@ -326,7 +326,12 @@ public final class BrowserView extends WebView {
|
||||
//
|
||||
DialogUtils.Companion.showEditTextDialog(mWebView.getContext(), message, defaultValue
|
||||
, new GetResultCallback() {
|
||||
@Override
|
||||
@Override
|
||||
public void onErrorCode() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRequestError(@Nullable String exceptionCode) {
|
||||
}
|
||||
|
||||
@@ -350,7 +355,7 @@ public final class BrowserView extends WebView {
|
||||
@Override
|
||||
public boolean onShowFileChooser(WebView webView, ValueCallback<Uri[]> callback,
|
||||
FileChooserParams params) {
|
||||
Util.Companion.checkPermissions(mWebView.getContext(),
|
||||
Util.Companion.checkPermissions((BaseActivity) (mWebView.getContext()),
|
||||
new Util.RequestPermissionCallback() {
|
||||
@Override
|
||||
public void onRequestPermissionSuccess() {
|
||||
|
||||
@@ -73,6 +73,14 @@
|
||||
android:text="@string/txt_led_setting"
|
||||
android:textSize="@dimen/textSize14"
|
||||
app:typeface="@string/roboto_regular_font" />
|
||||
<com.abbidot.tracker.widget.TypefaceTextView
|
||||
style="@style/my_TextView_style_v2"
|
||||
android:layout_marginTop="@dimen/dp_8"
|
||||
android:drawableStart="@drawable/icon_permission_error_check_svg"
|
||||
android:drawablePadding="@dimen/dp_8"
|
||||
android:text="@string/txt_auto_renew_cancel"
|
||||
android:textSize="@dimen/textSize14"
|
||||
app:typeface="@string/roboto_regular_font" />
|
||||
|
||||
<com.abbidot.tracker.widget.TypefaceTextView
|
||||
style="@style/my_TextView_style_v2"
|
||||
|
||||
@@ -1078,5 +1078,6 @@
|
||||
<string name="map_baidu_map">Baidu Map</string>
|
||||
<string name="txt_time_line">Timeline</string>
|
||||
<string name="txt_phone_close_device">Keep phone close to device</string>
|
||||
<string name="txt_auto_renew_cancel">Auto-Renew: Cancel</string>
|
||||
|
||||
</resources>
|
||||
Reference in New Issue
Block a user