Merge "Display that MAC is randomized in About Phones" into pi-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
a6268f8c9d
@@ -1051,6 +1051,9 @@
|
|||||||
<!-- About phone, status item value if the actual value is not available. -->
|
<!-- About phone, status item value if the actual value is not available. -->
|
||||||
<string name="status_unavailable">Unavailable</string>
|
<string name="status_unavailable">Unavailable</string>
|
||||||
|
|
||||||
|
<!-- About phone, status value for MAC address when MAC randomization feature is enabled and the device is disconnected. -->
|
||||||
|
<string name="wifi_status_mac_randomized">MAC is randomized</string>
|
||||||
|
|
||||||
<!-- Summary to show how many devices are connected in wifi hotspot [CHAR LIMIT=NONE] -->
|
<!-- Summary to show how many devices are connected in wifi hotspot [CHAR LIMIT=NONE] -->
|
||||||
<plurals name="wifi_tether_connected_summary">
|
<plurals name="wifi_tether_connected_summary">
|
||||||
<item quantity="one">%1$d device connected</item>
|
<item quantity="one">%1$d device connected</item>
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import android.content.Context;
|
|||||||
import android.net.ConnectivityManager;
|
import android.net.ConnectivityManager;
|
||||||
import android.net.wifi.WifiInfo;
|
import android.net.wifi.WifiInfo;
|
||||||
import android.net.wifi.WifiManager;
|
import android.net.wifi.WifiManager;
|
||||||
|
import android.provider.Settings;
|
||||||
import android.support.annotation.VisibleForTesting;
|
import android.support.annotation.VisibleForTesting;
|
||||||
import android.support.v7.preference.Preference;
|
import android.support.v7.preference.Preference;
|
||||||
import android.support.v7.preference.PreferenceScreen;
|
import android.support.v7.preference.PreferenceScreen;
|
||||||
@@ -78,11 +79,16 @@ public abstract class AbstractWifiMacAddressPreferenceController
|
|||||||
@Override
|
@Override
|
||||||
protected void updateConnectivity() {
|
protected void updateConnectivity() {
|
||||||
WifiInfo wifiInfo = mWifiManager.getConnectionInfo();
|
WifiInfo wifiInfo = mWifiManager.getConnectionInfo();
|
||||||
String macAddress = wifiInfo == null ? null : wifiInfo.getMacAddress();
|
final int macRandomizationMode = Settings.Global.getInt(mContext.getContentResolver(),
|
||||||
if (!TextUtils.isEmpty(macAddress)) {
|
Settings.Global.WIFI_CONNECTED_MAC_RANDOMIZATION_ENABLED, 0);
|
||||||
mWifiMacAddress.setSummary(macAddress);
|
final String macAddress = wifiInfo == null ? null : wifiInfo.getMacAddress();
|
||||||
} else {
|
|
||||||
|
if (TextUtils.isEmpty(macAddress)) {
|
||||||
mWifiMacAddress.setSummary(R.string.status_unavailable);
|
mWifiMacAddress.setSummary(R.string.status_unavailable);
|
||||||
|
} else if (macRandomizationMode == 1 && WifiInfo.DEFAULT_MAC_ADDRESS.equals(macAddress)) {
|
||||||
|
mWifiMacAddress.setSummary(R.string.wifi_status_mac_randomized);
|
||||||
|
} else {
|
||||||
|
mWifiMacAddress.setSummary(macAddress);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ package com.android.settingslib.deviceinfo;
|
|||||||
import static com.google.common.truth.Truth.assertWithMessage;
|
import static com.google.common.truth.Truth.assertWithMessage;
|
||||||
import static org.mockito.Mockito.doReturn;
|
import static org.mockito.Mockito.doReturn;
|
||||||
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.mock;
|
||||||
|
import static org.mockito.Mockito.times;
|
||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
|
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
@@ -26,6 +27,7 @@ import android.content.Context;
|
|||||||
import android.net.ConnectivityManager;
|
import android.net.ConnectivityManager;
|
||||||
import android.net.wifi.WifiInfo;
|
import android.net.wifi.WifiInfo;
|
||||||
import android.net.wifi.WifiManager;
|
import android.net.wifi.WifiManager;
|
||||||
|
import android.provider.Settings;
|
||||||
import android.support.v7.preference.Preference;
|
import android.support.v7.preference.Preference;
|
||||||
import android.support.v7.preference.PreferenceScreen;
|
import android.support.v7.preference.PreferenceScreen;
|
||||||
|
|
||||||
@@ -54,6 +56,8 @@ public class WifiMacAddressPreferenceControllerTest {
|
|||||||
@Mock
|
@Mock
|
||||||
private Preference mPreference;
|
private Preference mPreference;
|
||||||
|
|
||||||
|
private static final String TEST_MAC_ADDRESS = "00:11:22:33:44:55";
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setUp() {
|
public void setUp() {
|
||||||
MockitoAnnotations.initMocks(this);
|
MockitoAnnotations.initMocks(this);
|
||||||
@@ -80,7 +84,6 @@ public class WifiMacAddressPreferenceControllerTest {
|
|||||||
public void testWifiMacAddress() {
|
public void testWifiMacAddress() {
|
||||||
final WifiManager wifiManager = mock(WifiManager.class);
|
final WifiManager wifiManager = mock(WifiManager.class);
|
||||||
final WifiInfo wifiInfo = mock(WifiInfo.class);
|
final WifiInfo wifiInfo = mock(WifiInfo.class);
|
||||||
doReturn("00:11:22:33:44:55").when(wifiInfo).getMacAddress();
|
|
||||||
|
|
||||||
doReturn(null).when(wifiManager).getConnectionInfo();
|
doReturn(null).when(wifiManager).getConnectionInfo();
|
||||||
doReturn(wifiManager).when(mContext).getSystemService(WifiManager.class);
|
doReturn(wifiManager).when(mContext).getSystemService(WifiManager.class);
|
||||||
@@ -89,14 +92,21 @@ public class WifiMacAddressPreferenceControllerTest {
|
|||||||
new ConcreteWifiMacAddressPreferenceController(mContext, mLifecycle);
|
new ConcreteWifiMacAddressPreferenceController(mContext, mLifecycle);
|
||||||
|
|
||||||
wifiMacAddressPreferenceController.displayPreference(mScreen);
|
wifiMacAddressPreferenceController.displayPreference(mScreen);
|
||||||
|
|
||||||
verify(mPreference).setSummary(R.string.status_unavailable);
|
verify(mPreference).setSummary(R.string.status_unavailable);
|
||||||
|
|
||||||
doReturn(wifiInfo).when(wifiManager).getConnectionInfo();
|
doReturn(wifiInfo).when(wifiManager).getConnectionInfo();
|
||||||
|
doReturn(TEST_MAC_ADDRESS).when(wifiInfo).getMacAddress();
|
||||||
wifiMacAddressPreferenceController.displayPreference(mScreen);
|
wifiMacAddressPreferenceController.displayPreference(mScreen);
|
||||||
|
verify(mPreference).setSummary(TEST_MAC_ADDRESS);
|
||||||
|
|
||||||
verify(mPreference).setSummary("00:11:22:33:44:55");
|
Settings.Global.putInt(mContext.getContentResolver(),
|
||||||
|
Settings.Global.WIFI_CONNECTED_MAC_RANDOMIZATION_ENABLED, 1);
|
||||||
|
wifiMacAddressPreferenceController.displayPreference(mScreen);
|
||||||
|
verify(mPreference, times(2)).setSummary(TEST_MAC_ADDRESS);
|
||||||
|
|
||||||
|
doReturn(WifiInfo.DEFAULT_MAC_ADDRESS).when(wifiInfo).getMacAddress();
|
||||||
|
wifiMacAddressPreferenceController.displayPreference(mScreen);
|
||||||
|
verify(mPreference).setSummary(R.string.wifi_status_mac_randomized);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static class ConcreteWifiMacAddressPreferenceController
|
private static class ConcreteWifiMacAddressPreferenceController
|
||||||
|
|||||||
Reference in New Issue
Block a user