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

Properly manage permissions settings visibility

parent c2768e69
No related branches found
No related tags found
1 merge request!2011Fine storage permissions
......@@ -43,6 +43,7 @@ import org.videolan.vlc.gui.PinCodeActivity
import org.videolan.vlc.gui.PinCodeReason
import org.videolan.vlc.gui.SecondaryActivity
import org.videolan.vlc.gui.dialogs.ConfirmAudioPlayQueueDialog
import org.videolan.vlc.gui.dialogs.PermissionListDialog
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
class PreferencesFragment : BasePreferenceFragment(), SharedPreferences.OnSharedPreferenceChangeListener {
......@@ -57,6 +58,7 @@ class PreferencesFragment : BasePreferenceFragment(), SharedPreferences.OnShared
findPreference<Preference>("casting_category")?.isVisible = false
findPreference<Preference>(KEY_VIDEO_APP_SWITCH)?.isVisible = AndroidDevices.hasPiP
findPreference<Preference>("remote_access_category")?.isVisible = Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1
findPreference<Preference>("permissions_title")?.isVisible = Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1
}
override fun onStart() {
......@@ -138,6 +140,10 @@ class PreferencesFragment : BasePreferenceFragment(), SharedPreferences.OnShared
activity?.setResult(RESULT_RESTART)
return true
}
"permissions" -> {
PermissionListDialog.newInstance().show((activity as FragmentActivity).supportFragmentManager, "PermissionListDialog")
return true
}
else -> super.onPreferenceTreeClick(preference)
}
}
......
......@@ -50,7 +50,8 @@
android:summary="%s"
android:title="@string/metered_connection"/>
</PreferenceCategory>
<PreferenceCategory android:title="@string/permissions">
<PreferenceCategory android:title="@string/permissions"
android:key="permissions_title">
<PreferenceScreen
android:key="permissions"
android:summary="@string/permissions_summary"
......
......@@ -38,6 +38,7 @@ import androidx.core.content.ContextCompat
import androidx.lifecycle.lifecycleScope
import com.google.android.material.bottomsheet.BottomSheetBehavior.STATE_EXPANDED
import kotlinx.coroutines.launch
import org.videolan.resources.AndroidDevices
import org.videolan.resources.SCHEME_PACKAGE
import org.videolan.tools.dp
import org.videolan.tools.setGone
......@@ -196,7 +197,7 @@ class PermissionListDialog : VLCBottomSheetDialogFragment() {
binding.manageMediaPermsCheck.background = ContextCompat.getDrawable(requireActivity(), R.drawable.rounded_corners_permissions_warning)
showWarning()
} else
if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.R) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) {
if (!Permissions.hasAllAccess(requireActivity())) {
Permissions.checkReadStoragePermission(
requireActivity(),
......@@ -256,7 +257,7 @@ class PermissionListDialog : VLCBottomSheetDialogFragment() {
}
//Manage view visibility for older versions
if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.R) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R || AndroidDevices.isTv) {
binding.manageMediaPermsCheck.setGone()
binding.manageMediaVideo.setGone()
binding.manageMediaAudio.setGone()
......
......@@ -89,6 +89,7 @@ class PreferencesFragment : BasePreferenceFragment(), SharedPreferences.OnShared
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
findPreference<Preference>("remote_access_category")?.isVisible = Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1
findPreference<Preference>("permissions_title")?.isVisible = Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
......
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