BasePreferenceFragment: Move Material3 preference logic to new fragment
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
@@ -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)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -24,9 +24,7 @@ import android.os.Bundle
|
|||||||
import android.view.View
|
import android.view.View
|
||||||
import androidx.appcompat.widget.Toolbar
|
import androidx.appcompat.widget.Toolbar
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import androidx.preference.ListPreference
|
|
||||||
import androidx.preference.Preference
|
import androidx.preference.Preference
|
||||||
import androidx.preference.PreferenceFragmentCompat
|
|
||||||
import com.aurora.extensions.isOAndAbove
|
import com.aurora.extensions.isOAndAbove
|
||||||
import com.aurora.extensions.runOnUiThread
|
import com.aurora.extensions.runOnUiThread
|
||||||
import com.aurora.extensions.showDialog
|
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.Preferences
|
||||||
import com.aurora.store.util.save
|
import com.aurora.store.util.save
|
||||||
import com.aurora.store.view.custom.preference.AuroraListPreference
|
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 com.topjohnwu.superuser.Shell
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import rikka.shizuku.Shizuku
|
import rikka.shizuku.Shizuku
|
||||||
import rikka.sui.Sui
|
import rikka.sui.Sui
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class InstallationPreference : PreferenceFragmentCompat() {
|
class InstallationPreference : BasePreferenceFragment() {
|
||||||
|
|
||||||
private var shizukuAlive = Sui.isSui()
|
private var shizukuAlive = Sui.isSui()
|
||||||
private val shizukuAliveListener = Shizuku.OnBinderReceivedListener {
|
private val shizukuAliveListener = Shizuku.OnBinderReceivedListener {
|
||||||
@@ -78,16 +74,6 @@ class InstallationPreference : PreferenceFragmentCompat() {
|
|||||||
setPreferencesFromResource(R.xml.preferences_installation, rootKey)
|
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?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
|
||||||
|
|||||||
@@ -25,9 +25,7 @@ import android.view.View
|
|||||||
import androidx.appcompat.widget.Toolbar
|
import androidx.appcompat.widget.Toolbar
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import androidx.preference.EditTextPreference
|
import androidx.preference.EditTextPreference
|
||||||
import androidx.preference.ListPreference
|
|
||||||
import androidx.preference.Preference
|
import androidx.preference.Preference
|
||||||
import androidx.preference.PreferenceFragmentCompat
|
|
||||||
import androidx.preference.SwitchPreferenceCompat
|
import androidx.preference.SwitchPreferenceCompat
|
||||||
import com.aurora.Constants
|
import com.aurora.Constants
|
||||||
import com.aurora.extensions.runOnUiThread
|
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.CommonUtil
|
||||||
import com.aurora.store.util.Preferences
|
import com.aurora.store.util.Preferences
|
||||||
import com.aurora.store.util.save
|
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 com.google.gson.Gson
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
@@ -48,7 +44,7 @@ import kotlinx.coroutines.GlobalScope
|
|||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class NetworkPreference : PreferenceFragmentCompat() {
|
class NetworkPreference : BasePreferenceFragment() {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
lateinit var gson: Gson
|
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?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
view.findViewById<Toolbar>(R.id.toolbar)?.apply {
|
view.findViewById<Toolbar>(R.id.toolbar)?.apply {
|
||||||
|
|||||||
@@ -28,18 +28,15 @@ import androidx.appcompat.widget.Toolbar
|
|||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import androidx.preference.ListPreference
|
import androidx.preference.ListPreference
|
||||||
import androidx.preference.Preference
|
import androidx.preference.Preference
|
||||||
import androidx.preference.PreferenceFragmentCompat
|
|
||||||
import com.aurora.extensions.isTAndAbove
|
import com.aurora.extensions.isTAndAbove
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.util.Preferences
|
import com.aurora.store.util.Preferences
|
||||||
import com.aurora.store.util.save
|
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 dagger.hilt.android.AndroidEntryPoint
|
||||||
import java.util.Locale
|
import java.util.Locale
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class UIPreference : PreferenceFragmentCompat() {
|
class UIPreference : BasePreferenceFragment() {
|
||||||
|
|
||||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
||||||
setPreferencesFromResource(R.xml.preferences_ui, rootKey)
|
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?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
|
||||||
|
|||||||
@@ -24,18 +24,15 @@ import android.view.View
|
|||||||
import androidx.appcompat.widget.Toolbar
|
import androidx.appcompat.widget.Toolbar
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import androidx.preference.ListPreference
|
import androidx.preference.ListPreference
|
||||||
import androidx.preference.Preference
|
|
||||||
import androidx.preference.PreferenceFragmentCompat
|
|
||||||
import androidx.preference.SeekBarPreference
|
import androidx.preference.SeekBarPreference
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.data.work.UpdateWorker
|
import com.aurora.store.data.work.UpdateWorker
|
||||||
import com.aurora.store.util.Preferences.PREFERENCE_UPDATES_AUTO
|
import com.aurora.store.util.Preferences.PREFERENCE_UPDATES_AUTO
|
||||||
import com.aurora.store.util.Preferences.PREFERENCE_UPDATES_CHECK_INTERVAL
|
import com.aurora.store.util.Preferences.PREFERENCE_UPDATES_CHECK_INTERVAL
|
||||||
import com.aurora.store.view.custom.preference.ListPreferenceMaterialDialogFragmentCompat
|
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class UpdatesPreference : PreferenceFragmentCompat() {
|
class UpdatesPreference : BasePreferenceFragment() {
|
||||||
|
|
||||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
||||||
setPreferencesFromResource(R.xml.preferences_updates, rootKey)
|
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?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
view.findViewById<Toolbar>(R.id.toolbar)?.apply {
|
view.findViewById<Toolbar>(R.id.toolbar)?.apply {
|
||||||
|
|||||||
Reference in New Issue
Block a user