|
|
@@ -1,6 +1,8 @@
|
|
|
package com.yingyang.healthconsultation.paid
|
|
|
|
|
|
+import android.Manifest
|
|
|
import android.annotation.SuppressLint
|
|
|
+import android.content.Context
|
|
|
import android.content.Intent
|
|
|
import android.os.Bundle
|
|
|
import android.text.TextUtils
|
|
|
@@ -9,6 +11,8 @@ import android.view.View
|
|
|
import androidx.recyclerview.widget.GridLayoutManager
|
|
|
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,6 +25,7 @@ import com.yingyang.healthconsultation.entity.PurchaseConsultationBean
|
|
|
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
|
|
|
@@ -31,6 +36,8 @@ import com.yingyangfly.baselib.mvvm.BaseMVVMActivity
|
|
|
import com.yingyangfly.baselib.router.RouterUrlCommon
|
|
|
import com.yingyangfly.baselib.utils.JumpUtil
|
|
|
import com.yingyangfly.baselib.utils.User
|
|
|
+import java.util.*
|
|
|
+import kotlin.collections.ArrayList
|
|
|
|
|
|
/**
|
|
|
* 已支付
|
|
|
@@ -51,6 +58,14 @@ class PaidActivity : BaseMVVMActivity<ActivityPaidBinding, PaidViewModel>(),
|
|
|
private var isConsultation: String = ""
|
|
|
private var doctor: DoctorBean? = null
|
|
|
|
|
|
+ // 添加存储权限的原因是 以防启动页面没有授权存储权限 相机权限,摄像头权限
|
|
|
+ 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 onCreate(savedInstanceState: Bundle?) {
|
|
|
id = intent.getStringExtra("id") ?: ""
|
|
|
doctorId = intent.getStringExtra("doctorId") ?: ""
|
|
|
@@ -255,7 +270,7 @@ class PaidActivity : BaseMVVMActivity<ActivityPaidBinding, PaidViewModel>(),
|
|
|
showTipsDialog(id)
|
|
|
}
|
|
|
"2" -> {
|
|
|
- getUserSign()
|
|
|
+ applyCameraPermission()
|
|
|
}
|
|
|
"4" -> {
|
|
|
evaluationOrder()
|
|
|
@@ -388,4 +403,59 @@ class PaidActivity : BaseMVVMActivity<ActivityPaidBinding, PaidViewModel>(),
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 申请录音权限
|
|
|
+ */
|
|
|
+ private fun applyCameraPermission() {
|
|
|
+ if (cameraPermissionBool(mContext)) {
|
|
|
+ getUserSign()
|
|
|
+ } else {
|
|
|
+ // 没有权限申请权限
|
|
|
+ XXPermissions.with(mContext)
|
|
|
+ .permission(cameraPermission)
|
|
|
+ .request(object : OnPermissionCallback {
|
|
|
+ override fun onGranted(permissions: List<String>, all: Boolean) {
|
|
|
+ if (all) { // 全部获取权限成功
|
|
|
+ getUserSign()
|
|
|
+ } else { // 部分获取权限成功
|
|
|
+ showTipDialog(permissions)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ override fun onDenied(permissions: List<String>, never: Boolean) {
|
|
|
+ if (never) { // 被永久拒绝
|
|
|
+ // 如果是被永久拒绝就跳转到应用权限系统设置页面
|
|
|
+ XXPermissions.startPermissionActivity(mContext, permissions)
|
|
|
+ } else {
|
|
|
+ showTipDialog(permissions)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 是否有相机权限
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private fun cameraPermissionBool(context: Context): Boolean {
|
|
|
+ return XXPermissions.isGranted(context, cameraPermission)
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 跳转设置页面
|
|
|
+ */
|
|
|
+ private fun showTipDialog(permissions: List<String>) {
|
|
|
+ TipDialogFragment.TipDialogBuilder()
|
|
|
+ .content("当前应用缺少必要权限,请点击“设置”-“权限”-“权限管理”打开所需权限")
|
|
|
+ .leftBtnText("退出")
|
|
|
+ .rightBtnText("设置")
|
|
|
+ .leftClick({
|
|
|
+ }, dimiss = true)
|
|
|
+ .rightClick({
|
|
|
+ XXPermissions.startPermissionActivity(mContext, permissions)
|
|
|
+ }, dimiss = true)
|
|
|
+ .show(supportFragmentManager)
|
|
|
+ }
|
|
|
}
|