From 4f10fb95de0ac17231fb69be197ead956fbdbbce Mon Sep 17 00:00:00 2001 From: Jong Wook Kim Date: Mon, 5 Feb 2018 14:26:48 -0800 Subject: [PATCH] Default Randomized MAC Address to 0:0:0:0:0:0 in WifiConfig Set the default value of Randomized MAC address as 0:0:0:0:0:0 instead of null. Making this change to simplify storing randomized address to XML for permanent storage. Without this change, will need to manually check if the value is null during MacAddress<->XML conversion. Bug: 72753415 Test: Unittest. Change-Id: I6edf486360e267acec9f8a343386444be2ea99fa --- wifi/java/android/net/wifi/WifiConfiguration.java | 4 ++++ wifi/tests/src/android/net/wifi/WifiConfigurationTest.java | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/wifi/java/android/net/wifi/WifiConfiguration.java b/wifi/java/android/net/wifi/WifiConfiguration.java index 7da2656761c1e..ddcf327b9dd19 100644 --- a/wifi/java/android/net/wifi/WifiConfiguration.java +++ b/wifi/java/android/net/wifi/WifiConfiguration.java @@ -917,6 +917,9 @@ public class WifiConfiguration implements Parcelable { * Does not guarantee that the returned address is valid for use. */ public MacAddress getRandomizedMacAddress() { + if (mRandomizedMacAddress == null) { + mRandomizedMacAddress = MacAddress.ALL_ZEROS_ADDRESS; + } return mRandomizedMacAddress; } @@ -1617,6 +1620,7 @@ public class WifiConfiguration implements Parcelable { creatorUid = -1; shared = true; dtimInterval = 0; + mRandomizedMacAddress = MacAddress.ALL_ZEROS_ADDRESS; } /** diff --git a/wifi/tests/src/android/net/wifi/WifiConfigurationTest.java b/wifi/tests/src/android/net/wifi/WifiConfigurationTest.java index e7377c169ec48..8a3a7f5a2d79c 100644 --- a/wifi/tests/src/android/net/wifi/WifiConfigurationTest.java +++ b/wifi/tests/src/android/net/wifi/WifiConfigurationTest.java @@ -176,6 +176,8 @@ public class WifiConfigurationTest { @Test public void testGetOrCreateRandomizedMacAddress_SavesAndReturnsSameAddress() { WifiConfiguration config = new WifiConfiguration(); + assertEquals(MacAddress.ALL_ZEROS_ADDRESS, config.getRandomizedMacAddress()); + MacAddress firstMacAddress = config.getOrCreateRandomizedMacAddress(); MacAddress secondMacAddress = config.getOrCreateRandomizedMacAddress(); @@ -185,6 +187,8 @@ public class WifiConfigurationTest { @Test public void testSetRandomizedMacAddress_ChangesSavedAddress() { WifiConfiguration config = new WifiConfiguration(); + assertEquals(MacAddress.ALL_ZEROS_ADDRESS, config.getRandomizedMacAddress()); + MacAddress macToChangeInto = MacAddress.createRandomUnicastAddress(); config.setRandomizedMacAddress(macToChangeInto); MacAddress macAfterChange = config.getOrCreateRandomizedMacAddress();