Merge pull request #314 from cyb3rko/fix-permission-blocking

Fix blocking permission requests
This commit is contained in:
Jannis Mattheis
2023-10-03 12:47:49 +00:00
committed by GitHub
2 changed files with 9 additions and 3 deletions

View File

@@ -74,7 +74,7 @@ dependencies {
implementation 'androidx.vectordrawable:vectordrawable:1.1.0'
implementation 'androidx.preference:preference-ktx:1.2.0'
implementation 'com.github.cyb3rko:QuickPermissions-Kotlin:1.0.2'
implementation 'com.github.cyb3rko:QuickPermissions-Kotlin:1.1.2'
implementation 'com.hypertrack:hyperlog:0.0.10'
implementation 'com.squareup.picasso:picasso:2.71828'
implementation 'io.noties.markwon:core:4.6.2'

View File

@@ -85,6 +85,7 @@ internal class InitializationActivity : AppCompatActivity() {
if (manager?.canScheduleExactAlarms() == true) {
tryAuthenticate()
} else {
stopSlashScreen()
alarmDialog()
}
}
@@ -108,8 +109,7 @@ internal class InitializationActivity : AppCompatActivity() {
}
private fun failed(exception: ApiException) {
splashScreenActive = false
setContentView(R.layout.splash)
stopSlashScreen()
when (exception.code) {
0 -> {
dialog(getString(R.string.not_available, settings.url))
@@ -195,6 +195,7 @@ internal class InitializationActivity : AppCompatActivity() {
val quickPermissionsOption = QuickPermissionsOptions(
handleRationale = true,
handlePermanentlyDenied = true,
preRationaleAction = { stopSlashScreen() },
rationaleMethod = { req -> processPermissionRationale(req) },
permissionsDeniedMethod = { req -> processPermissionRationale(req) },
permanentDeniedMethod = { req -> processPermissionsPermanentDenied(req) }
@@ -210,6 +211,11 @@ internal class InitializationActivity : AppCompatActivity() {
}
}
private fun stopSlashScreen() {
splashScreenActive = false
setContentView(R.layout.splash)
}
private fun processPermissionRationale(req: QuickPermissionsRequest) {
MaterialAlertDialogBuilder(this)
.setMessage(getString(R.string.permissions_notification_denied_temp))