Display "Unavailable" when received default MAC
Display "Unavailable" instead of "02:00:00:00:00:00" when the current MAC address is "02:00:00:00:00:00" which indicates that we couldn't get the actual device MAC address. Bug: 110043449 Test: unittest (make RunSettingsRoboTests ROBOTEST_FILTER=WifiInfoPreferenceControllerTest) Change-Id: Iac9f81d144fd4c93ac12adaa80e1a55b19a6e186
This commit is contained in:
@@ -102,11 +102,12 @@ public class WifiInfoPreferenceController extends AbstractPreferenceController
|
|||||||
Settings.Global.WIFI_CONNECTED_MAC_RANDOMIZATION_ENABLED, 0);
|
Settings.Global.WIFI_CONNECTED_MAC_RANDOMIZATION_ENABLED, 0);
|
||||||
final String macAddress = wifiInfo == null ? null : wifiInfo.getMacAddress();
|
final String macAddress = wifiInfo == null ? null : wifiInfo.getMacAddress();
|
||||||
|
|
||||||
if (TextUtils.isEmpty(macAddress)) {
|
if (macRandomizationMode == 1
|
||||||
mWifiMacAddressPref.setSummary(R.string.status_unavailable);
|
|
||||||
} else if (macRandomizationMode == 1
|
|
||||||
&& WifiInfo.DEFAULT_MAC_ADDRESS.equals(macAddress)) {
|
&& WifiInfo.DEFAULT_MAC_ADDRESS.equals(macAddress)) {
|
||||||
mWifiMacAddressPref.setSummary(R.string.wifi_status_mac_randomized);
|
mWifiMacAddressPref.setSummary(R.string.wifi_status_mac_randomized);
|
||||||
|
} else if (TextUtils.isEmpty(macAddress)
|
||||||
|
|| WifiInfo.DEFAULT_MAC_ADDRESS.equals(macAddress)) {
|
||||||
|
mWifiMacAddressPref.setSummary(R.string.status_unavailable);
|
||||||
} else {
|
} else {
|
||||||
mWifiMacAddressPref.setSummary(macAddress);
|
mWifiMacAddressPref.setSummary(macAddress);
|
||||||
}
|
}
|
||||||
|
@@ -79,6 +79,7 @@ public class WifiInfoPreferenceControllerTest {
|
|||||||
.thenReturn(mMacPreference)
|
.thenReturn(mMacPreference)
|
||||||
.thenReturn(mIpPreference);
|
.thenReturn(mIpPreference);
|
||||||
when(mWifiManager.getConnectionInfo()).thenReturn(mWifiInfo);
|
when(mWifiManager.getConnectionInfo()).thenReturn(mWifiInfo);
|
||||||
|
when(mWifiManager.getCurrentNetwork()).thenReturn(null);
|
||||||
mController = new WifiInfoPreferenceController(mContext, mLifecycle, mWifiManager);
|
mController = new WifiInfoPreferenceController(mContext, mLifecycle, mWifiManager);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -103,7 +104,6 @@ public class WifiInfoPreferenceControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onResume_shouldUpdateWifiInfo() {
|
public void onResume_shouldUpdateWifiInfo() {
|
||||||
when(mWifiManager.getCurrentNetwork()).thenReturn(null);
|
|
||||||
when(mWifiInfo.getMacAddress()).thenReturn(TEST_MAC_ADDRESS);
|
when(mWifiInfo.getMacAddress()).thenReturn(TEST_MAC_ADDRESS);
|
||||||
|
|
||||||
mController.displayPreference(mScreen);
|
mController.displayPreference(mScreen);
|
||||||
@@ -114,22 +114,98 @@ public class WifiInfoPreferenceControllerTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testUpdateMacAddress() {
|
public void updateWifiInfo_nullWifiInfoWithMacRandomizationOff_setMacUnavailable() {
|
||||||
when(mWifiManager.getCurrentNetwork()).thenReturn(null);
|
Settings.Global.putInt(mContext.getContentResolver(),
|
||||||
|
Settings.Global.WIFI_CONNECTED_MAC_RANDOMIZATION_ENABLED, 0);
|
||||||
|
mController.displayPreference(mScreen);
|
||||||
|
when(mWifiManager.getConnectionInfo()).thenReturn(null);
|
||||||
|
|
||||||
|
mController.updateWifiInfo();
|
||||||
|
|
||||||
|
verify(mMacPreference).setSummary(R.string.status_unavailable);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void updateWifiInfo_nullMacWithMacRandomizationOff_setMacUnavailable() {
|
||||||
|
Settings.Global.putInt(mContext.getContentResolver(),
|
||||||
|
Settings.Global.WIFI_CONNECTED_MAC_RANDOMIZATION_ENABLED, 0);
|
||||||
|
mController.displayPreference(mScreen);
|
||||||
|
when(mWifiInfo.getMacAddress()).thenReturn(null);
|
||||||
|
|
||||||
|
mController.updateWifiInfo();
|
||||||
|
|
||||||
|
verify(mMacPreference).setSummary(R.string.status_unavailable);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void updateWifiInfo_defaultMacWithMacRandomizationOff_setMacUnavailable() {
|
||||||
|
Settings.Global.putInt(mContext.getContentResolver(),
|
||||||
|
Settings.Global.WIFI_CONNECTED_MAC_RANDOMIZATION_ENABLED, 0);
|
||||||
|
mController.displayPreference(mScreen);
|
||||||
|
when(mWifiInfo.getMacAddress()).thenReturn(WifiInfo.DEFAULT_MAC_ADDRESS);
|
||||||
|
|
||||||
|
mController.updateWifiInfo();
|
||||||
|
|
||||||
|
verify(mMacPreference).setSummary(R.string.status_unavailable);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void updateWifiInfo_validMacWithMacRandomizationOff_setValidMac() {
|
||||||
|
Settings.Global.putInt(mContext.getContentResolver(),
|
||||||
|
Settings.Global.WIFI_CONNECTED_MAC_RANDOMIZATION_ENABLED, 0);
|
||||||
|
mController.displayPreference(mScreen);
|
||||||
|
when(mWifiInfo.getMacAddress()).thenReturn(TEST_MAC_ADDRESS);
|
||||||
|
|
||||||
|
mController.updateWifiInfo();
|
||||||
|
|
||||||
|
verify(mMacPreference).setSummary(TEST_MAC_ADDRESS);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void updateWifiInfo_nullWifiInfoWithMacRandomizationOn_setMacUnavailable() {
|
||||||
Settings.Global.putInt(mContext.getContentResolver(),
|
Settings.Global.putInt(mContext.getContentResolver(),
|
||||||
Settings.Global.WIFI_CONNECTED_MAC_RANDOMIZATION_ENABLED, 1);
|
Settings.Global.WIFI_CONNECTED_MAC_RANDOMIZATION_ENABLED, 1);
|
||||||
mController.displayPreference(mScreen);
|
mController.displayPreference(mScreen);
|
||||||
|
when(mWifiManager.getConnectionInfo()).thenReturn(null);
|
||||||
|
|
||||||
when(mWifiInfo.getMacAddress()).thenReturn(null);
|
|
||||||
mController.updateWifiInfo();
|
mController.updateWifiInfo();
|
||||||
|
|
||||||
verify(mMacPreference).setSummary(R.string.status_unavailable);
|
verify(mMacPreference).setSummary(R.string.status_unavailable);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void updateWifiInfo_nullMacWithMacRandomizationOn_setMacUnavailable() {
|
||||||
|
Settings.Global.putInt(mContext.getContentResolver(),
|
||||||
|
Settings.Global.WIFI_CONNECTED_MAC_RANDOMIZATION_ENABLED, 1);
|
||||||
|
mController.displayPreference(mScreen);
|
||||||
|
when(mWifiInfo.getMacAddress()).thenReturn(null);
|
||||||
|
|
||||||
|
mController.updateWifiInfo();
|
||||||
|
|
||||||
|
verify(mMacPreference).setSummary(R.string.status_unavailable);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void updateWifiInfo_defaultMacWithMacRandomizationOn_setMacRandomized() {
|
||||||
|
Settings.Global.putInt(mContext.getContentResolver(),
|
||||||
|
Settings.Global.WIFI_CONNECTED_MAC_RANDOMIZATION_ENABLED, 1);
|
||||||
|
mController.displayPreference(mScreen);
|
||||||
when(mWifiInfo.getMacAddress()).thenReturn(WifiInfo.DEFAULT_MAC_ADDRESS);
|
when(mWifiInfo.getMacAddress()).thenReturn(WifiInfo.DEFAULT_MAC_ADDRESS);
|
||||||
mController.updateWifiInfo();
|
|
||||||
verify(mMacPreference).setSummary(R.string.wifi_status_mac_randomized);
|
|
||||||
|
|
||||||
when(mWifiInfo.getMacAddress()).thenReturn(TEST_MAC_ADDRESS);
|
|
||||||
mController.updateWifiInfo();
|
mController.updateWifiInfo();
|
||||||
|
|
||||||
|
verify(mMacPreference).setSummary(R.string.wifi_status_mac_randomized);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void updateWifiInfo_validMacWithMacRandomizationOn_setValidMac() {
|
||||||
|
Settings.Global.putInt(mContext.getContentResolver(),
|
||||||
|
Settings.Global.WIFI_CONNECTED_MAC_RANDOMIZATION_ENABLED, 1);
|
||||||
|
mController.displayPreference(mScreen);
|
||||||
|
when(mWifiInfo.getMacAddress()).thenReturn(TEST_MAC_ADDRESS);
|
||||||
|
|
||||||
|
mController.updateWifiInfo();
|
||||||
|
|
||||||
verify(mMacPreference).setSummary(TEST_MAC_ADDRESS);
|
verify(mMacPreference).setSummary(TEST_MAC_ADDRESS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user