Newer
Older
CasicSmartTube / app / src / main / java / com / casic / smarttube / view / PermissionActivity.kt
package com.casic.smarttube.view

import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import com.amap.api.navi.NaviSetting
import com.casic.smarttube.R
import com.casic.smarttube.utils.LocaleConstant
import com.pengxh.kt.lite.extensions.navigatePageTo
import pub.devrel.easypermissions.EasyPermissions
import pub.devrel.easypermissions.EasyPermissions.PermissionCallbacks

class PermissionActivity : AppCompatActivity(), PermissionCallbacks {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        if (EasyPermissions.hasPermissions(this, *LocaleConstant.USER_PERMISSIONS)) {
            startLoginActivity()
        } else {
            EasyPermissions.requestPermissions(
                this@PermissionActivity,
                resources.getString(R.string.app_name) + "需要获取存储相关权限",
                LocaleConstant.PERMISSIONS_CODE,
                *LocaleConstant.USER_PERMISSIONS
            )
        }
    }

    private fun startLoginActivity() {
        //先把导航隐私政策声明,后面导航会用到
        NaviSetting.updatePrivacyShow(this, true, true)
        NaviSetting.updatePrivacyAgree(this, true)
        navigatePageTo<LoginActivity>()
        finish()
    }

    override fun onRequestPermissionsResult(
        requestCode: Int, permissions: Array<String>, grantResults: IntArray
    ) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults)
        EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this)
    }

    override fun onPermissionsGranted(requestCode: Int, perms: List<String>) {
        startLoginActivity()
    }

    override fun onPermissionsDenied(requestCode: Int, perms: List<String>) {

    }
}