Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7a21c9ef authored by Chaohui Wang's avatar Chaohui Wang Committed by Android (Google) Code Review
Browse files

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

parents 155df044 e0ff6f8d
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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"
+8 −8
Original line number Diff line number Diff line
@@ -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]);
    }

+9 −10
Original line number Diff line number Diff line
@@ -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]);