diff --git a/app/src/main/java/com/aurora/store/view/ui/preferences/BasePreferenceFragment.kt b/app/src/main/java/com/aurora/store/view/ui/preferences/BasePreferenceFragment.kt new file mode 100644 index 000000000..d76e53863 --- /dev/null +++ b/app/src/main/java/com/aurora/store/view/ui/preferences/BasePreferenceFragment.kt @@ -0,0 +1,21 @@ +package com.aurora.store.view.ui.preferences + +import androidx.preference.ListPreference +import androidx.preference.Preference +import androidx.preference.PreferenceFragmentCompat +import com.aurora.store.view.custom.preference.ListPreferenceMaterialDialogFragmentCompat + +abstract class BasePreferenceFragment : PreferenceFragmentCompat() { + + override fun onDisplayPreferenceDialog(preference: Preference) { + if (preference is ListPreference) { + val dialogFragment = ListPreferenceMaterialDialogFragmentCompat.newInstance(preference.getKey()) + dialogFragment.setTargetFragment(this, 0) + dialogFragment.show(parentFragmentManager, + ListPreferenceMaterialDialogFragmentCompat.PREFERENCE_DIALOG_FRAGMENT_TAG + ) + } else { + super.onDisplayPreferenceDialog(preference) + } + } +} diff --git a/app/src/main/java/com/aurora/store/view/ui/preferences/InstallationPreference.kt b/app/src/main/java/com/aurora/store/view/ui/preferences/InstallationPreference.kt index 4418c5d9f..d69f78d69 100644 --- a/app/src/main/java/com/aurora/store/view/ui/preferences/InstallationPreference.kt +++ b/app/src/main/java/com/aurora/store/view/ui/preferences/InstallationPreference.kt @@ -24,9 +24,7 @@ import android.os.Bundle import android.view.View import androidx.appcompat.widget.Toolbar import androidx.navigation.fragment.findNavController -import androidx.preference.ListPreference import androidx.preference.Preference -import androidx.preference.PreferenceFragmentCompat import com.aurora.extensions.isOAndAbove import com.aurora.extensions.runOnUiThread import com.aurora.extensions.showDialog @@ -42,15 +40,13 @@ import com.aurora.store.util.PackageUtil import com.aurora.store.util.Preferences import com.aurora.store.util.save import com.aurora.store.view.custom.preference.AuroraListPreference -import com.aurora.store.view.custom.preference.ListPreferenceMaterialDialogFragmentCompat -import com.aurora.store.view.custom.preference.ListPreferenceMaterialDialogFragmentCompat.Companion.PREFERENCE_DIALOG_FRAGMENT_TAG import com.topjohnwu.superuser.Shell import dagger.hilt.android.AndroidEntryPoint import rikka.shizuku.Shizuku import rikka.sui.Sui @AndroidEntryPoint -class InstallationPreference : PreferenceFragmentCompat() { +class InstallationPreference : BasePreferenceFragment() { private var shizukuAlive = Sui.isSui() private val shizukuAliveListener = Shizuku.OnBinderReceivedListener { @@ -78,16 +74,6 @@ class InstallationPreference : PreferenceFragmentCompat() { setPreferencesFromResource(R.xml.preferences_installation, rootKey) } - override fun onDisplayPreferenceDialog(preference: Preference) { - if (preference is ListPreference) { - val dialogFragment = ListPreferenceMaterialDialogFragmentCompat.newInstance(preference.getKey()) - dialogFragment.setTargetFragment(this, 0) - dialogFragment.show(parentFragmentManager, PREFERENCE_DIALOG_FRAGMENT_TAG) - } else { - super.onDisplayPreferenceDialog(preference) - } - } - override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) diff --git a/app/src/main/java/com/aurora/store/view/ui/preferences/NetworkPreference.kt b/app/src/main/java/com/aurora/store/view/ui/preferences/NetworkPreference.kt index a93441d1b..bd851b0f3 100644 --- a/app/src/main/java/com/aurora/store/view/ui/preferences/NetworkPreference.kt +++ b/app/src/main/java/com/aurora/store/view/ui/preferences/NetworkPreference.kt @@ -25,9 +25,7 @@ import android.view.View import androidx.appcompat.widget.Toolbar import androidx.navigation.fragment.findNavController import androidx.preference.EditTextPreference -import androidx.preference.ListPreference import androidx.preference.Preference -import androidx.preference.PreferenceFragmentCompat import androidx.preference.SwitchPreferenceCompat import com.aurora.Constants import com.aurora.extensions.runOnUiThread @@ -37,8 +35,6 @@ import com.aurora.store.data.network.HttpClient import com.aurora.store.util.CommonUtil import com.aurora.store.util.Preferences import com.aurora.store.util.save -import com.aurora.store.view.custom.preference.ListPreferenceMaterialDialogFragmentCompat -import com.aurora.store.view.custom.preference.ListPreferenceMaterialDialogFragmentCompat.Companion.PREFERENCE_DIALOG_FRAGMENT_TAG import com.google.gson.Gson import dagger.hilt.android.AndroidEntryPoint import javax.inject.Inject @@ -48,7 +44,7 @@ import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.launch @AndroidEntryPoint -class NetworkPreference : PreferenceFragmentCompat() { +class NetworkPreference : BasePreferenceFragment() { @Inject lateinit var gson: Gson @@ -124,16 +120,6 @@ class NetworkPreference : PreferenceFragmentCompat() { } } - override fun onDisplayPreferenceDialog(preference: Preference) { - if (preference is ListPreference) { - val dialogFragment = ListPreferenceMaterialDialogFragmentCompat.newInstance(preference.getKey()) - dialogFragment.setTargetFragment(this, 0) - dialogFragment.show(parentFragmentManager, PREFERENCE_DIALOG_FRAGMENT_TAG) - } else { - super.onDisplayPreferenceDialog(preference) - } - } - override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) view.findViewById(R.id.toolbar)?.apply { diff --git a/app/src/main/java/com/aurora/store/view/ui/preferences/UIPreference.kt b/app/src/main/java/com/aurora/store/view/ui/preferences/UIPreference.kt index ba0386309..7a32cb128 100644 --- a/app/src/main/java/com/aurora/store/view/ui/preferences/UIPreference.kt +++ b/app/src/main/java/com/aurora/store/view/ui/preferences/UIPreference.kt @@ -28,18 +28,15 @@ import androidx.appcompat.widget.Toolbar import androidx.navigation.fragment.findNavController import androidx.preference.ListPreference import androidx.preference.Preference -import androidx.preference.PreferenceFragmentCompat import com.aurora.extensions.isTAndAbove import com.aurora.store.R import com.aurora.store.util.Preferences import com.aurora.store.util.save -import com.aurora.store.view.custom.preference.ListPreferenceMaterialDialogFragmentCompat -import com.aurora.store.view.custom.preference.ListPreferenceMaterialDialogFragmentCompat.Companion.PREFERENCE_DIALOG_FRAGMENT_TAG import dagger.hilt.android.AndroidEntryPoint import java.util.Locale @AndroidEntryPoint -class UIPreference : PreferenceFragmentCompat() { +class UIPreference : BasePreferenceFragment() { override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { setPreferencesFromResource(R.xml.preferences_ui, rootKey) @@ -59,16 +56,6 @@ class UIPreference : PreferenceFragmentCompat() { } } - override fun onDisplayPreferenceDialog(preference: Preference) { - if (preference is ListPreference) { - val dialogFragment = ListPreferenceMaterialDialogFragmentCompat.newInstance(preference.getKey()) - dialogFragment.setTargetFragment(this, 0) - dialogFragment.show(parentFragmentManager, PREFERENCE_DIALOG_FRAGMENT_TAG) - } else { - super.onDisplayPreferenceDialog(preference) - } - } - override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) diff --git a/app/src/main/java/com/aurora/store/view/ui/preferences/UpdatesPreference.kt b/app/src/main/java/com/aurora/store/view/ui/preferences/UpdatesPreference.kt index 5c14dfd67..ce8ab4edf 100644 --- a/app/src/main/java/com/aurora/store/view/ui/preferences/UpdatesPreference.kt +++ b/app/src/main/java/com/aurora/store/view/ui/preferences/UpdatesPreference.kt @@ -24,18 +24,15 @@ import android.view.View import androidx.appcompat.widget.Toolbar import androidx.navigation.fragment.findNavController import androidx.preference.ListPreference -import androidx.preference.Preference -import androidx.preference.PreferenceFragmentCompat import androidx.preference.SeekBarPreference import com.aurora.store.R import com.aurora.store.data.work.UpdateWorker import com.aurora.store.util.Preferences.PREFERENCE_UPDATES_AUTO import com.aurora.store.util.Preferences.PREFERENCE_UPDATES_CHECK_INTERVAL -import com.aurora.store.view.custom.preference.ListPreferenceMaterialDialogFragmentCompat import dagger.hilt.android.AndroidEntryPoint @AndroidEntryPoint -class UpdatesPreference : PreferenceFragmentCompat() { +class UpdatesPreference : BasePreferenceFragment() { override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { setPreferencesFromResource(R.xml.preferences_updates, rootKey) @@ -56,20 +53,6 @@ class UpdatesPreference : PreferenceFragmentCompat() { } } - override fun onDisplayPreferenceDialog(preference: Preference) { - if (preference is ListPreference) { - val dialogFragment = - ListPreferenceMaterialDialogFragmentCompat.newInstance(preference.getKey()) - dialogFragment.setTargetFragment(this, 0) - dialogFragment.show( - parentFragmentManager, - ListPreferenceMaterialDialogFragmentCompat.PREFERENCE_DIALOG_FRAGMENT_TAG - ) - } else { - super.onDisplayPreferenceDialog(preference) - } - } - override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) view.findViewById(R.id.toolbar)?.apply {