Merge "Fix Wi-Fi "Network usage" and "Privacy" drop down" into tm-dev

This commit is contained in:
Chaohui Wang
2022-05-09 08:02:58 +00:00
committed by Android (Google) Code Review
3 changed files with 19 additions and 20 deletions

View File

@@ -58,14 +58,14 @@
android:title="@string/wifi_security" android:title="@string/wifi_security"
android:selectable="false"/> android:selectable="false"/>
<DropDownPreference <ListPreference
android:key="metered" android:key="metered"
android:icon="@drawable/ic_attach_money_black_24dp" android:icon="@drawable/ic_attach_money_black_24dp"
android:title="@string/wifi_metered_title" android:title="@string/wifi_metered_title"
android:entries="@array/wifi_metered_entries" android:entries="@array/wifi_metered_entries"
android:entryValues="@array/wifi_metered_values"/> android:entryValues="@array/wifi_metered_values"/>
<DropDownPreference <ListPreference
android:key="privacy" android:key="privacy"
android:icon="@drawable/ic_wifi_privacy_24dp" android:icon="@drawable/ic_wifi_privacy_24dp"
android:title="@string/wifi_privacy_settings" android:title="@string/wifi_privacy_settings"

View File

@@ -21,7 +21,7 @@ import android.content.Context;
import android.net.wifi.WifiConfiguration; import android.net.wifi.WifiConfiguration;
import androidx.annotation.VisibleForTesting; import androidx.annotation.VisibleForTesting;
import androidx.preference.DropDownPreference; import androidx.preference.ListPreference;
import androidx.preference.Preference; import androidx.preference.Preference;
import androidx.preference.PreferenceScreen; import androidx.preference.PreferenceScreen;
@@ -30,13 +30,13 @@ import com.android.settings.wifi.WifiDialog2;
import com.android.wifitrackerlib.WifiEntry; import com.android.wifitrackerlib.WifiEntry;
/** /**
* {@link AbstractPreferenceController} that controls whether the wifi network is metered or not * A controller that controls whether the Wi-Fi network is metered or not.
*/ */
public class WifiMeteredPreferenceController2 extends BasePreferenceController implements public class WifiMeteredPreferenceController2 extends BasePreferenceController implements
Preference.OnPreferenceChangeListener, WifiDialog2.WifiDialog2Listener { Preference.OnPreferenceChangeListener, WifiDialog2.WifiDialog2Listener {
private static final String KEY_WIFI_METERED = "metered"; private static final String KEY_WIFI_METERED = "metered";
private WifiEntry mWifiEntry; private final WifiEntry mWifiEntry;
private Preference mPreference; private Preference mPreference;
public WifiMeteredPreferenceController2(Context context, WifiEntry wifiEntry) { public WifiMeteredPreferenceController2(Context context, WifiEntry wifiEntry) {
@@ -46,11 +46,11 @@ public class WifiMeteredPreferenceController2 extends BasePreferenceController i
@Override @Override
public void updateState(Preference preference) { public void updateState(Preference preference) {
final DropDownPreference dropDownPreference = (DropDownPreference) preference; final ListPreference listPreference = (ListPreference) preference;
final int meteredOverride = getMeteredOverride(); final int meteredOverride = getMeteredOverride();
preference.setSelectable(mWifiEntry.canSetMeteredChoice()); preference.setSelectable(mWifiEntry.canSetMeteredChoice());
dropDownPreference.setValue(Integer.toString(meteredOverride)); listPreference.setValue(Integer.toString(meteredOverride));
updateSummary(dropDownPreference, meteredOverride); updateSummary(listPreference, meteredOverride);
} }
@Override @Override
@@ -66,7 +66,7 @@ public class WifiMeteredPreferenceController2 extends BasePreferenceController i
// Stage the backup of the SettingsProvider package which backs this up // Stage the backup of the SettingsProvider package which backs this up
BackupManager.dataChanged("com.android.providers.settings"); BackupManager.dataChanged("com.android.providers.settings");
updateSummary((DropDownPreference) preference, getMeteredOverride()); updateSummary((ListPreference) preference, getMeteredOverride());
return true; return true;
} }
@@ -79,7 +79,7 @@ public class WifiMeteredPreferenceController2 extends BasePreferenceController i
return WifiEntry.METERED_CHOICE_AUTO; return WifiEntry.METERED_CHOICE_AUTO;
} }
private void updateSummary(DropDownPreference preference, int meteredOverride) { private void updateSummary(ListPreference preference, int meteredOverride) {
preference.setSummary(preference.getEntries()[meteredOverride]); preference.setSummary(preference.getEntries()[meteredOverride]);
} }

View File

@@ -21,7 +21,7 @@ import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiManager; import android.net.wifi.WifiManager;
import androidx.annotation.VisibleForTesting; import androidx.annotation.VisibleForTesting;
import androidx.preference.DropDownPreference; import androidx.preference.ListPreference;
import androidx.preference.Preference; import androidx.preference.Preference;
import androidx.preference.PreferenceScreen; import androidx.preference.PreferenceScreen;
@@ -31,14 +31,13 @@ import com.android.settings.wifi.WifiDialog2;
import com.android.wifitrackerlib.WifiEntry; import com.android.wifitrackerlib.WifiEntry;
/** /**
* {@link AbstractPreferenceController} that controls whether the wifi network is mac randomized * A controller that controls whether the Wi-Fi network is mac randomized or not.
* or not
*/ */
public class WifiPrivacyPreferenceController2 extends BasePreferenceController implements public class WifiPrivacyPreferenceController2 extends BasePreferenceController implements
Preference.OnPreferenceChangeListener, WifiDialog2.WifiDialog2Listener { Preference.OnPreferenceChangeListener, WifiDialog2.WifiDialog2Listener {
private static final String KEY_WIFI_PRIVACY = "privacy"; private static final String KEY_WIFI_PRIVACY = "privacy";
private WifiManager mWifiManager; private final WifiManager mWifiManager;
private WifiEntry mWifiEntry; private WifiEntry mWifiEntry;
private Preference mPreference; private Preference mPreference;
@@ -66,16 +65,16 @@ public class WifiPrivacyPreferenceController2 extends BasePreferenceController i
@Override @Override
public void updateState(Preference preference) { public void updateState(Preference preference) {
final DropDownPreference dropDownPreference = (DropDownPreference) preference; final ListPreference listPreference = (ListPreference) preference;
final int randomizationLevel = getRandomizationValue(); final int randomizationLevel = getRandomizationValue();
final boolean isSelectable = mWifiEntry.canSetPrivacy(); final boolean isSelectable = mWifiEntry.canSetPrivacy();
preference.setSelectable(isSelectable); preference.setSelectable(isSelectable);
dropDownPreference.setValue(Integer.toString(randomizationLevel)); listPreference.setValue(Integer.toString(randomizationLevel));
updateSummary(dropDownPreference, randomizationLevel); updateSummary(listPreference, randomizationLevel);
// If the preference cannot be selectable, display a temporary network in the summary. // If the preference cannot be selectable, display a temporary network in the summary.
if (!isSelectable) { if (!isSelectable) {
dropDownPreference.setSummary(R.string.wifi_privacy_settings_ephemeral_summary); listPreference.setSummary(R.string.wifi_privacy_settings_ephemeral_summary);
} }
} }
@@ -90,7 +89,7 @@ public class WifiPrivacyPreferenceController2 extends BasePreferenceController i
mWifiEntry.disconnect(null /* callback */); mWifiEntry.disconnect(null /* callback */);
mWifiEntry.connect(null /* callback */); mWifiEntry.connect(null /* callback */);
} }
updateSummary((DropDownPreference) preference, privacy); updateSummary((ListPreference) preference, privacy);
return true; return true;
} }
@@ -124,7 +123,7 @@ public class WifiPrivacyPreferenceController2 extends BasePreferenceController i
? WifiEntry.PRIVACY_RANDOMIZED_MAC : WifiEntry.PRIVACY_DEVICE_MAC; ? WifiEntry.PRIVACY_RANDOMIZED_MAC : WifiEntry.PRIVACY_DEVICE_MAC;
} }
private void updateSummary(DropDownPreference preference, int macRandomized) { private void updateSummary(ListPreference preference, int macRandomized) {
// Translates value here to set RANDOMIZATION_PERSISTENT as first item in UI for better UX. // Translates value here to set RANDOMIZATION_PERSISTENT as first item in UI for better UX.
final int prefMacRandomized = translateMacRandomizedValueToPrefValue(macRandomized); final int prefMacRandomized = translateMacRandomizedValueToPrefValue(macRandomized);
preference.setSummary(preference.getEntries()[prefMacRandomized]); preference.setSummary(preference.getEntries()[prefMacRandomized]);