Skip to content
Snippets Groups Projects
Commit 0cd68422 authored by Duncan McNamara's avatar Duncan McNamara Committed by Nicolas Pomepuy
Browse files

AndroidTv: fix askStoragePermission

AskStoragePermission checks if the onboarding is done before updating
the ui after giving permission. Though onboarding on tv is based on a
different SharedPreference key KEY_TV_ONBOARDING_DONE instead of
ONBOARDING_DONE_KEY. This checks the correct onboarding key for tv
parent fa3ffc08
No related branches found
No related tags found
Loading
......@@ -46,10 +46,7 @@ import org.videolan.resources.EXTRA_UPGRADE
import org.videolan.resources.SCHEME_PACKAGE
import org.videolan.resources.util.isExternalStorageManager
import org.videolan.resources.util.startMedialibrary
import org.videolan.tools.INITIAL_PERMISSION_ASKED
import org.videolan.tools.Settings
import org.videolan.tools.isCallable
import org.videolan.tools.putSingle
import org.videolan.tools.*
import org.videolan.vlc.gui.onboarding.ONBOARDING_DONE_KEY
import org.videolan.vlc.util.FileUtils
import org.videolan.vlc.util.Permissions
......@@ -173,8 +170,15 @@ class StoragePermissionsDelegate : BaseHeadlessFragment() {
val granted = getStoragePermission(write)
val model : PermissionViewmodel by viewModels()
if (model.permissionPending) model.deferredGrant.complete(granted)
if (granted && withContext(Dispatchers.IO) { settings.getBoolean(ONBOARDING_DONE_KEY, false) })
val onboardingDone = withContext(Dispatchers.IO) {
if (AndroidDevices.isTv)
settings.getBoolean(KEY_TV_ONBOARDING_DONE, false)
else
settings.getBoolean(ONBOARDING_DONE_KEY, false)
}
if (granted && onboardingDone) {
(cb ?: getAction(this@askStoragePermission, firstRun, upgrade)).run()
}
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment