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:selectable="false"/>
<DropDownPreference
<ListPreference
android:key="metered"
android:icon="@drawable/ic_attach_money_black_24dp"
android:title="@string/wifi_metered_title"
android:entries="@array/wifi_metered_entries"
android:entryValues="@array/wifi_metered_values"/>
<DropDownPreference
<ListPreference
android:key="privacy"
android:icon="@drawable/ic_wifi_privacy_24dp"
android:title="@string/wifi_privacy_settings"

View File

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

View File

@@ -21,7 +21,7 @@ import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiManager;
import androidx.annotation.VisibleForTesting;
import androidx.preference.DropDownPreference;
import androidx.preference.ListPreference;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
@@ -31,14 +31,13 @@ import com.android.settings.wifi.WifiDialog2;
import com.android.wifitrackerlib.WifiEntry;
/**
* {@link AbstractPreferenceController} that controls whether the wifi network is mac randomized
* or not
* A controller that controls whether the Wi-Fi network is mac randomized or not.
*/
public class WifiPrivacyPreferenceController2 extends BasePreferenceController implements
Preference.OnPreferenceChangeListener, WifiDialog2.WifiDialog2Listener {
private static final String KEY_WIFI_PRIVACY = "privacy";
private WifiManager mWifiManager;
private final WifiManager mWifiManager;
private WifiEntry mWifiEntry;
private Preference mPreference;
@@ -66,16 +65,16 @@ public class WifiPrivacyPreferenceController2 extends BasePreferenceController i
@Override
public void updateState(Preference preference) {
final DropDownPreference dropDownPreference = (DropDownPreference) preference;
final ListPreference listPreference = (ListPreference) preference;
final int randomizationLevel = getRandomizationValue();
final boolean isSelectable = mWifiEntry.canSetPrivacy();
preference.setSelectable(isSelectable);
dropDownPreference.setValue(Integer.toString(randomizationLevel));
updateSummary(dropDownPreference, randomizationLevel);
listPreference.setValue(Integer.toString(randomizationLevel));
updateSummary(listPreference, randomizationLevel);
// If the preference cannot be selectable, display a temporary network in the summary.
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.connect(null /* callback */);
}
updateSummary((DropDownPreference) preference, privacy);
updateSummary((ListPreference) preference, privacy);
return true;
}
@@ -124,7 +123,7 @@ public class WifiPrivacyPreferenceController2 extends BasePreferenceController i
? 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.
final int prefMacRandomized = translateMacRandomizedValueToPrefValue(macRandomized);
preference.setSummary(preference.getEntries()[prefMacRandomized]);