mirror of
https://github.com/libre-tube/LibreTube.git
synced 2025-04-28 07:50:31 +05:30
Merge pull request #909 from Bnyro/master
add confirmation dialogs to some settings
This commit is contained in:
commit
8e4f27ef4d
@ -3,10 +3,8 @@ package com.github.libretube.preferences
|
||||
import android.os.Bundle
|
||||
import androidx.preference.Preference
|
||||
import androidx.preference.PreferenceFragmentCompat
|
||||
import androidx.preference.SwitchPreferenceCompat
|
||||
import com.github.libretube.R
|
||||
import com.github.libretube.activities.SettingsActivity
|
||||
import com.github.libretube.dialogs.RequireRestartDialog
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
|
||||
class AdvancedSettings : PreferenceFragmentCompat() {
|
||||
@ -18,13 +16,6 @@ class AdvancedSettings : PreferenceFragmentCompat() {
|
||||
val settingsActivity = activity as SettingsActivity
|
||||
settingsActivity.changeTopBarText(getString(R.string.advanced))
|
||||
|
||||
val dataSaverMode = findPreference<SwitchPreferenceCompat>(PreferenceKeys.DATA_SAVER_MODE)
|
||||
dataSaverMode?.setOnPreferenceChangeListener { _, _ ->
|
||||
val restartDialog = RequireRestartDialog()
|
||||
restartDialog.show(childFragmentManager, "RequireRestartDialog")
|
||||
true
|
||||
}
|
||||
|
||||
val resetSettings = findPreference<Preference>(PreferenceKeys.RESET_SETTINGS)
|
||||
resetSettings?.setOnPreferenceClickListener {
|
||||
showResetDialog()
|
||||
@ -34,6 +25,9 @@ class AdvancedSettings : PreferenceFragmentCompat() {
|
||||
|
||||
private fun showResetDialog() {
|
||||
MaterialAlertDialogBuilder(requireContext())
|
||||
.setTitle(R.string.reset)
|
||||
.setMessage(R.string.reset_message)
|
||||
.setNegativeButton(getString(R.string.cancel)) { _, _ -> }
|
||||
.setPositiveButton(R.string.reset) { _, _ ->
|
||||
// clear default preferences
|
||||
PreferenceHelper.clearPreferences()
|
||||
@ -41,12 +35,8 @@ class AdvancedSettings : PreferenceFragmentCompat() {
|
||||
// clear login token
|
||||
PreferenceHelper.setToken("")
|
||||
|
||||
val restartDialog = RequireRestartDialog()
|
||||
restartDialog.show(childFragmentManager, "RequireRestartDialog")
|
||||
activity?.recreate()
|
||||
}
|
||||
.setNegativeButton(getString(R.string.cancel)) { _, _ -> }
|
||||
.setTitle(R.string.reset)
|
||||
.setMessage(R.string.reset_message)
|
||||
.show()
|
||||
}
|
||||
}
|
||||
|
@ -51,13 +51,6 @@ class AppearanceSettings : PreferenceFragmentCompat() {
|
||||
true
|
||||
}
|
||||
|
||||
val gridColumns = findPreference<ListPreference>(PreferenceKeys.GRID_COLUMNS)
|
||||
gridColumns?.setOnPreferenceChangeListener { _, _ ->
|
||||
val restartDialog = RequireRestartDialog()
|
||||
restartDialog.show(childFragmentManager, "RequireRestartDialog")
|
||||
true
|
||||
}
|
||||
|
||||
val labelVisibilityMode = findPreference<ListPreference>(PreferenceKeys.LABEL_VISIBILITY)
|
||||
labelVisibilityMode?.setOnPreferenceChangeListener { _, _ ->
|
||||
val restartDialog = RequireRestartDialog()
|
||||
|
@ -2,7 +2,6 @@ package com.github.libretube.preferences
|
||||
|
||||
import android.os.Bundle
|
||||
import androidx.preference.ListPreference
|
||||
import androidx.preference.Preference
|
||||
import androidx.preference.PreferenceFragmentCompat
|
||||
import androidx.preference.SwitchPreferenceCompat
|
||||
import com.github.libretube.R
|
||||
@ -18,13 +17,6 @@ class GeneralSettings : PreferenceFragmentCompat() {
|
||||
val settingsActivity = activity as SettingsActivity
|
||||
settingsActivity.changeTopBarText(getString(R.string.general))
|
||||
|
||||
val region = findPreference<Preference>("region")
|
||||
region?.setOnPreferenceChangeListener { _, _ ->
|
||||
val restartDialog = RequireRestartDialog()
|
||||
restartDialog.show(childFragmentManager, "RequireRestartDialog")
|
||||
true
|
||||
}
|
||||
|
||||
val language = findPreference<ListPreference>("language")
|
||||
language?.setOnPreferenceChangeListener { _, _ ->
|
||||
val restartDialog = RequireRestartDialog()
|
||||
|
@ -5,6 +5,7 @@ import androidx.preference.Preference
|
||||
import androidx.preference.PreferenceFragmentCompat
|
||||
import com.github.libretube.R
|
||||
import com.github.libretube.activities.SettingsActivity
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
|
||||
class HistorySettings : PreferenceFragmentCompat() {
|
||||
|
||||
@ -17,22 +18,34 @@ class HistorySettings : PreferenceFragmentCompat() {
|
||||
// clear search history
|
||||
val clearHistory = findPreference<Preference>(PreferenceKeys.CLEAR_SEARCH_HISTORY)
|
||||
clearHistory?.setOnPreferenceClickListener {
|
||||
PreferenceHelper.removePreference("search_history")
|
||||
showClearDialog(R.string.clear_history, "search_history")
|
||||
true
|
||||
}
|
||||
|
||||
// clear watch history and positions
|
||||
val clearWatchHistory = findPreference<Preference>(PreferenceKeys.CLEAR_WATCH_HISTORY)
|
||||
clearWatchHistory?.setOnPreferenceClickListener {
|
||||
PreferenceHelper.removePreference("watch_history")
|
||||
showClearDialog(R.string.clear_history, "watch_history")
|
||||
true
|
||||
}
|
||||
|
||||
// clear watch positions
|
||||
val clearWatchPositions = findPreference<Preference>(PreferenceKeys.CLEAR_WATCH_POSITIONS)
|
||||
clearWatchPositions?.setOnPreferenceClickListener {
|
||||
PreferenceHelper.removePreference("watch_positions")
|
||||
showClearDialog(R.string.reset_watch_positions, "watch_positions")
|
||||
true
|
||||
}
|
||||
}
|
||||
|
||||
private fun showClearDialog(title: Int, preferenceKey: String) {
|
||||
MaterialAlertDialogBuilder(requireContext())
|
||||
.setTitle(title)
|
||||
.setMessage(R.string.irreversible)
|
||||
.setNegativeButton(getString(R.string.cancel)) { _, _ -> }
|
||||
.setPositiveButton(R.string.okay) { _, _ ->
|
||||
// clear the selected preference preferences
|
||||
PreferenceHelper.removePreference(preferenceKey)
|
||||
}
|
||||
.show()
|
||||
}
|
||||
}
|
||||
|
@ -21,7 +21,6 @@ import com.github.libretube.dialogs.CustomInstanceDialog
|
||||
import com.github.libretube.dialogs.DeleteAccountDialog
|
||||
import com.github.libretube.dialogs.LoginDialog
|
||||
import com.github.libretube.dialogs.LogoutDialog
|
||||
import com.github.libretube.dialogs.RequireRestartDialog
|
||||
import com.github.libretube.util.PermissionHelper
|
||||
import com.github.libretube.util.RetrofitInstance
|
||||
import org.json.JSONObject
|
||||
@ -120,14 +119,13 @@ class InstanceSettings : PreferenceFragmentCompat() {
|
||||
// fetchInstance()
|
||||
initCustomInstances(instance!!)
|
||||
instance.setOnPreferenceChangeListener { _, newValue ->
|
||||
val restartDialog = RequireRestartDialog()
|
||||
restartDialog.show(childFragmentManager, "RequireRestartDialog")
|
||||
RetrofitInstance.url = newValue.toString()
|
||||
if (!PreferenceHelper.getBoolean(PreferenceKeys.AUTH_INSTANCE_TOGGLE, false)) {
|
||||
RetrofitInstance.authUrl = newValue.toString()
|
||||
logout()
|
||||
}
|
||||
RetrofitInstance.lazyMgr.reset()
|
||||
activity?.recreate()
|
||||
true
|
||||
}
|
||||
|
||||
@ -142,8 +140,7 @@ class InstanceSettings : PreferenceFragmentCompat() {
|
||||
RetrofitInstance.authUrl = newValue.toString()
|
||||
RetrofitInstance.lazyMgr.reset()
|
||||
logout()
|
||||
val restartDialog = RequireRestartDialog()
|
||||
restartDialog.show(childFragmentManager, "RequireRestartDialog")
|
||||
activity?.recreate()
|
||||
true
|
||||
}
|
||||
|
||||
@ -155,8 +152,8 @@ class InstanceSettings : PreferenceFragmentCompat() {
|
||||
// either use new auth url or the normal api url if auth instance disabled
|
||||
RetrofitInstance.authUrl = if (newValue == false) RetrofitInstance.url
|
||||
else authInstance.value
|
||||
val restartDialog = RequireRestartDialog()
|
||||
restartDialog.show(childFragmentManager, "RequireRestartDialog")
|
||||
RetrofitInstance.lazyMgr.reset()
|
||||
activity?.recreate()
|
||||
true
|
||||
}
|
||||
|
||||
|
@ -265,4 +265,5 @@
|
||||
<string name="best_quality">Best quality</string>
|
||||
<string name="worst_quality">Worst quality</string>
|
||||
<string name="default_subtitle_language">Default subtitle language</string>
|
||||
<string name="irreversible">Are you sure? This can\'t be undone!</string>
|
||||
</resources>
|
@ -45,7 +45,7 @@
|
||||
|
||||
<Preference
|
||||
android:icon="@drawable/ic_reset"
|
||||
app:key="reset_watch_positions"
|
||||
app:key="clear_watch_positions"
|
||||
app:title="@string/reset_watch_positions" />
|
||||
|
||||
</PreferenceCategory>
|
||||
|
Loading…
x
Reference in New Issue
Block a user