Merge "About phone page getFactoryMacAddress"
This commit is contained in:
@@ -19,9 +19,7 @@ package com.android.settingslib.deviceinfo;
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.wifi.WifiInfo;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.provider.Settings;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
@@ -83,15 +81,13 @@ public abstract class AbstractWifiMacAddressPreferenceController
|
||||
@SuppressLint("HardwareIds")
|
||||
@Override
|
||||
protected void updateConnectivity() {
|
||||
WifiInfo wifiInfo = mWifiManager.getConnectionInfo();
|
||||
final int macRandomizationMode = Settings.Global.getInt(mContext.getContentResolver(),
|
||||
Settings.Global.WIFI_CONNECTED_MAC_RANDOMIZATION_ENABLED, OFF);
|
||||
final String macAddress = wifiInfo == null ? null : wifiInfo.getMacAddress();
|
||||
final String[] macAddresses = mWifiManager.getFactoryMacAddresses();
|
||||
String macAddress = null;
|
||||
if (macAddresses != null && macAddresses.length > 0) {
|
||||
macAddress = macAddresses[0];
|
||||
}
|
||||
|
||||
if (macRandomizationMode == ON && WifiInfo.DEFAULT_MAC_ADDRESS.equals(macAddress)) {
|
||||
mWifiMacAddress.setSummary(R.string.wifi_status_mac_randomized);
|
||||
} else if (TextUtils.isEmpty(macAddress)
|
||||
|| WifiInfo.DEFAULT_MAC_ADDRESS.equals(macAddress)) {
|
||||
if (TextUtils.isEmpty(macAddress)) {
|
||||
mWifiMacAddress.setSummary(R.string.status_unavailable);
|
||||
} else {
|
||||
mWifiMacAddress.setSummary(macAddress);
|
||||
|
||||
@@ -27,7 +27,6 @@ import android.content.Context;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.wifi.WifiInfo;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.provider.Settings;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
@@ -93,105 +92,23 @@ public class WifiMacAddressPreferenceControllerTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateConnectivity_nullWifiInfoWithMacRandomizationOff_setMacUnavailable() {
|
||||
Settings.Global.putInt(mContext.getContentResolver(),
|
||||
Settings.Global.WIFI_CONNECTED_MAC_RANDOMIZATION_ENABLED,
|
||||
AbstractWifiMacAddressPreferenceController.OFF);
|
||||
doReturn(null).when(mWifiManager).getConnectionInfo();
|
||||
|
||||
public void updateConnectivity_null_setMacUnavailable() {
|
||||
doReturn(null).when(mWifiManager).getFactoryMacAddresses();
|
||||
mController.displayPreference(mScreen);
|
||||
|
||||
assertThat(mPreference.getSummary())
|
||||
.isEqualTo(mContext.getString(R.string.status_unavailable));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateConnectivity_nullMacWithMacRandomizationOff_setMacUnavailable() {
|
||||
Settings.Global.putInt(mContext.getContentResolver(),
|
||||
Settings.Global.WIFI_CONNECTED_MAC_RANDOMIZATION_ENABLED,
|
||||
AbstractWifiMacAddressPreferenceController.OFF);
|
||||
doReturn(null).when(mWifiInfo).getMacAddress();
|
||||
|
||||
public void updateConnectivity_validMac_setValidMac() {
|
||||
final String[] macAddresses = new String[]{TEST_MAC_ADDRESS};
|
||||
doReturn(macAddresses).when(mWifiManager).getFactoryMacAddresses();
|
||||
mController.displayPreference(mScreen);
|
||||
|
||||
assertThat(mPreference.getSummary())
|
||||
.isEqualTo(mContext.getString(R.string.status_unavailable));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateConnectivity_defaultMacWithMacRandomizationOff_setMacUnavailable() {
|
||||
Settings.Global.putInt(mContext.getContentResolver(),
|
||||
Settings.Global.WIFI_CONNECTED_MAC_RANDOMIZATION_ENABLED,
|
||||
AbstractWifiMacAddressPreferenceController.OFF);
|
||||
doReturn(WifiInfo.DEFAULT_MAC_ADDRESS).when(mWifiInfo).getMacAddress();
|
||||
|
||||
mController.displayPreference(mScreen);
|
||||
|
||||
assertThat(mPreference.getSummary())
|
||||
.isEqualTo(mContext.getString(R.string.status_unavailable));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateConnectivity_validMacWithMacRandomizationOff_setValidMac() {
|
||||
Settings.Global.putInt(mContext.getContentResolver(),
|
||||
Settings.Global.WIFI_CONNECTED_MAC_RANDOMIZATION_ENABLED,
|
||||
AbstractWifiMacAddressPreferenceController.OFF);
|
||||
doReturn(TEST_MAC_ADDRESS).when(mWifiInfo).getMacAddress();
|
||||
|
||||
mController.displayPreference(mScreen);
|
||||
|
||||
assertThat(mPreference.getSummary()).isEqualTo(TEST_MAC_ADDRESS);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateConnectivity_nullWifiInfoWithMacRandomizationOn_setMacUnavailable() {
|
||||
Settings.Global.putInt(mContext.getContentResolver(),
|
||||
Settings.Global.WIFI_CONNECTED_MAC_RANDOMIZATION_ENABLED,
|
||||
AbstractWifiMacAddressPreferenceController.ON);
|
||||
doReturn(null).when(mWifiManager).getConnectionInfo();
|
||||
|
||||
mController.displayPreference(mScreen);
|
||||
|
||||
assertThat(mPreference.getSummary())
|
||||
.isEqualTo(mContext.getString(R.string.status_unavailable));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateConnectivity_nullMacWithMacRandomizationOn_setMacUnavailable() {
|
||||
Settings.Global.putInt(mContext.getContentResolver(),
|
||||
Settings.Global.WIFI_CONNECTED_MAC_RANDOMIZATION_ENABLED,
|
||||
AbstractWifiMacAddressPreferenceController.ON);
|
||||
doReturn(null).when(mWifiInfo).getMacAddress();
|
||||
|
||||
mController.displayPreference(mScreen);
|
||||
|
||||
assertThat(mPreference.getSummary())
|
||||
.isEqualTo(mContext.getString(R.string.status_unavailable));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateConnectivity_defaultMacWithMacRandomizationOn_setMacRandomized() {
|
||||
Settings.Global.putInt(mContext.getContentResolver(),
|
||||
Settings.Global.WIFI_CONNECTED_MAC_RANDOMIZATION_ENABLED,
|
||||
AbstractWifiMacAddressPreferenceController.ON);
|
||||
doReturn(WifiInfo.DEFAULT_MAC_ADDRESS).when(mWifiInfo).getMacAddress();
|
||||
|
||||
mController.displayPreference(mScreen);
|
||||
|
||||
assertThat(mPreference.getSummary())
|
||||
.isEqualTo(mContext.getString(R.string.wifi_status_mac_randomized));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateConnectivity_validMacWithMacRandomizationOn_setValidMac() {
|
||||
Settings.Global.putInt(mContext.getContentResolver(),
|
||||
Settings.Global.WIFI_CONNECTED_MAC_RANDOMIZATION_ENABLED,
|
||||
AbstractWifiMacAddressPreferenceController.ON);
|
||||
doReturn(TEST_MAC_ADDRESS).when(mWifiInfo).getMacAddress();
|
||||
|
||||
mController.displayPreference(mScreen);
|
||||
|
||||
assertThat(mPreference.getSummary()).isEqualTo(TEST_MAC_ADDRESS);
|
||||
}
|
||||
|
||||
private static class ConcreteWifiMacAddressPreferenceController
|
||||
|
||||
Reference in New Issue
Block a user