Browse Source

Fix UninitializedPropertyAccessException when deferredGrant is not initialized

merge-requests/1205/head
Nicolas Pomepuy 5 years ago
parent
commit
bf18f6a24c
  1. 4
      application/vlc-android/src/org/videolan/vlc/gui/helpers/hf/BaseHeadlessFragment.kt
  2. 2
      application/vlc-android/src/org/videolan/vlc/gui/helpers/hf/StoragePermissionsDelegate.kt

4
application/vlc-android/src/org/videolan/vlc/gui/helpers/hf/BaseHeadlessFragment.kt

@ -63,6 +63,10 @@ class PermissionViewmodel : ViewModel() {
val isCompleted : Boolean
get() = ::deferredGrant.isInitialized && deferredGrant.isCompleted
fun complete(value:Boolean) {
if (::deferredGrant.isInitialized) deferredGrant.complete(value)
}
fun setupDeferred() {
deferredGrant = CompletableDeferred<Boolean>().apply {
invokeOnCompletion { permissionRationaleShown = false }

2
application/vlc-android/src/org/videolan/vlc/gui/helpers/hf/StoragePermissionsDelegate.kt

@ -115,7 +115,7 @@ class StoragePermissionsDelegate : BaseHeadlessFragment() {
if(activity == null) return@registerForActivityResult
if (isGranted || isExternalStorageManager()) {
storageAccessGranted.value = true
model.deferredGrant.complete(true)
model.complete(true)
exit()
return@registerForActivityResult
}

Loading…
Cancel
Save