王鹏鹏 před 2 roky
rodič
revize
ff9b60c24d

+ 14 - 72
healthconsultation/src/main/java/com/yingyang/healthconsultation/record/ConsultationRecordActivity.kt

@@ -1,15 +1,11 @@
 package com.yingyang.healthconsultation.record
 
-import android.Manifest
 import android.annotation.SuppressLint
-import android.content.Context
 import android.os.Bundle
 import android.view.MotionEvent
 import android.view.View
 import com.alibaba.android.arouter.facade.annotation.Route
 import com.alibaba.android.arouter.launcher.ARouter
-import com.hjq.permissions.OnPermissionCallback
-import com.hjq.permissions.XXPermissions
 import com.tencent.imsdk.v2.V2TIMConversation
 import com.tencent.qcloud.tuicore.TUIConstants
 import com.tencent.qcloud.tuicore.TUICore
@@ -21,19 +17,15 @@ import com.yingyang.healthconsultation.databinding.ActivityConsultationRecordBin
 import com.yingyang.healthconsultation.entity.ConsultationRecordsBean
 import com.yingyang.healthconsultation.entity.PatientConsultationBean
 import com.yingyang.healthconsultation.entity.PurchaseConsultationBean
+import com.yingyangfly.baselib.bean.def.PermissionList
 import com.yingyangfly.baselib.config.AccountConfig
 import com.yingyangfly.baselib.db.DoctorBean
 import com.yingyangfly.baselib.dialog.EvaluateDialog
-import com.yingyangfly.baselib.dialog.TipDialogFragment
 import com.yingyangfly.baselib.dialog.TipsDialog
-import com.yingyangfly.baselib.ext.getEndAnimation
-import com.yingyangfly.baselib.ext.getScaleAnimation
-import com.yingyangfly.baselib.ext.show
-import com.yingyangfly.baselib.ext.toast
+import com.yingyangfly.baselib.ext.*
 import com.yingyangfly.baselib.mvvm.BaseMVVMActivity
 import com.yingyangfly.baselib.router.RouterUrlCommon
 import com.yingyangfly.baselib.utils.*
-import java.util.*
 
 /**
  * 问诊记录
@@ -46,14 +38,6 @@ class ConsultationRecordActivity :
     private var records = mutableListOf<ConsultationRecordsBean>()
     private val adapter by lazy { ConsultationRecordAdapter() }
 
-    // 添加存储权限的原因是 以防启动页面没有授权存储权限 相机权限,摄像头权限
-    private val cameraPermission = Arrays.asList(
-        Manifest.permission.WRITE_EXTERNAL_STORAGE,
-        Manifest.permission.READ_EXTERNAL_STORAGE,
-        Manifest.permission.CAMERA,
-        Manifest.permission.RECORD_AUDIO
-    ).toTypedArray()
-
     override fun initViews() {
         binding {
             rvRecord.adapter = adapter
@@ -70,7 +54,11 @@ class ConsultationRecordActivity :
                     }
                     "1" -> {
                         //1待接诊
-                        showTipsDialog(bean.id, position, "您确定取消咨询?医生很快就会在线回复,如果您继续取消,咨询费用1到3天原路退回您的支付账户。")
+                        showTipsDialog(
+                            bean.id,
+                            position,
+                            "您确定取消咨询?医生很快就会在线回复,如果您继续取消,咨询费用1到3天原路退回您的支付账户。"
+                        )
                     }
                     "2" -> {
                         //2接诊中
@@ -106,7 +94,7 @@ class ConsultationRecordActivity :
     /**
      * 取消订单
      */
-    private fun cancleOrder(id: String, position: Int) {
+    private fun cancelOrder(id: String, position: Int) {
         viewModel.cancelConsultation(id, fail = {
             it.toast()
         }, success = {
@@ -139,7 +127,7 @@ class ConsultationRecordActivity :
             .leftClick({
             }, true)
             .rightClick({
-                cancleOrder(id, position)
+                cancelOrder(id, position)
             }, true)
             .show(supportFragmentManager)
     }
@@ -157,9 +145,9 @@ class ConsultationRecordActivity :
      * 评价订单
      */
     private fun evaluationOrder(bean: ConsultationRecordsBean, position: Int) {
-        val diaslog = EvaluateDialog()
-        diaslog.setId(bean.id)
-        diaslog.onDialogClickListener = {
+        val evaluateDialog = EvaluateDialog()
+        evaluateDialog.setId(bean.id)
+        evaluateDialog.onDialogClickListener = {
             if (adapter.data.isNullOrEmpty().not()) {
                 if (adapter.data[position] != null) {
                     adapter.data[position].isComment = "0"
@@ -167,7 +155,7 @@ class ConsultationRecordActivity :
                 }
             }
         }
-        diaslog.show(supportFragmentManager, "EvaluateDialog")
+        evaluateDialog.show(supportFragmentManager, "evaluateDialog")
     }
 
     /**
@@ -308,54 +296,8 @@ class ConsultationRecordActivity :
      * 申请录音权限
      */
     private fun applyCameraPermission(bean: DoctorBean) {
-        if (cameraPermissionBool(mContext)) {
+        PermissionList.cameraPermission.check(this) {
             getUserSign(bean)
-        } else {
-            // 没有权限申请权限
-            XXPermissions.with(mContext)
-                .permission(cameraPermission)
-                .request(object : OnPermissionCallback {
-                    override fun onGranted(permissions: List<String>, all: Boolean) {
-                        if (all) { // 全部获取权限成功
-                            getUserSign(bean)
-                        } else { // 部分获取权限成功
-                            showTipDialog(permissions)
-                        }
-                    }
-
-                    override fun onDenied(permissions: List<String>, never: Boolean) {
-                        if (never) { // 被永久拒绝
-                            // 如果是被永久拒绝就跳转到应用权限系统设置页面
-                            XXPermissions.startPermissionActivity(mContext, permissions)
-                        } else {
-                            showTipDialog(permissions)
-                        }
-                    }
-                })
         }
     }
-
-    /**
-     * 跳转设置页面
-     */
-    private fun showTipDialog(permissions: List<String>) {
-        TipDialogFragment.TipDialogBuilder()
-            .content("当前应用缺少必要权限,请点击“设置”-“权限”-“权限管理”打开所需权限")
-            .leftBtnText("退出")
-            .rightBtnText("设置")
-            .leftClick({
-            }, dimiss = true)
-            .rightClick({
-                XXPermissions.startPermissionActivity(mContext, permissions)
-            }, dimiss = true)
-            .show(supportFragmentManager)
-    }
-
-    /**
-     * 是否有相机权限
-     * @return
-     */
-    private fun cameraPermissionBool(context: Context): Boolean {
-        return XXPermissions.isGranted(context, cameraPermission)
-    }
 }