package com.yidianling.muse.utils
import android.app.Activity
import android.content.Context
import android.content.Intent
import android.net.Uri
import android.os.Build
import android.provider.Settings
object MeditationFloatPermissionUtil {
const val REQUEST_FLOAT_CODE=1001
private fun commonROMPermissionCheck(context: Context?):Boolean {
var result = true
if (Build.VERSION.SDK_INT >= 23){
try {
val clazz:Class<*> = Settings::class.java
val canDrawOverlays = clazz.getDeclaredMethod("canDrawOverlays",Context::class.java)
result = canDrawOverlays.invoke(null, context) as Boolean
}catch (e:Exception){
}
}
return result
}
fun checkSuspendedWindowPermission(context: Activity,block:() -> Unit){
if(commonROMPermissionCheck(context)){
block
}else{
context.startActivityForResult(Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION).apply {
data = Uri.parse("package:${context.packageName}")
}, REQUEST_FLOAT_CODE)
}
}
}