[6.2.0]
[xiaozhi] [权限转移到 mogo]
This commit is contained in:
@@ -1,11 +1,14 @@
|
||||
package com.mogo.eagle.core.function.main
|
||||
|
||||
import android.Manifest
|
||||
import android.content.Intent
|
||||
import android.content.pm.PackageManager
|
||||
import android.net.Uri
|
||||
import android.os.Bundle
|
||||
import android.provider.Settings
|
||||
import android.view.*
|
||||
import android.view.Gravity
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.FrameLayout
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import com.kwai.koom.base.MonitorManager.addMonitorConfig
|
||||
@@ -38,6 +41,7 @@ import com.mogo.eagle.core.function.hmi.ui.widget.StatusBarView
|
||||
import com.mogo.eagle.core.function.main.modules.MogoModulesManager
|
||||
import com.mogo.eagle.core.function.main.windowview.FloatingViewHandler
|
||||
import com.mogo.eagle.core.utilcode.mogo.AppLaunchTimeUtils
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.i
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
@@ -49,7 +53,8 @@ import com.mogo.map.listener.IMogoMapListener
|
||||
import com.mogo.map.listener.MogoMapListenerHandler.Companion.mogoMapListenerHandler
|
||||
import com.mogo.map.uicontroller.EnumMapUI
|
||||
import com.zhjt.service.chain.ChainLog
|
||||
import kotlinx.android.synthetic.main.module_main_activity_main.*
|
||||
import kotlinx.android.synthetic.main.module_main_activity_main.module_main_id_cover_up
|
||||
import kotlinx.android.synthetic.main.module_main_activity_main.rvConnectInfo
|
||||
import java.io.File
|
||||
|
||||
|
||||
@@ -378,10 +383,32 @@ open class MainActivity : MvpActivity<MainView?, MainPresenter?>(), MainView,
|
||||
if (requestCode == MainPresenter.MOGO_PERMISSION_REQUEST_CODE) {
|
||||
var isAllGranted = true
|
||||
// 判断是否所有的权限都已经授予了
|
||||
for (grant in grantResults) {
|
||||
val reasong = StringBuffer()
|
||||
grantResults.forEachIndexed { index, grant ->
|
||||
if (grant != PackageManager.PERMISSION_GRANTED) {
|
||||
isAllGranted = false
|
||||
break
|
||||
when (permissions[index]) {
|
||||
Manifest.permission.RECORD_AUDIO -> {
|
||||
reasong.append("录音机、")
|
||||
}
|
||||
Manifest.permission.BLUETOOTH -> {
|
||||
reasong.append("蓝牙、")
|
||||
}
|
||||
Manifest.permission.READ_EXTERNAL_STORAGE -> {
|
||||
reasong.append("读取外部文件、")
|
||||
}
|
||||
Manifest.permission.WRITE_EXTERNAL_STORAGE -> {
|
||||
reasong.append("写入外部文件、")
|
||||
}
|
||||
Manifest.permission.ACCESS_LOCATION_EXTRA_COMMANDS,
|
||||
Manifest.permission.ACCESS_FINE_LOCATION,
|
||||
Manifest.permission.ACCESS_COARSE_LOCATION -> {
|
||||
if(!reasong.contains("定位")){
|
||||
reasong.append("定位、")
|
||||
}
|
||||
}
|
||||
else -> {}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (isAllGranted) {
|
||||
@@ -389,7 +416,12 @@ open class MainActivity : MvpActivity<MainView?, MainPresenter?>(), MainView,
|
||||
} else {
|
||||
// 弹出对话框告诉用户需要权限的原因, 并引导用户去应用权限管理中手动打开权限按钮
|
||||
if (!isFirst) {
|
||||
PermissionsDialogUtils.openAppDetails(this, null, REQUEST_CODE_DIALOG)
|
||||
if (reasong.isNotEmpty()) {
|
||||
val substring = reasong.substring(0, reasong.length - 2)
|
||||
PermissionsDialogUtils.openAppDetails(this, substring, REQUEST_CODE_DIALOG)
|
||||
}else {
|
||||
PermissionsDialogUtils.openAppDetails(this, null, REQUEST_CODE_DIALOG)
|
||||
}
|
||||
isFirst = true
|
||||
}
|
||||
}
|
||||
|
||||
@@ -77,7 +77,8 @@ public class MainPresenter extends Presenter<MainView> {
|
||||
Manifest.permission.READ_EXTERNAL_STORAGE,
|
||||
Manifest.permission.WRITE_EXTERNAL_STORAGE,
|
||||
Manifest.permission.ACCESS_LOCATION_EXTRA_COMMANDS,
|
||||
Manifest.permission.ACCESS_FINE_LOCATION
|
||||
Manifest.permission.ACCESS_FINE_LOCATION,
|
||||
Manifest.permission.ACCESS_COARSE_LOCATION,
|
||||
}, MOGO_PERMISSION_REQUEST_CODE);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user