[Catalyst] Migrate Wi-Fi Hotspot preference

Bug: 368359963
Flag: com.android.settings.flags.catalyst_tether_settings
Test: Manual testing
atest -c TetherSettingsTest \
         TetherScreenTest

Change-Id: I89d418454af7887a4892c616f4efff481b536a91
This commit is contained in:
Weng Su
2024-12-03 04:03:06 +00:00
parent cfd023dc1f
commit 6fb75678e5
6 changed files with 261 additions and 7 deletions

View File

@@ -22,6 +22,7 @@ import com.android.settings.PreferenceRestrictionMixin
import com.android.settings.R
import com.android.settings.flags.Flags
import com.android.settings.network.TetherPreferenceController
import com.android.settings.wifi.tether.WifiHotspotSwitchPreference
import com.android.settingslib.TetherUtil
import com.android.settingslib.Utils
import com.android.settingslib.metadata.PreferenceAvailabilityProvider
@@ -63,7 +64,9 @@ class TetherScreen :
override fun fragmentClass() = TetherSettings::class.java
override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(this) {}
override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(this) {
+WifiHotspotSwitchPreference(context)
}
companion object {
const val KEY = "tether_settings"

View File

@@ -203,7 +203,9 @@ public class TetherSettings extends RestrictedDashboardFragment
getPreferenceScreen().removePreference(mUsbTether);
}
mWifiTetherPreferenceController.displayPreference(getPreferenceScreen());
if (!isCatalystEnabled() && mWifiTetherPreferenceController != null) {
mWifiTetherPreferenceController.displayPreference(getPreferenceScreen());
}
if (!bluetoothAvailable) {
getPreferenceScreen().removePreference(mBluetoothTether);
@@ -223,8 +225,10 @@ public class TetherSettings extends RestrictedDashboardFragment
@VisibleForTesting
void setupViewModel() {
TetheringManagerModel model = new ViewModelProvider(this).get(TetheringManagerModel.class);
mWifiTetherPreferenceController =
new WifiTetherPreferenceController(getContext(), getSettingsLifecycle(), model);
if (!isCatalystEnabled()) {
mWifiTetherPreferenceController =
new WifiTetherPreferenceController(getContext(), getSettingsLifecycle(), model);
}
mTm = model.getTetheringManager();
model.getTetheredInterfaces().observe(this, this::onTetheredInterfacesChanged);
}
@@ -261,7 +265,9 @@ public class TetherSettings extends RestrictedDashboardFragment
@Override
public void onDataSaverChanged(boolean isDataSaving) {
mDataSaverEnabled = isDataSaving;
mWifiTetherPreferenceController.setDataSaverEnabled(mDataSaverEnabled);
if (!isCatalystEnabled()) {
mWifiTetherPreferenceController.setDataSaverEnabled(mDataSaverEnabled);
}
mUsbTether.setEnabled(!mDataSaverEnabled);
mBluetoothTether.setEnabled(!mDataSaverEnabled);
mEthernetTether.setEnabled(!mDataSaverEnabled);