package com.casic.endoscope.view import android.os.Bundle import com.casic.endoscope.R import com.casic.endoscope.databinding.ActivityPermissionBinding import com.casic.endoscope.utils.ProjectConstant import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.navigatePageTo import pub.devrel.easypermissions.EasyPermissions class PermissionActivity : KotlinBaseActivity<ActivityPermissionBinding>(), EasyPermissions.PermissionCallbacks { override fun initEvent() { } override fun initOnCreate(savedInstanceState: Bundle?) { if (EasyPermissions.hasPermissions(this, *ProjectConstant.USER_PERMISSIONS)) { navigatePageTo<MainActivity>() finish() } else { EasyPermissions.requestPermissions( this, resources.getString(R.string.app_name) + "需要获取必要权限", ProjectConstant.PERMISSIONS_CODE, *ProjectConstant.USER_PERMISSIONS ) } } override fun initViewBinding(): ActivityPermissionBinding { return ActivityPermissionBinding.inflate(layoutInflater) } override fun observeRequestState() { } override fun setupTopBarLayout() { ImmersionBar.with(this).statusBarDarkFont(false).init() } override fun onRequestPermissionsResult( requestCode: Int, permissions: Array<out String>, grantResults: IntArray ) { super.onRequestPermissionsResult(requestCode, permissions, grantResults) EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this) } override fun onPermissionsGranted(requestCode: Int, perms: MutableList<String>) { navigatePageTo<MainActivity>() finish() } override fun onPermissionsDenied(requestCode: Int, perms: MutableList<String>) { finish() } }