Merge "Add randomized MAC (last used)"
diff --git a/res/values/strings.xml b/res/values/strings.xml
index f6c69d3..d2b145b 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -2268,6 +2268,8 @@
<string name="wifi_advanced_device_mac_address_title">Device MAC address</string>
<!-- Wi-Fi settings screen, advanced, title of the item to show the randomized Wi-Fi MAC address. [CHAR LIMIT=50] -->
<string name="wifi_advanced_randomized_mac_address_title">Randomized MAC address</string>
+ <!-- Wi-Fi settings screen, advanced, title of the item to show the randomized Wi-Fi MAC address when disconnected. [CHAR LIMIT=50] -->
+ <string name="wifi_advanced_randomized_mac_address_disconnected_title">Randomized MAC address (last used)</string>
<!-- Title of the screen to adjust IP settings -->
<!-- Wi-Fi settings screen, advanced, title of the item to show the Wi-Fi device's current IP address. -->
<string name="wifi_advanced_ip_address_title">IP address</string>
diff --git a/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java b/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
index 9676f58..a2b143e 100644
--- a/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
+++ b/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
@@ -738,10 +738,7 @@
}
mMacAddressPref.setVisible(true);
-
- mMacAddressPref.setTitle((mWifiEntry.getPrivacy() == WifiEntry.PRIVACY_RANDOMIZED_MAC)
- ? R.string.wifi_advanced_randomized_mac_address_title
- : R.string.wifi_advanced_device_mac_address_title);
+ mMacAddressPref.setTitle(getMacAddressTitle());
if (macAddress.equals(WifiInfo.DEFAULT_MAC_ADDRESS)) {
mMacAddressPref.setSummary(R.string.device_info_not_available);
@@ -750,6 +747,15 @@
}
}
+ private int getMacAddressTitle() {
+ if (mWifiEntry.getPrivacy() == WifiEntry.PRIVACY_RANDOMIZED_MAC) {
+ return mWifiEntry.getConnectedState() == WifiEntry.CONNECTED_STATE_CONNECTED
+ ? R.string.wifi_advanced_randomized_mac_address_title
+ : R.string.wifi_advanced_randomized_mac_address_disconnected_title;
+ }
+ return R.string.wifi_advanced_device_mac_address_title;
+ }
+
private void updatePreference(Preference pref, String detailText) {
if (!TextUtils.isEmpty(detailText)) {
pref.setSummary(detailText);
diff --git a/tests/robotests/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2Test.java b/tests/robotests/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2Test.java
index 1f4254e..c5f2a7f 100644
--- a/tests/robotests/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2Test.java
+++ b/tests/robotests/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2Test.java
@@ -815,6 +815,22 @@
}
@Test
+ public void macAddressPref_shouldVisibleAsRandomizedForConnectedNetwork() {
+ setUpForConnectedNetwork();
+ setUpSpyController();
+ when(mMockWifiEntry.isSaved()).thenReturn(true);
+ when(mMockWifiEntry.getPrivacy()).thenReturn(WifiEntry.PRIVACY_RANDOMIZED_MAC);
+ when(mMockWifiEntry.getMacAddress()).thenReturn(RANDOMIZED_MAC_ADDRESS);
+
+ displayAndResume();
+
+ verify(mMockMacAddressPref).setVisible(true);
+ verify(mMockMacAddressPref).setSummary(RANDOMIZED_MAC_ADDRESS);
+ verify(mMockMacAddressPref).setTitle(
+ R.string.wifi_advanced_randomized_mac_address_title);
+ }
+
+ @Test
public void macAddressPref_shouldVisibleAsRandomizedForDisconnectedNetwork() {
setUpForDisconnectedNetwork();
when(mMockWifiEntry.isSaved()).thenReturn(true);
@@ -825,7 +841,8 @@
verify(mMockMacAddressPref).setVisible(true);
verify(mMockMacAddressPref).setSummary(RANDOMIZED_MAC_ADDRESS);
- verify(mMockMacAddressPref).setTitle(R.string.wifi_advanced_randomized_mac_address_title);
+ verify(mMockMacAddressPref).setTitle(
+ R.string.wifi_advanced_randomized_mac_address_disconnected_title);
}
@Test