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()
}
}