Ask permissions once. Fixes #892

This commit is contained in:
inorichi
2017-08-07 11:04:27 +02:00
parent 8201b367ec
commit 17fe501a6d
3 changed files with 19 additions and 6 deletions
@@ -1,5 +1,9 @@
package eu.kanade.tachiyomi.ui.base.controller
import android.content.pm.PackageManager.PERMISSION_GRANTED
import android.os.Build
import android.support.v4.content.ContextCompat
import com.bluelinelabs.conductor.Controller
import com.bluelinelabs.conductor.Router
fun Router.popControllerWithTag(tag: String): Boolean {
@@ -9,4 +13,15 @@ fun Router.popControllerWithTag(tag: String): Boolean {
return true
}
return false
}
fun Controller.requestPermissionsSafe(permissions: Array<String>, requestCode: Int) {
val activity = activity ?: return
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
permissions.forEach { permission ->
if (ContextCompat.checkSelfPermission(activity, permission) != PERMISSION_GRANTED) {
requestPermissions(arrayOf(permission), requestCode)
}
}
}
}