2016-12-13 04:06:07 +01:00
|
|
|
package org.mariotaku.ktextension
|
|
|
|
|
2017-04-27 08:53:06 +02:00
|
|
|
import android.content.BroadcastReceiver
|
2016-12-13 04:06:07 +01:00
|
|
|
import android.content.Context
|
|
|
|
import android.content.pm.PackageManager
|
2020-01-26 08:35:15 +01:00
|
|
|
import androidx.core.content.ContextCompat
|
2017-10-09 07:30:25 +02:00
|
|
|
import java.io.File
|
2016-12-13 04:06:07 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Created by mariotaku on 2016/12/13.
|
|
|
|
*/
|
|
|
|
|
|
|
|
fun Context.checkAllSelfPermissionsGranted(vararg permissions: String): Boolean {
|
|
|
|
return permissions.none { ContextCompat.checkSelfPermission(this, it) != PackageManager.PERMISSION_GRANTED }
|
|
|
|
}
|
|
|
|
|
|
|
|
fun Context.checkAnySelfPermissionsGranted(vararg permissions: String): Boolean {
|
|
|
|
return permissions.any { ContextCompat.checkSelfPermission(this, it) == PackageManager.PERMISSION_GRANTED }
|
|
|
|
}
|
2017-04-27 08:53:06 +02:00
|
|
|
|
|
|
|
fun Context.unregisterReceiverSafe(receiver: BroadcastReceiver?): Boolean {
|
|
|
|
if (receiver == null) return false
|
2020-06-08 23:19:10 +02:00
|
|
|
return try {
|
2017-04-27 08:53:06 +02:00
|
|
|
unregisterReceiver(receiver)
|
2020-06-08 23:19:10 +02:00
|
|
|
true
|
2017-04-27 08:53:06 +02:00
|
|
|
} catch (e: IllegalArgumentException) {
|
2020-06-08 23:19:10 +02:00
|
|
|
false
|
2017-04-27 08:53:06 +02:00
|
|
|
}
|
2017-10-09 07:30:25 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
val Context.preferExternalCacheDir: File
|
|
|
|
get() = externalCacheDir ?: cacheDir
|