diff --git a/application/vlc-android/src/org/videolan/vlc/gui/dialogs/PermissionListDialog.kt b/application/vlc-android/src/org/videolan/vlc/gui/dialogs/PermissionListDialog.kt index 027ced2f4..c2f3936ab 100644 --- a/application/vlc-android/src/org/videolan/vlc/gui/dialogs/PermissionListDialog.kt +++ b/application/vlc-android/src/org/videolan/vlc/gui/dialogs/PermissionListDialog.kt @@ -35,6 +35,7 @@ import android.view.ViewGroup import android.widget.RadioButton import androidx.core.app.ActivityCompat import androidx.core.content.ContextCompat +import androidx.lifecycle.MutableLiveData import androidx.lifecycle.lifecycleScope import com.google.android.material.bottomsheet.BottomSheetBehavior.STATE_EXPANDED import kotlinx.coroutines.launch @@ -69,6 +70,7 @@ class PermissionListDialog : VLCBottomSheetDialogFragment() { } companion object { + val hasAnyPermission = MutableLiveData().apply { value = false } fun newInstance(): PermissionListDialog { return PermissionListDialog() @@ -85,6 +87,15 @@ class PermissionListDialog : VLCBottomSheetDialogFragment() { override fun initialFocusedView(): View = binding.permissionTitle + override fun onCreate(savedInstanceState: Bundle?) { + refreshPermissionLiveData() + super.onCreate(savedInstanceState) + } + + private fun refreshPermissionLiveData() { + hasAnyPermission.postValue(Permissions.hasAllAccess(requireActivity()) || Permissions.hasAnyFileFineAccess(requireActivity())) + } + override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? @@ -105,6 +116,8 @@ class PermissionListDialog : VLCBottomSheetDialogFragment() { private fun updateStorageState() { + refreshPermissionLiveData() + //Notification binding.notificationPermissionCheck.setImageDrawable(ContextCompat.getDrawable(requireActivity(), if (Permissions.canSendNotifications(requireActivity())) R.drawable.ic_permission_check_checked else R.drawable.ic_permission_check_unchecked))