Loading android/app/src/com/android/bluetooth/btservice/AdapterService.java +3 −4 Original line number Original line Diff line number Diff line Loading @@ -73,7 +73,6 @@ import com.android.internal.R; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.app.IBatteryStats; import com.android.internal.app.IBatteryStats; import com.google.protobuf.ByteString; import com.google.protobuf.InvalidProtocolBufferException; import com.google.protobuf.InvalidProtocolBufferException; import java.io.FileDescriptor; import java.io.FileDescriptor; Loading Loading @@ -2620,10 +2619,10 @@ public class AdapterService extends Service { * Obfuscate Bluetooth MAC address into a PII free ID string * Obfuscate Bluetooth MAC address into a PII free ID string * * * @param device Bluetooth device whose MAC address will be obfuscated * @param device Bluetooth device whose MAC address will be obfuscated * @return a {@link ByteString} that is unique to this MAC address on this device * @return a byte array that is unique to this MAC address on this device */ */ public ByteString obfuscateAddress(BluetoothDevice device) { public byte[] obfuscateAddress(BluetoothDevice device) { return ByteString.copyFrom(obfuscateAddressNative(Utils.getByteAddress(device))); return obfuscateAddressNative(Utils.getByteAddress(device)); } } static native void classInitNative(); static native void classInitNative(); Loading android/app/tests/unit/src/com/android/bluetooth/btservice/AdapterServiceTest.java +58 −62 Original line number Original line Diff line number Diff line Loading @@ -45,8 +45,6 @@ import com.android.bluetooth.R; import com.android.bluetooth.TestUtils; import com.android.bluetooth.TestUtils; import com.android.bluetooth.Utils; import com.android.bluetooth.Utils; import com.google.protobuf.ByteString; import org.junit.After; import org.junit.After; import org.junit.Assert; import org.junit.Assert; import org.junit.Before; import org.junit.Before; Loading Loading @@ -506,11 +504,10 @@ public class AdapterServiceTest { byte[] metricsSalt = getMetricsSalt(mAdapterConfig); byte[] metricsSalt = getMetricsSalt(mAdapterConfig); Assert.assertNotNull(metricsSalt); Assert.assertNotNull(metricsSalt); BluetoothDevice device = TestUtils.getTestDevice(BluetoothAdapter.getDefaultAdapter(), 0); BluetoothDevice device = TestUtils.getTestDevice(BluetoothAdapter.getDefaultAdapter(), 0); ByteString obfuscatedAddress = mAdapterService.obfuscateAddress(device); byte[] obfuscatedAddress = mAdapterService.obfuscateAddress(device); Assert.assertFalse(obfuscatedAddress.isEmpty()); Assert.assertTrue(obfuscatedAddress.length > 0); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress.toByteArray())); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress)); Assert.assertArrayEquals(obfuscateInJava(metricsSalt, device), Assert.assertArrayEquals(obfuscateInJava(metricsSalt, device), obfuscatedAddress); obfuscatedAddress.toByteArray()); } } /** /** Loading @@ -525,11 +522,10 @@ public class AdapterServiceTest { byte[] metricsSalt = getMetricsSalt(mAdapterConfig); byte[] metricsSalt = getMetricsSalt(mAdapterConfig); Assert.assertNotNull(metricsSalt); Assert.assertNotNull(metricsSalt); BluetoothDevice device = TestUtils.getTestDevice(BluetoothAdapter.getDefaultAdapter(), 0); BluetoothDevice device = TestUtils.getTestDevice(BluetoothAdapter.getDefaultAdapter(), 0); ByteString obfuscatedAddress = mAdapterService.obfuscateAddress(device); byte[] obfuscatedAddress = mAdapterService.obfuscateAddress(device); Assert.assertFalse(obfuscatedAddress.isEmpty()); Assert.assertTrue(obfuscatedAddress.length > 0); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress.toByteArray())); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress)); Assert.assertArrayEquals(obfuscateInJava(metricsSalt, device), Assert.assertArrayEquals(obfuscateInJava(metricsSalt, device), obfuscatedAddress); obfuscatedAddress.toByteArray()); } } /** /** Loading @@ -541,27 +537,27 @@ public class AdapterServiceTest { byte[] metricsSalt = getMetricsSalt(mAdapterConfig); byte[] metricsSalt = getMetricsSalt(mAdapterConfig); Assert.assertNotNull(metricsSalt); Assert.assertNotNull(metricsSalt); BluetoothDevice device = TestUtils.getTestDevice(BluetoothAdapter.getDefaultAdapter(), 0); BluetoothDevice device = TestUtils.getTestDevice(BluetoothAdapter.getDefaultAdapter(), 0); ByteString obfuscatedAddress1 = mAdapterService.obfuscateAddress(device); byte[] obfuscatedAddress1 = mAdapterService.obfuscateAddress(device); Assert.assertFalse(obfuscatedAddress1.isEmpty()); Assert.assertTrue(obfuscatedAddress1.length > 0); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress1.toByteArray())); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress1)); Assert.assertArrayEquals(obfuscateInJava(metricsSalt, device), Assert.assertArrayEquals(obfuscateInJava(metricsSalt, device), obfuscatedAddress1.toByteArray()); obfuscatedAddress1); // Enable // Enable doEnable(0, false); doEnable(0, false); Assert.assertTrue(mAdapterService.isEnabled()); Assert.assertTrue(mAdapterService.isEnabled()); ByteString obfuscatedAddress3 = mAdapterService.obfuscateAddress(device); byte[] obfuscatedAddress3 = mAdapterService.obfuscateAddress(device); Assert.assertFalse(obfuscatedAddress3.isEmpty()); Assert.assertTrue(obfuscatedAddress3.length > 0); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress3.toByteArray())); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress3)); Assert.assertArrayEquals(obfuscatedAddress3.toByteArray(), Assert.assertArrayEquals(obfuscatedAddress3, obfuscatedAddress1.toByteArray()); obfuscatedAddress1); // Disable // Disable doDisable(0, false); doDisable(0, false); Assert.assertFalse(mAdapterService.isEnabled()); Assert.assertFalse(mAdapterService.isEnabled()); ByteString obfuscatedAddress4 = mAdapterService.obfuscateAddress(device); byte[] obfuscatedAddress4 = mAdapterService.obfuscateAddress(device); Assert.assertFalse(obfuscatedAddress4.isEmpty()); Assert.assertTrue(obfuscatedAddress4.length > 0); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress4.toByteArray())); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress4)); Assert.assertArrayEquals(obfuscatedAddress4.toByteArray(), Assert.assertArrayEquals(obfuscatedAddress4, obfuscatedAddress1.toByteArray()); obfuscatedAddress1); } } /** /** Loading @@ -575,19 +571,19 @@ public class AdapterServiceTest { Assert.assertNotNull(metricsSalt); Assert.assertNotNull(metricsSalt); Assert.assertFalse(mAdapterService.isEnabled()); Assert.assertFalse(mAdapterService.isEnabled()); BluetoothDevice device = TestUtils.getTestDevice(BluetoothAdapter.getDefaultAdapter(), 0); BluetoothDevice device = TestUtils.getTestDevice(BluetoothAdapter.getDefaultAdapter(), 0); ByteString obfuscatedAddress1 = mAdapterService.obfuscateAddress(device); byte[] obfuscatedAddress1 = mAdapterService.obfuscateAddress(device); Assert.assertFalse(obfuscatedAddress1.isEmpty()); Assert.assertTrue(obfuscatedAddress1.length > 0); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress1.toByteArray())); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress1)); Assert.assertArrayEquals(obfuscateInJava(metricsSalt, device), Assert.assertArrayEquals(obfuscateInJava(metricsSalt, device), obfuscatedAddress1.toByteArray()); obfuscatedAddress1); tearDown(); tearDown(); setUp(); setUp(); Assert.assertFalse(mAdapterService.isEnabled()); Assert.assertFalse(mAdapterService.isEnabled()); ByteString obfuscatedAddress2 = mAdapterService.obfuscateAddress(device); byte[] obfuscatedAddress2 = mAdapterService.obfuscateAddress(device); Assert.assertFalse(obfuscatedAddress2.isEmpty()); Assert.assertTrue(obfuscatedAddress2.length > 0); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress2.toByteArray())); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress2)); Assert.assertArrayEquals(obfuscatedAddress2.toByteArray(), Assert.assertArrayEquals(obfuscatedAddress2, obfuscatedAddress1.toByteArray()); obfuscatedAddress1); } } /** /** Loading @@ -611,27 +607,27 @@ public class AdapterServiceTest { public void testObfuscateBluetoothAddress_FactoryReset() { public void testObfuscateBluetoothAddress_FactoryReset() { Assert.assertFalse(mAdapterService.isEnabled()); Assert.assertFalse(mAdapterService.isEnabled()); BluetoothDevice device = TestUtils.getTestDevice(BluetoothAdapter.getDefaultAdapter(), 0); BluetoothDevice device = TestUtils.getTestDevice(BluetoothAdapter.getDefaultAdapter(), 0); ByteString obfuscatedAddress1 = mAdapterService.obfuscateAddress(device); byte[] obfuscatedAddress1 = mAdapterService.obfuscateAddress(device); Assert.assertFalse(obfuscatedAddress1.isEmpty()); Assert.assertTrue(obfuscatedAddress1.length > 0); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress1.toByteArray())); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress1)); mAdapterService.factoryReset(); mAdapterService.factoryReset(); ByteString obfuscatedAddress2 = mAdapterService.obfuscateAddress(device); byte[] obfuscatedAddress2 = mAdapterService.obfuscateAddress(device); Assert.assertFalse(obfuscatedAddress2.isEmpty()); Assert.assertTrue(obfuscatedAddress2.length > 0); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress2.toByteArray())); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress2)); Assert.assertFalse(Arrays.equals(obfuscatedAddress2.toByteArray(), Assert.assertFalse(Arrays.equals(obfuscatedAddress2, obfuscatedAddress1.toByteArray())); obfuscatedAddress1)); doEnable(0, false); doEnable(0, false); ByteString obfuscatedAddress3 = mAdapterService.obfuscateAddress(device); byte[] obfuscatedAddress3 = mAdapterService.obfuscateAddress(device); Assert.assertFalse(obfuscatedAddress3.isEmpty()); Assert.assertTrue(obfuscatedAddress3.length > 0); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress3.toByteArray())); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress3)); Assert.assertArrayEquals(obfuscatedAddress3.toByteArray(), Assert.assertArrayEquals(obfuscatedAddress3, obfuscatedAddress2.toByteArray()); obfuscatedAddress2); mAdapterService.factoryReset(); mAdapterService.factoryReset(); ByteString obfuscatedAddress4 = mAdapterService.obfuscateAddress(device); byte[] obfuscatedAddress4 = mAdapterService.obfuscateAddress(device); Assert.assertFalse(obfuscatedAddress4.isEmpty()); Assert.assertTrue(obfuscatedAddress4.length > 0); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress4.toByteArray())); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress4)); Assert.assertFalse(Arrays.equals(obfuscatedAddress4.toByteArray(), Assert.assertFalse(Arrays.equals(obfuscatedAddress4, obfuscatedAddress3.toByteArray())); obfuscatedAddress3)); } } /** /** Loading @@ -645,20 +641,20 @@ public class AdapterServiceTest { Assert.assertNotNull(metricsSalt1); Assert.assertNotNull(metricsSalt1); Assert.assertFalse(mAdapterService.isEnabled()); Assert.assertFalse(mAdapterService.isEnabled()); BluetoothDevice device = TestUtils.getTestDevice(BluetoothAdapter.getDefaultAdapter(), 0); BluetoothDevice device = TestUtils.getTestDevice(BluetoothAdapter.getDefaultAdapter(), 0); ByteString obfuscatedAddress1 = mAdapterService.obfuscateAddress(device); byte[] obfuscatedAddress1 = mAdapterService.obfuscateAddress(device); Assert.assertFalse(obfuscatedAddress1.isEmpty()); Assert.assertTrue(obfuscatedAddress1.length > 0); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress1.toByteArray())); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress1)); Assert.assertArrayEquals(obfuscateInJava(metricsSalt1, device), Assert.assertArrayEquals(obfuscateInJava(metricsSalt1, device), obfuscatedAddress1.toByteArray()); obfuscatedAddress1); mAdapterService.factoryReset(); mAdapterService.factoryReset(); tearDown(); tearDown(); setUp(); setUp(); // Cannot verify metrics salt since it is not written to disk until native cleanup // Cannot verify metrics salt since it is not written to disk until native cleanup ByteString obfuscatedAddress2 = mAdapterService.obfuscateAddress(device); byte[] obfuscatedAddress2 = mAdapterService.obfuscateAddress(device); Assert.assertFalse(obfuscatedAddress2.isEmpty()); Assert.assertTrue(obfuscatedAddress2.length > 0); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress2.toByteArray())); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress2)); Assert.assertFalse(Arrays.equals(obfuscatedAddress2.toByteArray(), Assert.assertFalse(Arrays.equals(obfuscatedAddress2, obfuscatedAddress1.toByteArray())); obfuscatedAddress1)); } } private static byte[] getMetricsSalt(HashMap<String, HashMap<String, String>> adapterConfig) { private static byte[] getMetricsSalt(HashMap<String, HashMap<String, String>> adapterConfig) { Loading Loading
android/app/src/com/android/bluetooth/btservice/AdapterService.java +3 −4 Original line number Original line Diff line number Diff line Loading @@ -73,7 +73,6 @@ import com.android.internal.R; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.app.IBatteryStats; import com.android.internal.app.IBatteryStats; import com.google.protobuf.ByteString; import com.google.protobuf.InvalidProtocolBufferException; import com.google.protobuf.InvalidProtocolBufferException; import java.io.FileDescriptor; import java.io.FileDescriptor; Loading Loading @@ -2620,10 +2619,10 @@ public class AdapterService extends Service { * Obfuscate Bluetooth MAC address into a PII free ID string * Obfuscate Bluetooth MAC address into a PII free ID string * * * @param device Bluetooth device whose MAC address will be obfuscated * @param device Bluetooth device whose MAC address will be obfuscated * @return a {@link ByteString} that is unique to this MAC address on this device * @return a byte array that is unique to this MAC address on this device */ */ public ByteString obfuscateAddress(BluetoothDevice device) { public byte[] obfuscateAddress(BluetoothDevice device) { return ByteString.copyFrom(obfuscateAddressNative(Utils.getByteAddress(device))); return obfuscateAddressNative(Utils.getByteAddress(device)); } } static native void classInitNative(); static native void classInitNative(); Loading
android/app/tests/unit/src/com/android/bluetooth/btservice/AdapterServiceTest.java +58 −62 Original line number Original line Diff line number Diff line Loading @@ -45,8 +45,6 @@ import com.android.bluetooth.R; import com.android.bluetooth.TestUtils; import com.android.bluetooth.TestUtils; import com.android.bluetooth.Utils; import com.android.bluetooth.Utils; import com.google.protobuf.ByteString; import org.junit.After; import org.junit.After; import org.junit.Assert; import org.junit.Assert; import org.junit.Before; import org.junit.Before; Loading Loading @@ -506,11 +504,10 @@ public class AdapterServiceTest { byte[] metricsSalt = getMetricsSalt(mAdapterConfig); byte[] metricsSalt = getMetricsSalt(mAdapterConfig); Assert.assertNotNull(metricsSalt); Assert.assertNotNull(metricsSalt); BluetoothDevice device = TestUtils.getTestDevice(BluetoothAdapter.getDefaultAdapter(), 0); BluetoothDevice device = TestUtils.getTestDevice(BluetoothAdapter.getDefaultAdapter(), 0); ByteString obfuscatedAddress = mAdapterService.obfuscateAddress(device); byte[] obfuscatedAddress = mAdapterService.obfuscateAddress(device); Assert.assertFalse(obfuscatedAddress.isEmpty()); Assert.assertTrue(obfuscatedAddress.length > 0); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress.toByteArray())); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress)); Assert.assertArrayEquals(obfuscateInJava(metricsSalt, device), Assert.assertArrayEquals(obfuscateInJava(metricsSalt, device), obfuscatedAddress); obfuscatedAddress.toByteArray()); } } /** /** Loading @@ -525,11 +522,10 @@ public class AdapterServiceTest { byte[] metricsSalt = getMetricsSalt(mAdapterConfig); byte[] metricsSalt = getMetricsSalt(mAdapterConfig); Assert.assertNotNull(metricsSalt); Assert.assertNotNull(metricsSalt); BluetoothDevice device = TestUtils.getTestDevice(BluetoothAdapter.getDefaultAdapter(), 0); BluetoothDevice device = TestUtils.getTestDevice(BluetoothAdapter.getDefaultAdapter(), 0); ByteString obfuscatedAddress = mAdapterService.obfuscateAddress(device); byte[] obfuscatedAddress = mAdapterService.obfuscateAddress(device); Assert.assertFalse(obfuscatedAddress.isEmpty()); Assert.assertTrue(obfuscatedAddress.length > 0); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress.toByteArray())); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress)); Assert.assertArrayEquals(obfuscateInJava(metricsSalt, device), Assert.assertArrayEquals(obfuscateInJava(metricsSalt, device), obfuscatedAddress); obfuscatedAddress.toByteArray()); } } /** /** Loading @@ -541,27 +537,27 @@ public class AdapterServiceTest { byte[] metricsSalt = getMetricsSalt(mAdapterConfig); byte[] metricsSalt = getMetricsSalt(mAdapterConfig); Assert.assertNotNull(metricsSalt); Assert.assertNotNull(metricsSalt); BluetoothDevice device = TestUtils.getTestDevice(BluetoothAdapter.getDefaultAdapter(), 0); BluetoothDevice device = TestUtils.getTestDevice(BluetoothAdapter.getDefaultAdapter(), 0); ByteString obfuscatedAddress1 = mAdapterService.obfuscateAddress(device); byte[] obfuscatedAddress1 = mAdapterService.obfuscateAddress(device); Assert.assertFalse(obfuscatedAddress1.isEmpty()); Assert.assertTrue(obfuscatedAddress1.length > 0); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress1.toByteArray())); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress1)); Assert.assertArrayEquals(obfuscateInJava(metricsSalt, device), Assert.assertArrayEquals(obfuscateInJava(metricsSalt, device), obfuscatedAddress1.toByteArray()); obfuscatedAddress1); // Enable // Enable doEnable(0, false); doEnable(0, false); Assert.assertTrue(mAdapterService.isEnabled()); Assert.assertTrue(mAdapterService.isEnabled()); ByteString obfuscatedAddress3 = mAdapterService.obfuscateAddress(device); byte[] obfuscatedAddress3 = mAdapterService.obfuscateAddress(device); Assert.assertFalse(obfuscatedAddress3.isEmpty()); Assert.assertTrue(obfuscatedAddress3.length > 0); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress3.toByteArray())); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress3)); Assert.assertArrayEquals(obfuscatedAddress3.toByteArray(), Assert.assertArrayEquals(obfuscatedAddress3, obfuscatedAddress1.toByteArray()); obfuscatedAddress1); // Disable // Disable doDisable(0, false); doDisable(0, false); Assert.assertFalse(mAdapterService.isEnabled()); Assert.assertFalse(mAdapterService.isEnabled()); ByteString obfuscatedAddress4 = mAdapterService.obfuscateAddress(device); byte[] obfuscatedAddress4 = mAdapterService.obfuscateAddress(device); Assert.assertFalse(obfuscatedAddress4.isEmpty()); Assert.assertTrue(obfuscatedAddress4.length > 0); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress4.toByteArray())); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress4)); Assert.assertArrayEquals(obfuscatedAddress4.toByteArray(), Assert.assertArrayEquals(obfuscatedAddress4, obfuscatedAddress1.toByteArray()); obfuscatedAddress1); } } /** /** Loading @@ -575,19 +571,19 @@ public class AdapterServiceTest { Assert.assertNotNull(metricsSalt); Assert.assertNotNull(metricsSalt); Assert.assertFalse(mAdapterService.isEnabled()); Assert.assertFalse(mAdapterService.isEnabled()); BluetoothDevice device = TestUtils.getTestDevice(BluetoothAdapter.getDefaultAdapter(), 0); BluetoothDevice device = TestUtils.getTestDevice(BluetoothAdapter.getDefaultAdapter(), 0); ByteString obfuscatedAddress1 = mAdapterService.obfuscateAddress(device); byte[] obfuscatedAddress1 = mAdapterService.obfuscateAddress(device); Assert.assertFalse(obfuscatedAddress1.isEmpty()); Assert.assertTrue(obfuscatedAddress1.length > 0); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress1.toByteArray())); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress1)); Assert.assertArrayEquals(obfuscateInJava(metricsSalt, device), Assert.assertArrayEquals(obfuscateInJava(metricsSalt, device), obfuscatedAddress1.toByteArray()); obfuscatedAddress1); tearDown(); tearDown(); setUp(); setUp(); Assert.assertFalse(mAdapterService.isEnabled()); Assert.assertFalse(mAdapterService.isEnabled()); ByteString obfuscatedAddress2 = mAdapterService.obfuscateAddress(device); byte[] obfuscatedAddress2 = mAdapterService.obfuscateAddress(device); Assert.assertFalse(obfuscatedAddress2.isEmpty()); Assert.assertTrue(obfuscatedAddress2.length > 0); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress2.toByteArray())); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress2)); Assert.assertArrayEquals(obfuscatedAddress2.toByteArray(), Assert.assertArrayEquals(obfuscatedAddress2, obfuscatedAddress1.toByteArray()); obfuscatedAddress1); } } /** /** Loading @@ -611,27 +607,27 @@ public class AdapterServiceTest { public void testObfuscateBluetoothAddress_FactoryReset() { public void testObfuscateBluetoothAddress_FactoryReset() { Assert.assertFalse(mAdapterService.isEnabled()); Assert.assertFalse(mAdapterService.isEnabled()); BluetoothDevice device = TestUtils.getTestDevice(BluetoothAdapter.getDefaultAdapter(), 0); BluetoothDevice device = TestUtils.getTestDevice(BluetoothAdapter.getDefaultAdapter(), 0); ByteString obfuscatedAddress1 = mAdapterService.obfuscateAddress(device); byte[] obfuscatedAddress1 = mAdapterService.obfuscateAddress(device); Assert.assertFalse(obfuscatedAddress1.isEmpty()); Assert.assertTrue(obfuscatedAddress1.length > 0); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress1.toByteArray())); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress1)); mAdapterService.factoryReset(); mAdapterService.factoryReset(); ByteString obfuscatedAddress2 = mAdapterService.obfuscateAddress(device); byte[] obfuscatedAddress2 = mAdapterService.obfuscateAddress(device); Assert.assertFalse(obfuscatedAddress2.isEmpty()); Assert.assertTrue(obfuscatedAddress2.length > 0); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress2.toByteArray())); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress2)); Assert.assertFalse(Arrays.equals(obfuscatedAddress2.toByteArray(), Assert.assertFalse(Arrays.equals(obfuscatedAddress2, obfuscatedAddress1.toByteArray())); obfuscatedAddress1)); doEnable(0, false); doEnable(0, false); ByteString obfuscatedAddress3 = mAdapterService.obfuscateAddress(device); byte[] obfuscatedAddress3 = mAdapterService.obfuscateAddress(device); Assert.assertFalse(obfuscatedAddress3.isEmpty()); Assert.assertTrue(obfuscatedAddress3.length > 0); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress3.toByteArray())); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress3)); Assert.assertArrayEquals(obfuscatedAddress3.toByteArray(), Assert.assertArrayEquals(obfuscatedAddress3, obfuscatedAddress2.toByteArray()); obfuscatedAddress2); mAdapterService.factoryReset(); mAdapterService.factoryReset(); ByteString obfuscatedAddress4 = mAdapterService.obfuscateAddress(device); byte[] obfuscatedAddress4 = mAdapterService.obfuscateAddress(device); Assert.assertFalse(obfuscatedAddress4.isEmpty()); Assert.assertTrue(obfuscatedAddress4.length > 0); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress4.toByteArray())); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress4)); Assert.assertFalse(Arrays.equals(obfuscatedAddress4.toByteArray(), Assert.assertFalse(Arrays.equals(obfuscatedAddress4, obfuscatedAddress3.toByteArray())); obfuscatedAddress3)); } } /** /** Loading @@ -645,20 +641,20 @@ public class AdapterServiceTest { Assert.assertNotNull(metricsSalt1); Assert.assertNotNull(metricsSalt1); Assert.assertFalse(mAdapterService.isEnabled()); Assert.assertFalse(mAdapterService.isEnabled()); BluetoothDevice device = TestUtils.getTestDevice(BluetoothAdapter.getDefaultAdapter(), 0); BluetoothDevice device = TestUtils.getTestDevice(BluetoothAdapter.getDefaultAdapter(), 0); ByteString obfuscatedAddress1 = mAdapterService.obfuscateAddress(device); byte[] obfuscatedAddress1 = mAdapterService.obfuscateAddress(device); Assert.assertFalse(obfuscatedAddress1.isEmpty()); Assert.assertTrue(obfuscatedAddress1.length > 0); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress1.toByteArray())); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress1)); Assert.assertArrayEquals(obfuscateInJava(metricsSalt1, device), Assert.assertArrayEquals(obfuscateInJava(metricsSalt1, device), obfuscatedAddress1.toByteArray()); obfuscatedAddress1); mAdapterService.factoryReset(); mAdapterService.factoryReset(); tearDown(); tearDown(); setUp(); setUp(); // Cannot verify metrics salt since it is not written to disk until native cleanup // Cannot verify metrics salt since it is not written to disk until native cleanup ByteString obfuscatedAddress2 = mAdapterService.obfuscateAddress(device); byte[] obfuscatedAddress2 = mAdapterService.obfuscateAddress(device); Assert.assertFalse(obfuscatedAddress2.isEmpty()); Assert.assertTrue(obfuscatedAddress2.length > 0); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress2.toByteArray())); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress2)); Assert.assertFalse(Arrays.equals(obfuscatedAddress2.toByteArray(), Assert.assertFalse(Arrays.equals(obfuscatedAddress2, obfuscatedAddress1.toByteArray())); obfuscatedAddress1)); } } private static byte[] getMetricsSalt(HashMap<String, HashMap<String, String>> adapterConfig) { private static byte[] getMetricsSalt(HashMap<String, HashMap<String, String>> adapterConfig) { Loading