diff --git a/res/values/strings.xml b/res/values/strings.xml
index c3d525609b3..a12c22ccd8d 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -2268,6 +2268,8 @@
Device MAC address
Randomized MAC address
+
+ Randomized MAC address (last used)
IP address
diff --git a/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java b/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
index 9676f5898ff..a2b143ea516 100644
--- a/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
+++ b/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
@@ -738,10 +738,7 @@ public class WifiDetailPreferenceController2 extends AbstractPreferenceControlle
}
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 @@ public class WifiDetailPreferenceController2 extends AbstractPreferenceControlle
}
}
+ 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 1f4254e4c4a..c5f2a7f5d92 100644
--- a/tests/robotests/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2Test.java
+++ b/tests/robotests/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2Test.java
@@ -814,6 +814,22 @@ public class WifiDetailPreferenceController2Test {
verify(mMockMacAddressPref).setTitle(R.string.wifi_advanced_device_mac_address_title);
}
+ @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();
@@ -825,7 +841,8 @@ public class WifiDetailPreferenceController2Test {
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