Loading android/app/src/com/android/bluetooth/AlertActivity.java +2 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package android.bluetooth; import static android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS; import android.annotation.SuppressLint; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; Loading @@ -33,6 +34,7 @@ import android.view.accessibility.AccessibilityEvent; * @see #mAlert * @see #setupAlert() */ @SuppressLint("AndroidFrameworkBluetoothPermission") public abstract class AlertActivity extends Activity implements DialogInterface.OnDismissListener, DialogInterface.OnCancelListener { Loading android/app/src/com/android/bluetooth/btservice/AdapterService.java +123 −81 File changed.Preview size limit exceeded, changes collapsed. Show changes android/app/src/com/android/bluetooth/gatt/GattService.java +11 −4 Original line number Diff line number Diff line Loading @@ -942,12 +942,12 @@ public class GattService extends ProfileService { } @Override public void getOwnAddress(int advertiserId) { public void getOwnAddress(int advertiserId, AttributionSource attributionSource) { GattService service = getService(); if (service == null) { return; } service.getOwnAddress(advertiserId); service.getOwnAddress(advertiserId, attributionSource); } @Override Loading Loading @@ -2523,8 +2523,15 @@ public class GattService extends ProfileService { mAdvertiseManager.stopAdvertisingSet(callback); } @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) void getOwnAddress(int advertiserId) { @RequiresPermission(allOf = { android.Manifest.permission.BLUETOOTH_ADVERTISE, android.Manifest.permission.BLUETOOTH_PRIVILEGED, }) void getOwnAddress(int advertiserId, AttributionSource attributionSource) { if (!Utils.checkAdvertisePermissionForDataDelivery( this, attributionSource, "GattService getOwnAddress")) { return; } enforcePrivilegedPermission(); mAdvertiseManager.getOwnAddress(advertiserId); } Loading android/app/tests/unit/src/com/android/bluetooth/btservice/AdapterServiceTest.java +9 −9 Original line number Diff line number Diff line Loading @@ -184,7 +184,7 @@ public class AdapterServiceTest { mAdapterService.attach(mMockContext, null, null, null, mApplication, null); mAdapterService.onCreate(); mServiceBinder.registerCallback(mIBluetoothCallback); mServiceBinder.registerCallback(mIBluetoothCallback, mAttributionSource); Config.init(mMockContext); Loading @@ -194,7 +194,7 @@ public class AdapterServiceTest { @After public void tearDown() { mServiceBinder.unregisterCallback(mIBluetoothCallback); mServiceBinder.unregisterCallback(mIBluetoothCallback, mAttributionSource); mAdapterService.cleanup(); Config.init(InstrumentationRegistry.getTargetContext()); } Loading Loading @@ -227,7 +227,7 @@ public class AdapterServiceTest { verifyStateChange(BluetoothAdapter.STATE_BLE_TURNING_ON, BluetoothAdapter.STATE_BLE_ON, invocationNumber + 1, NATIVE_INIT_MS); mServiceBinder.onLeServiceUp(); mServiceBinder.onLeServiceUp(mAttributionSource); verifyStateChange(BluetoothAdapter.STATE_BLE_ON, BluetoothAdapter.STATE_TURNING_ON, invocationNumber + 1, CONTEXT_SWITCH_MS); Loading Loading @@ -275,7 +275,7 @@ public class AdapterServiceTest { verifyStateChange(BluetoothAdapter.STATE_TURNING_OFF, BluetoothAdapter.STATE_BLE_ON, invocationNumber + 1, PROFILE_SERVICE_TOGGLE_TIME_MS); mServiceBinder.onBrEdrDown(); mServiceBinder.onBrEdrDown(mAttributionSource); verifyStateChange(BluetoothAdapter.STATE_BLE_ON, BluetoothAdapter.STATE_BLE_TURNING_OFF, invocationNumber + 1, CONTEXT_SWITCH_MS); Loading Loading @@ -389,7 +389,7 @@ public class AdapterServiceTest { verifyStateChange(BluetoothAdapter.STATE_TURNING_OFF, BluetoothAdapter.STATE_BLE_ON, 1, CONTEXT_SWITCH_MS); mServiceBinder.onBrEdrDown(); mServiceBinder.onBrEdrDown(mAttributionSource); verifyStateChange(BluetoothAdapter.STATE_BLE_ON, BluetoothAdapter.STATE_BLE_TURNING_OFF, 1, CONTEXT_SWITCH_MS); Loading Loading @@ -424,7 +424,7 @@ public class AdapterServiceTest { verifyStateChange(BluetoothAdapter.STATE_BLE_TURNING_ON, BluetoothAdapter.STATE_BLE_ON, 1, NATIVE_INIT_MS); mServiceBinder.onLeServiceUp(); mServiceBinder.onLeServiceUp(mAttributionSource); verifyStateChange(BluetoothAdapter.STATE_BLE_ON, BluetoothAdapter.STATE_TURNING_ON, 1, CONTEXT_SWITCH_MS); Loading Loading @@ -656,7 +656,7 @@ public class AdapterServiceTest { byte[] obfuscatedAddress1 = mAdapterService.obfuscateAddress(device); Assert.assertTrue(obfuscatedAddress1.length > 0); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress1)); mServiceBinder.factoryReset(); mServiceBinder.factoryReset(mAttributionSource); byte[] obfuscatedAddress2 = mAdapterService.obfuscateAddress(device); Assert.assertTrue(obfuscatedAddress2.length > 0); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress2)); Loading @@ -668,7 +668,7 @@ public class AdapterServiceTest { Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress3)); Assert.assertArrayEquals(obfuscatedAddress3, obfuscatedAddress2); mServiceBinder.factoryReset(); mServiceBinder.factoryReset(mAttributionSource); byte[] obfuscatedAddress4 = mAdapterService.obfuscateAddress(device); Assert.assertTrue(obfuscatedAddress4.length > 0); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress4)); Loading @@ -692,7 +692,7 @@ public class AdapterServiceTest { Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress1)); Assert.assertArrayEquals(obfuscateInJava(metricsSalt1, device), obfuscatedAddress1); mServiceBinder.factoryReset(); mServiceBinder.factoryReset(mAttributionSource); tearDown(); setUp(); // Cannot verify metrics salt since it is not written to disk until native cleanup Loading Loading
android/app/src/com/android/bluetooth/AlertActivity.java +2 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package android.bluetooth; import static android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS; import android.annotation.SuppressLint; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; Loading @@ -33,6 +34,7 @@ import android.view.accessibility.AccessibilityEvent; * @see #mAlert * @see #setupAlert() */ @SuppressLint("AndroidFrameworkBluetoothPermission") public abstract class AlertActivity extends Activity implements DialogInterface.OnDismissListener, DialogInterface.OnCancelListener { Loading
android/app/src/com/android/bluetooth/btservice/AdapterService.java +123 −81 File changed.Preview size limit exceeded, changes collapsed. Show changes
android/app/src/com/android/bluetooth/gatt/GattService.java +11 −4 Original line number Diff line number Diff line Loading @@ -942,12 +942,12 @@ public class GattService extends ProfileService { } @Override public void getOwnAddress(int advertiserId) { public void getOwnAddress(int advertiserId, AttributionSource attributionSource) { GattService service = getService(); if (service == null) { return; } service.getOwnAddress(advertiserId); service.getOwnAddress(advertiserId, attributionSource); } @Override Loading Loading @@ -2523,8 +2523,15 @@ public class GattService extends ProfileService { mAdvertiseManager.stopAdvertisingSet(callback); } @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) void getOwnAddress(int advertiserId) { @RequiresPermission(allOf = { android.Manifest.permission.BLUETOOTH_ADVERTISE, android.Manifest.permission.BLUETOOTH_PRIVILEGED, }) void getOwnAddress(int advertiserId, AttributionSource attributionSource) { if (!Utils.checkAdvertisePermissionForDataDelivery( this, attributionSource, "GattService getOwnAddress")) { return; } enforcePrivilegedPermission(); mAdvertiseManager.getOwnAddress(advertiserId); } Loading
android/app/tests/unit/src/com/android/bluetooth/btservice/AdapterServiceTest.java +9 −9 Original line number Diff line number Diff line Loading @@ -184,7 +184,7 @@ public class AdapterServiceTest { mAdapterService.attach(mMockContext, null, null, null, mApplication, null); mAdapterService.onCreate(); mServiceBinder.registerCallback(mIBluetoothCallback); mServiceBinder.registerCallback(mIBluetoothCallback, mAttributionSource); Config.init(mMockContext); Loading @@ -194,7 +194,7 @@ public class AdapterServiceTest { @After public void tearDown() { mServiceBinder.unregisterCallback(mIBluetoothCallback); mServiceBinder.unregisterCallback(mIBluetoothCallback, mAttributionSource); mAdapterService.cleanup(); Config.init(InstrumentationRegistry.getTargetContext()); } Loading Loading @@ -227,7 +227,7 @@ public class AdapterServiceTest { verifyStateChange(BluetoothAdapter.STATE_BLE_TURNING_ON, BluetoothAdapter.STATE_BLE_ON, invocationNumber + 1, NATIVE_INIT_MS); mServiceBinder.onLeServiceUp(); mServiceBinder.onLeServiceUp(mAttributionSource); verifyStateChange(BluetoothAdapter.STATE_BLE_ON, BluetoothAdapter.STATE_TURNING_ON, invocationNumber + 1, CONTEXT_SWITCH_MS); Loading Loading @@ -275,7 +275,7 @@ public class AdapterServiceTest { verifyStateChange(BluetoothAdapter.STATE_TURNING_OFF, BluetoothAdapter.STATE_BLE_ON, invocationNumber + 1, PROFILE_SERVICE_TOGGLE_TIME_MS); mServiceBinder.onBrEdrDown(); mServiceBinder.onBrEdrDown(mAttributionSource); verifyStateChange(BluetoothAdapter.STATE_BLE_ON, BluetoothAdapter.STATE_BLE_TURNING_OFF, invocationNumber + 1, CONTEXT_SWITCH_MS); Loading Loading @@ -389,7 +389,7 @@ public class AdapterServiceTest { verifyStateChange(BluetoothAdapter.STATE_TURNING_OFF, BluetoothAdapter.STATE_BLE_ON, 1, CONTEXT_SWITCH_MS); mServiceBinder.onBrEdrDown(); mServiceBinder.onBrEdrDown(mAttributionSource); verifyStateChange(BluetoothAdapter.STATE_BLE_ON, BluetoothAdapter.STATE_BLE_TURNING_OFF, 1, CONTEXT_SWITCH_MS); Loading Loading @@ -424,7 +424,7 @@ public class AdapterServiceTest { verifyStateChange(BluetoothAdapter.STATE_BLE_TURNING_ON, BluetoothAdapter.STATE_BLE_ON, 1, NATIVE_INIT_MS); mServiceBinder.onLeServiceUp(); mServiceBinder.onLeServiceUp(mAttributionSource); verifyStateChange(BluetoothAdapter.STATE_BLE_ON, BluetoothAdapter.STATE_TURNING_ON, 1, CONTEXT_SWITCH_MS); Loading Loading @@ -656,7 +656,7 @@ public class AdapterServiceTest { byte[] obfuscatedAddress1 = mAdapterService.obfuscateAddress(device); Assert.assertTrue(obfuscatedAddress1.length > 0); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress1)); mServiceBinder.factoryReset(); mServiceBinder.factoryReset(mAttributionSource); byte[] obfuscatedAddress2 = mAdapterService.obfuscateAddress(device); Assert.assertTrue(obfuscatedAddress2.length > 0); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress2)); Loading @@ -668,7 +668,7 @@ public class AdapterServiceTest { Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress3)); Assert.assertArrayEquals(obfuscatedAddress3, obfuscatedAddress2); mServiceBinder.factoryReset(); mServiceBinder.factoryReset(mAttributionSource); byte[] obfuscatedAddress4 = mAdapterService.obfuscateAddress(device); Assert.assertTrue(obfuscatedAddress4.length > 0); Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress4)); Loading @@ -692,7 +692,7 @@ public class AdapterServiceTest { Assert.assertFalse(isByteArrayAllZero(obfuscatedAddress1)); Assert.assertArrayEquals(obfuscateInJava(metricsSalt1, device), obfuscatedAddress1); mServiceBinder.factoryReset(); mServiceBinder.factoryReset(mAttributionSource); tearDown(); setUp(); // Cannot verify metrics salt since it is not written to disk until native cleanup Loading