|
@@ -13,6 +13,9 @@ import com.yingyangfly.baselib.ext.setOnSingleClickListener
|
|
|
import com.yingyangfly.baselib.ext.show
|
|
|
import com.yingyangfly.baselib.ext.toast
|
|
|
import com.yingyangfly.baselib.mvvm.BaseMVVMActivity
|
|
|
+import com.yingyangfly.baselib.permissions.EsayPermissions
|
|
|
+import com.yingyangfly.baselib.permissions.OnPermission
|
|
|
+import com.yingyangfly.baselib.permissions.Permission
|
|
|
import com.yingyangfly.baselib.router.RouterUrlCommon
|
|
|
import com.yingyangfly.baselib.utils.JumpUtil
|
|
|
import com.yingyangfly.baselib.utils.User
|
|
@@ -44,6 +47,14 @@ class HomeActivity : BaseMVVMActivity<ActivityHomeBinding, HomeViewModel>() {
|
|
|
|
|
|
private var playVoice: PlayVoice? = null
|
|
|
|
|
|
+ /**
|
|
|
+ * 权限列表
|
|
|
+ */
|
|
|
+ val permissions = mutableListOf(
|
|
|
+ Permission.WRITE_EXTERNAL_STORAGE,
|
|
|
+ Permission.READ_EXTERNAL_STORAGE
|
|
|
+ )
|
|
|
+
|
|
|
override fun initViews() {
|
|
|
playVoice = PlayVoice()
|
|
|
playVoice?.setContext(this)
|
|
@@ -57,7 +68,7 @@ class HomeActivity : BaseMVVMActivity<ActivityHomeBinding, HomeViewModel>() {
|
|
|
.leftBtnText("确定")
|
|
|
.rightBtnText("取消")
|
|
|
.leftClick({
|
|
|
- jumpWebView(it)
|
|
|
+ initPermission(it)
|
|
|
null
|
|
|
}, true)
|
|
|
.rightClick({
|
|
@@ -66,7 +77,7 @@ class HomeActivity : BaseMVVMActivity<ActivityHomeBinding, HomeViewModel>() {
|
|
|
.outCancel(true)
|
|
|
.show(supportFragmentManager)
|
|
|
} else {
|
|
|
- jumpWebView(it)
|
|
|
+ initPermission(it)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -312,4 +323,45 @@ class HomeActivity : BaseMVVMActivity<ActivityHomeBinding, HomeViewModel>() {
|
|
|
"&playClass=" + bean.playClass + "&userToken=" + User.getToken()
|
|
|
JumpUtil.jumpActivityWithUrl(RouterUrlCommon.WEB_VIEW_INTERACTION_JS, str, this)
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取应用权限
|
|
|
+ */
|
|
|
+ private fun initPermission(bean: Record) {
|
|
|
+ val isHasPermission = EsayPermissions.isHasPermissions(this, permissions)
|
|
|
+ if (isHasPermission) {
|
|
|
+ jumpWebView(bean)
|
|
|
+ } else {
|
|
|
+ EsayPermissions.with(this).permission(permissions).request(object : OnPermission {
|
|
|
+ override fun noPermission(denied: MutableList<String>?, quick: Boolean) {
|
|
|
+ showPermissionTipDialog()
|
|
|
+ }
|
|
|
+
|
|
|
+ override fun hasPermission(granted: MutableList<String>?, isAll: Boolean) {
|
|
|
+ if (isAll) {
|
|
|
+ jumpWebView(bean)
|
|
|
+ } else {
|
|
|
+ showPermissionTipDialog()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 跳转设置页面
|
|
|
+ */
|
|
|
+ private fun showPermissionTipDialog() {
|
|
|
+ TipDialogFragment.TipDialogBuilder()
|
|
|
+ .content("当前应用缺少必要权限,请点击“设置”-“权限”-“权限管理”打开所需权限")
|
|
|
+ .leftBtnText("退出")
|
|
|
+ .rightBtnText("设置")
|
|
|
+ .leftClick({
|
|
|
+ }, dimiss = true)
|
|
|
+ .rightClick({
|
|
|
+ EsayPermissions.gotoPermissionSettings(mContext)
|
|
|
+ null
|
|
|
+ }, dimiss = true)
|
|
|
+ .show(supportFragmentManager)
|
|
|
+ }
|
|
|
}
|