diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000..988ef4c --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +zhongjian \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index dcb9e42..44777c3 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -416,12 +416,6 @@ - - diff --git a/app/src/main/java/com/zj365/dc/activity/DeviceActiveAct.kt b/app/src/main/java/com/zj365/dc/activity/DeviceActiveAct.kt index 837ef52..d4e4c6e 100644 --- a/app/src/main/java/com/zj365/dc/activity/DeviceActiveAct.kt +++ b/app/src/main/java/com/zj365/dc/activity/DeviceActiveAct.kt @@ -1,5 +1,6 @@ package com.zj365.dc.activity +import android.Manifest import android.annotation.SuppressLint import android.content.Intent import android.graphics.Color @@ -29,12 +30,10 @@ import com.xty.common.event.BluetoothEvent import com.xty.common.event.MyInfoEvent import com.xty.common.util.CommonToastUtils import com.xty.common.util.CommonUtils -import com.xty.common.util.PermissionUtils import com.xty.common.xqr_code.XQRCodeAct import com.xuexiang.xqrcode.XQRCode -import com.yanzhenjie.permission.runtime.Permission import com.zj365.dc.databinding.ActDeviceActiveBinding import com.zj365.dc.model.ScanInfoBean import com.zj365.dc.vm.BasicInfoVm @@ -44,6 +43,7 @@ import com.zj365.mime.weight.NoticeSettingDialog import org.greenrobot.eventbus.EventBus import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.ThreadMode +import pub.devrel.easypermissions.EasyPermissions /** * @@ -240,15 +240,28 @@ class DeviceActiveAct : BaseVmAct() { * 扫码 */ private fun startScan() { - PermissionUtils.requestPermission(this, - { - XQRCodeAct.start( - this@DeviceActiveAct, - XQRCodeAct.QRCODE_AGREEMENT, - com.zj365.health.R.style.XQRCodeTheme_Custom - ) - }, Permission.CAMERA) + if(EasyPermissions.hasPermissions(this, + Manifest.permission.CAMERA)){ + XQRCodeAct.start( + this@DeviceActiveAct, + XQRCodeAct.QRCODE_AGREEMENT, + com.zj365.health.R.style.XQRCodeTheme_Custom + ) + }else{ + EasyPermissions.requestPermissions(this,"", + 0x00011, + Manifest.permission.CAMERA) + } + + } + override fun onSuccess(requestCode: Int) { + super.onSuccess(requestCode) + XQRCodeAct.start( + this@DeviceActiveAct, + XQRCodeAct.QRCODE_AGREEMENT, + com.zj365.health.R.style.XQRCodeTheme_Custom + ) } /** diff --git a/app/src/main/java/com/zj365/dc/activity/OneKeyBinderDeviceAct.kt b/app/src/main/java/com/zj365/dc/activity/OneKeyBinderDeviceAct.kt index 4597ea8..888806d 100644 --- a/app/src/main/java/com/zj365/dc/activity/OneKeyBinderDeviceAct.kt +++ b/app/src/main/java/com/zj365/dc/activity/OneKeyBinderDeviceAct.kt @@ -1,5 +1,6 @@ package com.zj365.dc.activity +import android.Manifest import android.content.Intent import android.view.View import com.alibaba.android.arouter.facade.annotation.Route @@ -10,15 +11,14 @@ import com.xty.common.LogUtils import com.xty.common.arouter.ARouterUrl import com.xty.common.event.BindDevEvent import com.xty.common.util.CommonToastUtils -import com.xty.common.util.PermissionUtils import com.xty.common.xqr_code.XQRCodeAct import com.xuexiang.xqrcode.XQRCode -import com.yanzhenjie.permission.runtime.Permission import com.zj365.dc.databinding.ActBinderDeviceOneKeyBinding import com.zj365.dc.model.ScanInfoBean import com.zj365.dc.vm.OneKeyBinderDeviceVm import com.zj365.health.R import org.greenrobot.eventbus.EventBus +import pub.devrel.easypermissions.EasyPermissions @Route(path = ARouterUrl.ONE_KEY_DEVICE_ACTIVE) class OneKeyBinderDeviceAct : BaseVmAct() { @@ -54,15 +54,26 @@ class OneKeyBinderDeviceAct : BaseVmAct() { } private fun startScan() { - - PermissionUtils.requestPermission(this, - { - XQRCodeAct.start( + if(EasyPermissions.hasPermissions(this, + Manifest.permission.CAMERA)){ + XQRCodeAct.start( this@OneKeyBinderDeviceAct, XQRCodeAct.QRCODE_AGREEMENT, - com.zj365.health.R.style.XQRCodeTheme_Custom + R.style.XQRCodeTheme_Custom ) - }, Permission.CAMERA) + }else{ + EasyPermissions.requestPermissions(this,"", + 0x00011, + Manifest.permission.CAMERA) + } + } + override fun onSuccess(requestCode: Int) { + super.onSuccess(requestCode) + XQRCodeAct.start( + this@OneKeyBinderDeviceAct, + XQRCodeAct.QRCODE_AGREEMENT, + R.style.XQRCodeTheme_Custom + ) } override fun setLayout() = binding.root diff --git a/app/src/main/java/com/zj365/dc/fragment/DynamicManagementFrag.kt b/app/src/main/java/com/zj365/dc/fragment/DynamicManagementFrag.kt index bc80e12..cd3f6c2 100644 --- a/app/src/main/java/com/zj365/dc/fragment/DynamicManagementFrag.kt +++ b/app/src/main/java/com/zj365/dc/fragment/DynamicManagementFrag.kt @@ -51,7 +51,6 @@ import com.xty.common.onEventObject import com.xty.common.setImageUser import com.xty.common.util.CommonToastUtils import com.xty.common.util.CommonUtils -import com.xty.common.util.PermissionUtils import com.xty.common.weight.CenterImageSpan import com.xty.common.work.MyWorkManger import com.xty.common.xqr_code.XQRCodeAct @@ -63,16 +62,12 @@ import com.xty.network.model.HealthMonitoringListBean import com.xty.network.model.MainBean import com.xty.network.model.MessageBean import com.xty.network.model.ReportBean -import com.yanzhenjie.permission.runtime.Permission import com.zj365.dc.BuildConfig import com.zj365.dc.R -import com.zj365.dc.activity.MainActivity -import com.zj365.dc.adapter.FamilyAdapter + import com.zj365.dc.adapter.HealthMonitoringAdapter import com.zj365.dc.databinding.FragDynamicManagementBinding -import com.zj365.dc.model.DeviceInfoBean import com.zj365.dc.vm.DynamicManagementVm -import com.zj365.dc.weight.AgainSignDialog import com.zj365.health.vm.ReportVm import com.zj365.health.weight.DialogTip import kotlinx.coroutines.Dispatchers @@ -83,6 +78,7 @@ import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.ThreadMode import org.json.JSONArray import org.json.JSONObject +import pub.devrel.easypermissions.EasyPermissions import java.text.SimpleDateFormat import java.util.regex.Matcher import java.util.regex.Pattern @@ -92,7 +88,7 @@ import kotlin.math.min /** * 动态管理页面 */ -class DynamicManagementFrag : BaseVmFrag(){ +class DynamicManagementFrag : BaseVmFrag() , EasyPermissions.PermissionCallbacks{ val binding by lazy { FragDynamicManagementBinding.inflate(layoutInflater) } override fun setLayout(): View = binding.root @@ -486,19 +482,25 @@ class DynamicManagementFrag : BaseVmFrag(){ if (showIdInfo == ""){ }else{ - PermissionUtils.requestPermission(requireContext(), - { - AmapInit.startLocation(requireContext()) { - LogUtils.e("DynamicManagementFrag","${it.city}") - MMkvHelper.put(Const.LONGITUDE,it.longitude) - MMkvHelper.put(Const.LATITUDE,it.latitude) - MMkvHelper.put(Const.PROVINCE,it.province) - MMkvHelper.put(Const.CITY,it.city) - MMkvHelper.put(Const.DISTRICT,it.district) - mViewModel.getWeather() - } - }, Permission.ACCESS_COARSE_LOCATION,Permission.ACCESS_FINE_LOCATION) + if(EasyPermissions.hasPermissions(requireContext(), Manifest.permission.ACCESS_COARSE_LOCATION, + Manifest.permission.ACCESS_FINE_LOCATION)){ + AmapInit.startLocation(requireContext()) { + LogUtils.e("DynamicManagementFrag","${it.city}") + MMkvHelper.put(Const.LONGITUDE,it.longitude) + MMkvHelper.put(Const.LATITUDE,it.latitude) + MMkvHelper.put(Const.PROVINCE,it.province) + MMkvHelper.put(Const.CITY,it.city) + MMkvHelper.put(Const.DISTRICT,it.district) + mViewModel.getWeather() + + } + }else{ + + EasyPermissions.requestPermissions(this,"获取天气信息需要申请定位权限", + 0x00022, + Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION); + } } @@ -1541,4 +1543,16 @@ class DynamicManagementFrag : BaseVmFrag(){ request() uploadWhatchData() } + + override fun onPermissionsGranted(requestCode: Int, perms: MutableList) { + AmapInit.startLocation(requireContext()) { + MMkvHelper.put(Const.LONGITUDE,it.longitude) + MMkvHelper.put(Const.LATITUDE,it.latitude) + mViewModel.getWeather() + + } + } + + override fun onPermissionsDenied(requestCode: Int, perms: MutableList) { + } } \ No newline at end of file diff --git a/app/src/main/java/com/zj365/dc/fragment/MineFrag.kt b/app/src/main/java/com/zj365/dc/fragment/MineFrag.kt index 4c25135..47d74f9 100644 --- a/app/src/main/java/com/zj365/dc/fragment/MineFrag.kt +++ b/app/src/main/java/com/zj365/dc/fragment/MineFrag.kt @@ -20,10 +20,10 @@ import com.xty.common.event.MyInfoEvent import com.xty.common.util.CommonToastUtils import com.xty.common.util.CommonUtils import com.xty.common.util.PermissionUtils +import com.xty.common.xqr_code.XQRCodeAct import com.xty.network.model.InviteCustodyBean import com.xty.network.model.SettingBean -import com.yanzhenjie.permission.runtime.Permission import com.zj365.dc.BuildConfig import com.zj365.dc.activity.MainActivity import com.zj365.dc.databinding.FragMineBinding @@ -35,13 +35,14 @@ import com.zj365.mime.vm.SettingVm import org.greenrobot.eventbus.EventBus import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.ThreadMode +import pub.devrel.easypermissions.EasyPermissions /** ** 我的 */ -class MineFrag : BaseVmFrag() { +class MineFrag : BaseVmFrag() , EasyPermissions.PermissionCallbacks{ private val binding by lazy { FragMineBinding.inflate(layoutInflater) } @@ -378,11 +379,14 @@ class MineFrag : BaseVmFrag() { binding.llCustomerService.setOnClickListener { - PermissionUtils.requestPermission(requireContext(), - { - startActivity(Intent(Intent.ACTION_CALL, Uri.parse("tel:4000063365"))) - - }, Permission.CALL_PHONE) + if(EasyPermissions.hasPermissions(requireContext(), + Manifest.permission.CALL_PHONE)){ + startActivity(Intent(Intent.ACTION_CALL, Uri.parse("tel:4000063365"))) + }else{ + EasyPermissions.requestPermissions(this,"", + 0x00011, + Manifest.permission.CALL_PHONE) + } } } @@ -561,4 +565,11 @@ class MineFrag : BaseVmFrag() { binding.mImage.setImageResource(defaultIcon[0]) } + override fun onPermissionsGranted(requestCode: Int, perms: MutableList) { + startActivity(Intent(Intent.ACTION_CALL, Uri.parse("tel:4000063365"))) + } + + override fun onPermissionsDenied(requestCode: Int, perms: MutableList) { + } + } diff --git a/base/src/main/java/com/xty/base/act/BaseVmAct.kt b/base/src/main/java/com/xty/base/act/BaseVmAct.kt index 8a8ab4a..5631072 100644 --- a/base/src/main/java/com/xty/base/act/BaseVmAct.kt +++ b/base/src/main/java/com/xty/base/act/BaseVmAct.kt @@ -14,8 +14,9 @@ import com.xty.common.arouter.RouteManager import com.xty.common.event.LoginOutEvent import com.xty.common.weight.LoadingView import org.greenrobot.eventbus.EventBus +import pub.devrel.easypermissions.EasyPermissions -abstract class BaseVmAct: IBaseAct() { +abstract class BaseVmAct: IBaseAct() , EasyPermissions.PermissionCallbacks { lateinit var mViewModel:V val loadingView by lazy { LoadingView.Builder(this).setCancelable(true).cteated() } @@ -49,4 +50,11 @@ abstract class BaseVmAct: IBaseAct() { open fun deleteData(){} + open fun onSuccess(requestCode: Int) {} + override fun onPermissionsGranted(requestCode: Int, perms: MutableList) { + onSuccess(requestCode) + } + + override fun onPermissionsDenied(requestCode: Int, perms: MutableList) { + } } \ No newline at end of file diff --git a/common/build.gradle b/common/build.gradle index 46e5d21..3d533fe 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -105,6 +105,7 @@ dependencies { api 'com.google.zxing:core:3.3.3' api 'com.github.maning0303:MNZXingCode:V2.1.9' + api 'pub.devrel:easypermissions:3.0.0' api 'com.alipay.sdk:alipaysdk-android:+@aar' api 'me.chunyu.call_kit:call_kit:2.0.1' diff --git a/common/src/main/java/com/xty/common/util/PermissionUtils.java b/common/src/main/java/com/xty/common/util/PermissionUtils.java index 50d6753..c346d0d 100644 --- a/common/src/main/java/com/xty/common/util/PermissionUtils.java +++ b/common/src/main/java/com/xty/common/util/PermissionUtils.java @@ -10,39 +10,44 @@ import android.provider.Settings; import android.text.TextUtils; import com.xty.common.R; -import com.yanzhenjie.permission.AndPermission; -import com.yanzhenjie.permission.Rationale; -import com.yanzhenjie.permission.RequestExecutor; -import com.yanzhenjie.permission.runtime.Permission; + import java.util.List; -public class PermissionUtils { +import pub.devrel.easypermissions.EasyPermissions; + +public class PermissionUtils {/* public final static int REQUEST_CODE_SETTING = 103; - /** + *//** * 成功回掉 - */ + *//* public interface PermissionSuccessListener { void onSuccess(); } - /** + *//** * 失败回掉 - */ + *//* public interface PermissionFailedListener { void onFailed(); } - /** + *//** * @param context 上下文 * @param listener 成功回调 * @param permissions 单个权限 - */ + *//* @SuppressLint("WrongConstant") public static void requestPermission(final Context context, final PermissionSuccessListener listener, String... permissions) { final PermissionSetting mSetting = new PermissionSetting(context); + + if (EasyPermissions.hasPermissions(context,permissions)){ + listener.onSuccess(); + }else{ + EasyPermissions.requestPermissions(context,"", 0x00022,permissions); + } AndPermission.with(context) .runtime() .permission(permissions) @@ -61,12 +66,12 @@ public class PermissionUtils { } - /** + *//** * @param context 上下文 * @param listener 回调成功 * @param failedListener 回调失败 * @param permissions 多个权限 - */ + *//* @SuppressLint("WrongConstant") public static void requestPermission(final Context context, final PermissionSuccessListener listener, final PermissionFailedListener failedListener, String... permissions) { final PermissionSetting mSetting = new PermissionSetting(context); @@ -89,11 +94,11 @@ public class PermissionUtils { .start(); } - /** + *//** * 跳转到权限设置 * * @param activity - */ + *//* public static void toPermissionSetting(Activity activity) { if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.LOLLIPOP_MR1) { toSystemConfig(activity); @@ -107,11 +112,11 @@ public class PermissionUtils { } } - /** + *//** * 应用信息界面 * * @param activity - */ + *//* public static void toApplicationInfo(Activity activity) { Intent localIntent = new Intent(); localIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); @@ -120,11 +125,11 @@ public class PermissionUtils { activity.startActivity(localIntent); } - /** + *//** * 系统设置界面 * * @param activity - */ + *//* public static void toSystemConfig(Activity activity) { try { Intent intent = new Intent(Settings.ACTION_SETTINGS); @@ -135,9 +140,9 @@ public class PermissionUtils { } - /** + *//** * @description:默认权限设置提示dialog - **/ + **//* public final static class DefaultRationale implements Rationale> { @Override @@ -154,9 +159,9 @@ public class PermissionUtils { } } - /** + *//** * @description:权限设置dialog - **/ + **//* public final static class PermissionSetting { private final Context mContext; @@ -181,14 +186,14 @@ public class PermissionUtils { .show(); } - /** + *//** * Set permissions. - */ + *//* private void setPermission(Context context) { AndPermission.with(context) .runtime() .setting() .start(REQUEST_CODE_SETTING); } - } + }*/ } diff --git a/config.gradle b/config.gradle index e9e364c..823c8c6 100644 --- a/config.gradle +++ b/config.gradle @@ -25,17 +25,17 @@ ext { url = [ //正式环境 - /*debug_url : "https://app.zhongjian365.com/app/", + debug_url : "https://app.zhongjian365.com/app/", release_url: "https://app.zhongjian365.com/app/", h5_debug_url : "https://built.zhongjian365.com/", - h5_release_url : "https://built.zhongjian365.com/"*/ + h5_release_url : "https://built.zhongjian365.com/" //测试环境 - debug_url : "http://java01.zhongjian365.com/app/", + /* debug_url : "http://java01.zhongjian365.com/app/", release_url: "http://java01.zhongjian365.com/app/", h5_debug_url : "http://testbuilt.zhongjian365.com/", - h5_release_url : "http://testbuilt.zhongjian365.com/" + h5_release_url : "http://testbuilt.zhongjian365.com/"*/ ] @@ -169,8 +169,8 @@ ext { stream : 'com.annimon:stream:1.2.1', rxjave : 'io.reactivex.rxjava2:rxjava:2.2.8', rxandroid : 'io.reactivex.rxjava2:rxandroid:2.1.1', - permission : 'com.yanzhenjie:permission:2.0.3', - autoSize :'me.jessyan:autosize:1.2.1', +// permission : 'com.yanzhenjie:permission:2.0.3', +// autoSize :'me.jessyan:autosize:1.2.1', //seekbar seekbar : 'com.github.Jay-Goo:RangeSeekBar:v3.0.0' diff --git a/health/src/main/java/com/zj365/health/act/DuihuanmaAct.kt b/health/src/main/java/com/zj365/health/act/DuihuanmaAct.kt index 8f8efdd..bc31fd8 100644 --- a/health/src/main/java/com/zj365/health/act/DuihuanmaAct.kt +++ b/health/src/main/java/com/zj365/health/act/DuihuanmaAct.kt @@ -1,5 +1,6 @@ package com.zj365.health.act +import android.Manifest import android.content.Intent import com.alibaba.android.arouter.facade.annotation.Route import com.google.gson.Gson @@ -7,6 +8,7 @@ import com.xty.base.act.BaseVmAct import com.xty.common.LogUtils import com.xty.common.arouter.ARouterUrl import com.xty.common.arouter.RouteManager +import com.xty.common.picture.PictureUtils import com.xty.common.util.CommonToastUtils import com.xty.common.util.PermissionUtils import com.xty.common.xqr_code.XQRCodeAct @@ -15,7 +17,7 @@ import com.zj365.health.R import com.zj365.health.databinding.ActDuihuanmaBinding import com.zj365.health.vm.PayCancerVm import com.xuexiang.xqrcode.XQRCode -import com.yanzhenjie.permission.runtime.Permission +import pub.devrel.easypermissions.EasyPermissions /** * 已填问卷列表 @@ -54,13 +56,18 @@ class DuihuanmaAct : BaseVmAct() { * 扫码 */ private fun startScan() { - - PermissionUtils.requestPermission(this, - { XQRCodeAct.start( + if(EasyPermissions.hasPermissions(this, + Manifest.permission.CAMERA)){ + XQRCodeAct.start( this@DuihuanmaAct, QRCODE_AGREEMENT, R.style.XQRCodeTheme_Custom - )}, Permission.CAMERA) + ) + }else{ + EasyPermissions.requestPermissions(this,"", + 0x00011, + Manifest.permission.CAMERA) + } } private fun confirm() { @@ -121,4 +128,13 @@ class DuihuanmaAct : BaseVmAct() { } } } + + override fun onSuccess(requestCode: Int) { + super.onSuccess(requestCode) + XQRCodeAct.start( + this@DuihuanmaAct, + QRCODE_AGREEMENT, + R.style.XQRCodeTheme_Custom + ) + } } \ No newline at end of file diff --git a/health/src/main/java/com/zj365/health/act/NSuanOpenAct.kt b/health/src/main/java/com/zj365/health/act/NSuanOpenAct.kt index c360640..14ddd52 100644 --- a/health/src/main/java/com/zj365/health/act/NSuanOpenAct.kt +++ b/health/src/main/java/com/zj365/health/act/NSuanOpenAct.kt @@ -1,5 +1,6 @@ package com.zj365.health.act +import android.Manifest import android.content.Intent import android.view.View import com.alibaba.android.arouter.facade.annotation.Route @@ -17,10 +18,10 @@ import com.zj365.health.R import com.zj365.health.databinding.ActNsuanOpenBinding import com.zj365.health.vm.NSuanVm import com.xuexiang.xqrcode.XQRCode -import com.yanzhenjie.permission.runtime.Permission import org.greenrobot.eventbus.EventBus import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.ThreadMode +import pub.devrel.easypermissions.EasyPermissions /** * 尿酸开通 @@ -89,12 +90,27 @@ class NSuanOpenAct : BaseVmAct() { * 扫码 */ private fun startScan() { - PermissionUtils.requestPermission(this, - { XQRCodeAct.start( + if(EasyPermissions.hasPermissions(this, + Manifest.permission.CAMERA)){ + XQRCodeAct.start( this@NSuanOpenAct, QRCODE_AGREEMENT, R.style.XQRCodeTheme_Custom - )}, Permission.CAMERA) + ) + }else{ + EasyPermissions.requestPermissions(this,"", + 0x00011, + Manifest.permission.CAMERA) + } + } + + override fun onSuccess(requestCode: Int) { + super.onSuccess(requestCode) + XQRCodeAct.start( + this@NSuanOpenAct, + QRCODE_AGREEMENT, + R.style.XQRCodeTheme_Custom + ) } private fun confirm() { diff --git a/health/src/main/java/com/zj365/health/act/XTangOpenAct.kt b/health/src/main/java/com/zj365/health/act/XTangOpenAct.kt index f1d9cb3..86756f1 100644 --- a/health/src/main/java/com/zj365/health/act/XTangOpenAct.kt +++ b/health/src/main/java/com/zj365/health/act/XTangOpenAct.kt @@ -1,5 +1,6 @@ package com.zj365.health.act +import android.Manifest import android.content.Intent import android.view.View import com.alibaba.android.arouter.facade.annotation.Route @@ -20,8 +21,8 @@ import com.zj365.health.R import com.zj365.health.databinding.ActXtangOpenBinding import com.zj365.health.vm.XTangVm import com.xuexiang.xqrcode.XQRCode -import com.yanzhenjie.permission.runtime.Permission import org.greenrobot.eventbus.EventBus +import pub.devrel.easypermissions.EasyPermissions /** * 血糖开通 @@ -68,14 +69,27 @@ class XTangOpenAct : BaseVmAct() { * 扫码 */ private fun startScan() { - - PermissionUtils.requestPermission(this, - { XQRCodeAct.start( + if(EasyPermissions.hasPermissions(this, + Manifest.permission.CAMERA)){ + XQRCodeAct.start( this@XTangOpenAct, QRCODE_AGREEMENT, R.style.XQRCodeTheme_Custom ) - }, Permission.CAMERA) + }else{ + EasyPermissions.requestPermissions(this,"", + 0x00011, + Manifest.permission.CAMERA) + } + } + + override fun onSuccess(requestCode: Int) { + super.onSuccess(requestCode) + XQRCodeAct.start( + this@XTangOpenAct, + QRCODE_AGREEMENT, + R.style.XQRCodeTheme_Custom + ) } private val onClickListener = View.OnClickListener { diff --git a/health/src/main/java/com/zj365/health/act/binddevice/BaseDeviceBindAct.kt b/health/src/main/java/com/zj365/health/act/binddevice/BaseDeviceBindAct.kt index cb6076c..a4db4d3 100644 --- a/health/src/main/java/com/zj365/health/act/binddevice/BaseDeviceBindAct.kt +++ b/health/src/main/java/com/zj365/health/act/binddevice/BaseDeviceBindAct.kt @@ -1,5 +1,6 @@ package com.zj365.health.act.binddevice +import android.Manifest import android.content.Intent import com.google.gson.Gson import com.xty.base.act.BaseVmAct @@ -7,15 +8,14 @@ import com.xty.common.LogUtils import com.xty.common.event.BindDevEvent import com.xty.common.event.WorkManagerEvent import com.xty.common.util.CommonToastUtils -import com.xty.common.util.PermissionUtils import com.xty.common.xqr_code.XQRCodeAct import com.xty.common.xqr_code.XQRCodeAct.Companion.QRCODE_AGREEMENT import com.zj365.health.R import com.zj365.health.databinding.ActBindDeviceBinding import com.zj365.health.vm.BindDeviceVm import com.xuexiang.xqrcode.XQRCode -import com.yanzhenjie.permission.runtime.Permission import org.greenrobot.eventbus.EventBus +import pub.devrel.easypermissions.EasyPermissions open class BaseDeviceBindAct : BaseVmAct() { @@ -48,15 +48,27 @@ open class BaseDeviceBindAct : BaseVmAct() { * 扫码 */ private fun startScan() { - - PermissionUtils.requestPermission(this, - { - XQRCodeAct.start( + if(EasyPermissions.hasPermissions(this, + Manifest.permission.CAMERA)){ + XQRCodeAct.start( this@BaseDeviceBindAct, QRCODE_AGREEMENT, R.style.XQRCodeTheme_Custom ) - }, Permission.CAMERA) + }else{ + EasyPermissions.requestPermissions(this,"", + 0x00011, + Manifest.permission.CAMERA) + } + } + + override fun onSuccess(requestCode: Int) { + super.onSuccess(requestCode) + XQRCodeAct.start( + this@BaseDeviceBindAct, + QRCODE_AGREEMENT, + R.style.XQRCodeTheme_Custom + ) } override fun setLayout()= binding.root diff --git a/mine/src/main/java/com/zj365/mime/act/BaseInfoChangeAct.kt b/mine/src/main/java/com/zj365/mime/act/BaseInfoChangeAct.kt index b6200a5..262c258 100644 --- a/mine/src/main/java/com/zj365/mime/act/BaseInfoChangeAct.kt +++ b/mine/src/main/java/com/zj365/mime/act/BaseInfoChangeAct.kt @@ -37,22 +37,21 @@ import com.xty.common.setImageUser import com.xty.common.util.CommonToastUtils import com.xty.common.util.GetJsonDataUtil import com.xty.common.util.JsonBean -import com.xty.common.util.PermissionUtils import com.xty.common.weight.AreaSelectDialog -import com.yanzhenjie.permission.runtime.Permission import com.zj365.mime.R import com.zj365.mime.databinding.ActBaseInfoChangeBinding import com.zj365.mime.vm.BaseInfoVm import org.greenrobot.eventbus.EventBus import org.json.JSONArray import org.json.JSONObject +import pub.devrel.easypermissions.EasyPermissions import java.util.regex.Pattern /** * 激活信息修改 */ @Route(path = ARouterUrl.BASE_INFO_CHANGE) -class BaseInfoChangeAct : BaseVmAct() { +class BaseInfoChangeAct : BaseVmAct(){ val binding by lazy { ActBaseInfoChangeBinding.inflate(layoutInflater) } override fun setLayout() = binding.root @@ -158,8 +157,14 @@ class BaseInfoChangeAct : BaseVmAct() { binding.title.mIvBack.setOnClickListener { finish() } timeSelect.startDate?.set(1922, 0, 1) binding.mImage.setOnClickListener { - PermissionUtils.requestPermission(this, - { PictureUtils.openCamera(this@BaseInfoChangeAct) }, Permission.CAMERA) + if(EasyPermissions.hasPermissions(this, + Manifest.permission.CAMERA)){ + PictureUtils.openCamera(this@BaseInfoChangeAct) + }else{ + EasyPermissions.requestPermissions(this,"", + 0x00011, + Manifest.permission.CAMERA) + } } @@ -627,27 +632,30 @@ class BaseInfoChangeAct : BaseVmAct() { binding.mArea.text = "$open_province $open_city $open_area" }else{ + if(EasyPermissions.hasPermissions(this, Manifest.permission.ACCESS_COARSE_LOCATION, + Manifest.permission.ACCESS_FINE_LOCATION)){ + AmapInit.startLocation(this) { + LogUtils.e("DynamicManagementFrag","${it.city}") + MMkvHelper.put(Const.LONGITUDE,it.longitude) + MMkvHelper.put(Const.LATITUDE,it.latitude) + MMkvHelper.put(Const.PROVINCE,it.province) + MMkvHelper.put(Const.CITY,it.city) + MMkvHelper.put(Const.DISTRICT,it.district) + + open_province = MMkvHelper.getString(Const.PROVINCE) //表示省 + provincey = MMkvHelper.getString(Const.PROVINCE) //表示省 + open_city =MMkvHelper.getString(Const.CITY) //市 + city = MMkvHelper.getString(Const.CITY) //市 + open_area = MMkvHelper.getString(Const.DISTRICT) //区 + district = MMkvHelper.getString(Const.DISTRICT) //区 + binding.mArea.text = "$open_province $open_city $open_area" - PermissionUtils.requestPermission(this, - { - AmapInit.startLocation(this) { - LogUtils.e("DynamicManagementFrag","${it.city}") - MMkvHelper.put(Const.LONGITUDE,it.longitude) - MMkvHelper.put(Const.LATITUDE,it.latitude) - MMkvHelper.put(Const.PROVINCE,it.province) - MMkvHelper.put(Const.CITY,it.city) - MMkvHelper.put(Const.DISTRICT,it.district) - - open_province = MMkvHelper.getString(Const.PROVINCE) //表示省 - provincey = MMkvHelper.getString(Const.PROVINCE) //表示省 - open_city =MMkvHelper.getString(Const.CITY) //市 - city = MMkvHelper.getString(Const.CITY) //市 - open_area = MMkvHelper.getString(Const.DISTRICT) //区 - district = MMkvHelper.getString(Const.DISTRICT) //区 - binding.mArea.text = "$open_province $open_city $open_area" - - } - }, *Permission.Group.LOCATION) + } + }else{ + EasyPermissions.requestPermissions(this,"获取天气信息需要申请定位权限", + 0x00022, + Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION); + } } } @@ -658,4 +666,30 @@ class BaseInfoChangeAct : BaseVmAct() { super.onDestroy() } + + override fun onSuccess(requestCode: Int) { + super.onSuccess(requestCode) + if(requestCode == 0x00011){ + PictureUtils.openCamera(this@BaseInfoChangeAct) + }else{ + AmapInit.startLocation(this) { + LogUtils.e("DynamicManagementFrag","${it.city}") + MMkvHelper.put(Const.LONGITUDE,it.longitude) + MMkvHelper.put(Const.LATITUDE,it.latitude) + MMkvHelper.put(Const.PROVINCE,it.province) + MMkvHelper.put(Const.CITY,it.city) + MMkvHelper.put(Const.DISTRICT,it.district) + + open_province = MMkvHelper.getString(Const.PROVINCE) //表示省 + provincey = MMkvHelper.getString(Const.PROVINCE) //表示省 + open_city =MMkvHelper.getString(Const.CITY) //市 + city = MMkvHelper.getString(Const.CITY) //市 + open_area = MMkvHelper.getString(Const.DISTRICT) //区 + district = MMkvHelper.getString(Const.DISTRICT) //区 + binding.mArea.text = "$open_province $open_city $open_area" + + } + } + } + } \ No newline at end of file diff --git a/mine/src/main/java/com/zj365/mime/act/DevInfoAct.kt b/mine/src/main/java/com/zj365/mime/act/DevInfoAct.kt index 5c74318..810d852 100644 --- a/mine/src/main/java/com/zj365/mime/act/DevInfoAct.kt +++ b/mine/src/main/java/com/zj365/mime/act/DevInfoAct.kt @@ -27,7 +27,6 @@ import com.xty.common.setImage import com.xty.common.util.PermissionUtils import com.xty.network.MyRetrofit import com.xty.network.model.SettingBean -import com.yanzhenjie.permission.runtime.Permission import com.zj365.mime.BuildConfig import com.zj365.mime.R import com.zj365.mime.databinding.ActDevInfoBinding @@ -36,6 +35,7 @@ import com.zj365.mime.weight.FactorySettingDialog import org.greenrobot.eventbus.EventBus import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.ThreadMode +import pub.devrel.easypermissions.EasyPermissions /** @@ -107,12 +107,14 @@ class DevInfoAct : BaseVmAct() { var span = SpannableString("续期或信号问题请联系客服") span.setSpan(object : ClickableSpan() { override fun onClick(widget: View) { - - PermissionUtils.requestPermission(this@DevInfoAct, - { - startActivity(Intent(Intent.ACTION_CALL, Uri.parse("tel:4000063365"))) - - }, Permission.CALL_PHONE) + if(EasyPermissions.hasPermissions(this@DevInfoAct, + Manifest.permission.CALL_PHONE)){ + startActivity(Intent(Intent.ACTION_CALL, Uri.parse("tel:4000063365"))) + }else{ + EasyPermissions.requestPermissions(this@DevInfoAct,"", + 0x00011, + Manifest.permission.CALL_PHONE) + } } @@ -144,6 +146,11 @@ class DevInfoAct : BaseVmAct() { } + override fun onSuccess(requestCode: Int) { + super.onSuccess(requestCode) + startActivity(Intent(Intent.ACTION_CALL, Uri.parse("tel:4000063365"))) + } + override fun liveObserver() { mViewModel.unbindLive.observe(this) { user!!.bluetooth = "" diff --git a/mine/src/main/java/com/zj365/mime/act/InviteFriendsAct.kt b/mine/src/main/java/com/zj365/mime/act/InviteFriendsAct.kt index c701a04..a9e90ea 100644 --- a/mine/src/main/java/com/zj365/mime/act/InviteFriendsAct.kt +++ b/mine/src/main/java/com/zj365/mime/act/InviteFriendsAct.kt @@ -14,7 +14,6 @@ import com.xty.common.util.CommonUtils import com.xty.common.util.PermissionUtils import com.xty.common.util.ViewScreenshotUtils import com.xty.network.model.SettingBean -import com.yanzhenjie.permission.runtime.Permission import com.zj365.mime.R import com.zj365.mime.databinding.ActInviteFriendsBinding import com.zj365.mime.vm.InviteFriendsVm @@ -143,11 +142,11 @@ class InviteFriendsAct : BaseVmAct() { binding.styleOne.tvSave.setOnClickListener { mainScope.launch(Dispatchers.IO) { - PermissionUtils.requestPermission(this@InviteFriendsAct, + /* PermissionUtils.requestPermission(this@InviteFriendsAct, {ViewScreenshotUtils.viewSaveToImage( binding.styleOne.clOneSave, this@InviteFriendsAct - )}, Permission.READ_EXTERNAL_STORAGE, Permission.WRITE_EXTERNAL_STORAGE) + )}, Permission.READ_EXTERNAL_STORAGE, Permission.WRITE_EXTERNAL_STORAGE)*/ } } @@ -155,11 +154,11 @@ class InviteFriendsAct : BaseVmAct() { binding.styleTwo.tvSave.setOnClickListener { mainScope.launch(Dispatchers.IO) { - PermissionUtils.requestPermission(this@InviteFriendsAct, + /* PermissionUtils.requestPermission(this@InviteFriendsAct, {ViewScreenshotUtils.viewSaveToImage( binding.styleOne.clOneSave, this@InviteFriendsAct - )}, Permission.READ_EXTERNAL_STORAGE, Permission.WRITE_EXTERNAL_STORAGE) + )}, Permission.READ_EXTERNAL_STORAGE, Permission.WRITE_EXTERNAL_STORAGE)*/ } } diff --git a/mine/src/main/java/com/zj365/mime/act/MyOrganAct.kt b/mine/src/main/java/com/zj365/mime/act/MyOrganAct.kt index 5574ccc..6a6b7ce 100644 --- a/mine/src/main/java/com/zj365/mime/act/MyOrganAct.kt +++ b/mine/src/main/java/com/zj365/mime/act/MyOrganAct.kt @@ -18,7 +18,6 @@ import com.zj365.mime.R import com.zj365.mime.databinding.ActMyOrganBinding import com.zj365.mime.vm.MyOrganVm import com.xuexiang.xqrcode.XQRCode -import com.yanzhenjie.permission.runtime.Permission /** * 我的机构 @@ -101,12 +100,12 @@ class MyOrganAct: BaseVmAct() { } private fun startScan() { - PermissionUtils.requestPermission(this, + /* PermissionUtils.requestPermission(this, { XQRCodeAct.start( this@MyOrganAct, QRCODE_AGREEMENT, R.style.XQRCodeTheme_Custom - ) }, Permission.CAMERA) + ) }, Permission.CAMERA)*/ } override fun liveObserver() {