[Catalyst] Refine WifiHotspotSwitchPreference

NO_IFTTT=Catalyst only

Bug: 368359963
Flag: com.android.settings.flags.catalyst_tether_settings
Test: devtool
Change-Id: Ica09fe05cc4d30e1f55b4bd91996425ef951abf7
This commit is contained in:
Jacky Wang
2024-12-08 21:19:47 +08:00
parent 387753c005
commit d989dc5c36
2 changed files with 81 additions and 95 deletions

View File

@@ -20,19 +20,27 @@ import android.net.TetheringManager
import android.os.UserManager
import com.android.settings.PreferenceRestrictionMixin
import com.android.settings.R
import com.android.settings.Settings.TetherSettingsActivity
import com.android.settings.datausage.DataSaverMainSwitchPreference
import com.android.settings.flags.Flags
import com.android.settings.network.TetherPreferenceController
import com.android.settings.utils.makeLaunchIntent
import com.android.settings.wifi.tether.WifiHotspotSwitchPreference
import com.android.settingslib.TetherUtil
import com.android.settingslib.Utils
import com.android.settingslib.metadata.PreferenceAvailabilityProvider
import com.android.settingslib.metadata.PreferenceMetadata
import com.android.settingslib.metadata.PreferenceTitleProvider
import com.android.settingslib.metadata.ProvidePreferenceScreen
import com.android.settingslib.metadata.preferenceHierarchy
import com.android.settingslib.preference.PreferenceScreenCreator
@ProvidePreferenceScreen
class TetherScreen :
PreferenceScreenCreator, PreferenceAvailabilityProvider, PreferenceRestrictionMixin {
PreferenceScreenCreator,
PreferenceTitleProvider,
PreferenceAvailabilityProvider,
PreferenceRestrictionMixin {
override val key: String
get() = KEY
@@ -43,7 +51,7 @@ class TetherScreen :
override val keywords: Int
get() = R.string.keywords_hotspot_tethering
override fun getPreferenceTitle(context: Context): CharSequence? =
override fun getTitle(context: Context): CharSequence? =
if (TetherPreferenceController.isTetherConfigDisallowed(context)) {
context.getText(R.string.tether_settings_title_all)
} else {
@@ -64,9 +72,14 @@ class TetherScreen :
override fun fragmentClass() = TetherSettings::class.java
override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(this) {
+WifiHotspotSwitchPreference(context)
}
override fun getLaunchIntent(context: Context, metadata: PreferenceMetadata?) =
makeLaunchIntent(context, TetherSettingsActivity::class.java, metadata?.key)
override fun getPreferenceHierarchy(context: Context) =
preferenceHierarchy(this) {
val dataSaverStore = DataSaverMainSwitchPreference.createDataStore(context)
+WifiHotspotSwitchPreference(context, dataSaverStore)
}
companion object {
const val KEY = "tether_settings"