Loading service/src/com/android/server/bluetooth/BluetoothManagerService.java +19 −24 Original line number Diff line number Diff line Loading @@ -950,10 +950,6 @@ class BluetoothManagerService { return appCount; } boolean enableBleFromBinder(String packageName, IBinder token) { return postAndWait(() -> enableBle(packageName, token)); } boolean enableBle(String packageName, IBinder token) { Log.i( TAG, Loading Loading @@ -984,6 +980,7 @@ class BluetoothManagerService { return false; } // TODO(b/262605980): enableBle/disableBle should be on handler thread updateBleAppCount(token, true, packageName); if (mState.oneOf( Loading @@ -996,15 +993,12 @@ class BluetoothManagerService { return true; } synchronized (mReceiver) { // waive WRITE_SECURE_SETTINGS permission check sendEnableMsg(false, ENABLE_DISABLE_REASON_APPLICATION_REQUEST, packageName, true); } return true; } boolean disableBleFromBinder(String packageName, IBinder token) { return postAndWait(() -> disableBle(packageName, token)); } boolean disableBle(String packageName, IBinder token) { Log.i( TAG, Loading @@ -1023,6 +1017,7 @@ class BluetoothManagerService { Log.i(TAG, "disableBle: Already disabled"); return false; } // TODO(b/262605980): enableBle/disableBle should be on handler thread updateBleAppCount(token, false, packageName); if (mState.oneOf(STATE_BLE_ON) && !isBleAppPresent()) { Loading Loading @@ -1120,10 +1115,6 @@ class BluetoothManagerService { return Unit.INSTANCE; } boolean enableNoAutoConnectFromBinder(String packageName) { return postAndWait(() -> enableNoAutoConnect(packageName)); } boolean enableNoAutoConnect(String packageName) { if (isSatelliteModeOn()) { Log.d(TAG, "enableNoAutoConnect(" + packageName + "): Blocked by satellite mode"); Loading @@ -1138,10 +1129,6 @@ class BluetoothManagerService { return true; } boolean enableFromBinder(String packageName) { return postAndWait(() -> enable(packageName)); } boolean enable(String packageName) { Log.d( TAG, Loading @@ -1158,17 +1145,19 @@ class BluetoothManagerService { synchronized (mReceiver) { mQuietEnableExternal = false; mEnableExternal = true; // TODO(b/288450479): Remove clearCallingIdentity when threading is fixed final long callingIdentity = Binder.clearCallingIdentity(); try { AirplaneModeListener.notifyUserToggledBluetooth( mContentResolver, mCurrentUserContext, true); } finally { Binder.restoreCallingIdentity(callingIdentity); } sendEnableMsg(false, ENABLE_DISABLE_REASON_APPLICATION_REQUEST, packageName); } return true; } boolean disableFromBinder(String packageName, boolean persist) { return postAndWait(() -> disable(packageName, persist)); } boolean disable(String packageName, boolean persist) { Log.d( TAG, Loading @@ -1178,8 +1167,14 @@ class BluetoothManagerService { + (" mState=" + mState)); synchronized (mReceiver) { // TODO(b/288450479): Remove clearCallingIdentity when threading is fixed final long callingIdentity = Binder.clearCallingIdentity(); try { AirplaneModeListener.notifyUserToggledBluetooth( mContentResolver, mCurrentUserContext, false); } finally { Binder.restoreCallingIdentity(callingIdentity); } if (persist) { setBluetoothPersistedState(BLUETOOTH_OFF); Loading service/src/com/android/server/bluetooth/BluetoothServiceBinder.java +5 −5 Original line number Diff line number Diff line Loading @@ -113,7 +113,7 @@ class BluetoothServiceBinder extends IBluetoothManager.Stub { return false; } return mBluetoothManagerService.enableFromBinder(source.getPackageName()); return mBluetoothManagerService.enable(source.getPackageName()); } @Override Loading @@ -138,7 +138,7 @@ class BluetoothServiceBinder extends IBluetoothManager.Stub { throw new SecurityException("No permission to enable Bluetooth quietly"); } return mBluetoothManagerService.enableNoAutoConnectFromBinder(source.getPackageName()); return mBluetoothManagerService.enableNoAutoConnect(source.getPackageName()); } @Override Loading @@ -163,7 +163,7 @@ class BluetoothServiceBinder extends IBluetoothManager.Stub { return false; } return mBluetoothManagerService.disableFromBinder(source.getPackageName(), persist); return mBluetoothManagerService.disable(source.getPackageName(), persist); } @Override Loading Loading @@ -260,7 +260,7 @@ class BluetoothServiceBinder extends IBluetoothManager.Stub { return false; } return mBluetoothManagerService.enableBleFromBinder(source.getPackageName(), token); return mBluetoothManagerService.enableBle(source.getPackageName(), token); } @Override Loading @@ -283,7 +283,7 @@ class BluetoothServiceBinder extends IBluetoothManager.Stub { return false; } return mBluetoothManagerService.disableBleFromBinder(source.getPackageName(), token); return mBluetoothManagerService.disableBle(source.getPackageName(), token); } @Override Loading service/tests/src/com/android/server/bluetooth/BluetoothServiceBinderTest.java +8 −8 Original line number Diff line number Diff line Loading @@ -146,10 +146,10 @@ public class BluetoothServiceBinderTest { checkDisabled(() -> mBinder.enable(mSource)); checkHardDenied(() -> mBinder.enable(mSource), true); doReturn(true).when(mManagerService).enableFromBinder(any()); doReturn(true).when(mManagerService).enable(any()); checkGranted(() -> mBinder.enable(mSource), true); verify(mUserManager).getProfileParent(any()); verify(mManagerService).enableFromBinder(eq(TAG)); verify(mManagerService).enable(eq(TAG)); verifyMock(); } Loading Loading @@ -193,10 +193,10 @@ public class BluetoothServiceBinderTest { checkDisabled(() -> mBinder.disable(mSource, true)); checkHardDenied(() -> mBinder.disable(mSource, true), true); doReturn(true).when(mManagerService).disableFromBinder(any(), anyBoolean()); doReturn(true).when(mManagerService).disable(any(), anyBoolean()); checkGranted(() -> mBinder.disable(mSource, true), true); verify(mUserManager).getProfileParent(any()); verify(mManagerService).disableFromBinder(eq(TAG), anyBoolean()); verify(mManagerService).disable(eq(TAG), anyBoolean()); verifyMock(); } Loading Loading @@ -308,9 +308,9 @@ public class BluetoothServiceBinderTest { checkDisabled(() -> mBinder.enableBle(mSource, token)); checkHardDenied(() -> mBinder.enableBle(mSource, token), false); doReturn(true).when(mManagerService).enableBleFromBinder(eq(TAG), eq(token)); doReturn(true).when(mManagerService).enableBle(eq(TAG), eq(token)); checkGranted(() -> mBinder.enableBle(mSource, token), true); verify(mManagerService).enableBleFromBinder(eq(TAG), eq(token)); verify(mManagerService).enableBle(eq(TAG), eq(token)); verifyMock(); } Loading @@ -322,9 +322,9 @@ public class BluetoothServiceBinderTest { checkDisabled(() -> mBinder.disableBle(mSource, token)); checkHardDenied(() -> mBinder.disableBle(mSource, token), false); doReturn(true).when(mManagerService).disableBleFromBinder(eq(TAG), eq(token)); doReturn(true).when(mManagerService).disableBle(eq(TAG), eq(token)); checkGranted(() -> mBinder.disableBle(mSource, token), true); verify(mManagerService).disableBleFromBinder(eq(TAG), eq(token)); verify(mManagerService).disableBle(eq(TAG), eq(token)); verifyMock(); } Loading Loading
service/src/com/android/server/bluetooth/BluetoothManagerService.java +19 −24 Original line number Diff line number Diff line Loading @@ -950,10 +950,6 @@ class BluetoothManagerService { return appCount; } boolean enableBleFromBinder(String packageName, IBinder token) { return postAndWait(() -> enableBle(packageName, token)); } boolean enableBle(String packageName, IBinder token) { Log.i( TAG, Loading Loading @@ -984,6 +980,7 @@ class BluetoothManagerService { return false; } // TODO(b/262605980): enableBle/disableBle should be on handler thread updateBleAppCount(token, true, packageName); if (mState.oneOf( Loading @@ -996,15 +993,12 @@ class BluetoothManagerService { return true; } synchronized (mReceiver) { // waive WRITE_SECURE_SETTINGS permission check sendEnableMsg(false, ENABLE_DISABLE_REASON_APPLICATION_REQUEST, packageName, true); } return true; } boolean disableBleFromBinder(String packageName, IBinder token) { return postAndWait(() -> disableBle(packageName, token)); } boolean disableBle(String packageName, IBinder token) { Log.i( TAG, Loading @@ -1023,6 +1017,7 @@ class BluetoothManagerService { Log.i(TAG, "disableBle: Already disabled"); return false; } // TODO(b/262605980): enableBle/disableBle should be on handler thread updateBleAppCount(token, false, packageName); if (mState.oneOf(STATE_BLE_ON) && !isBleAppPresent()) { Loading Loading @@ -1120,10 +1115,6 @@ class BluetoothManagerService { return Unit.INSTANCE; } boolean enableNoAutoConnectFromBinder(String packageName) { return postAndWait(() -> enableNoAutoConnect(packageName)); } boolean enableNoAutoConnect(String packageName) { if (isSatelliteModeOn()) { Log.d(TAG, "enableNoAutoConnect(" + packageName + "): Blocked by satellite mode"); Loading @@ -1138,10 +1129,6 @@ class BluetoothManagerService { return true; } boolean enableFromBinder(String packageName) { return postAndWait(() -> enable(packageName)); } boolean enable(String packageName) { Log.d( TAG, Loading @@ -1158,17 +1145,19 @@ class BluetoothManagerService { synchronized (mReceiver) { mQuietEnableExternal = false; mEnableExternal = true; // TODO(b/288450479): Remove clearCallingIdentity when threading is fixed final long callingIdentity = Binder.clearCallingIdentity(); try { AirplaneModeListener.notifyUserToggledBluetooth( mContentResolver, mCurrentUserContext, true); } finally { Binder.restoreCallingIdentity(callingIdentity); } sendEnableMsg(false, ENABLE_DISABLE_REASON_APPLICATION_REQUEST, packageName); } return true; } boolean disableFromBinder(String packageName, boolean persist) { return postAndWait(() -> disable(packageName, persist)); } boolean disable(String packageName, boolean persist) { Log.d( TAG, Loading @@ -1178,8 +1167,14 @@ class BluetoothManagerService { + (" mState=" + mState)); synchronized (mReceiver) { // TODO(b/288450479): Remove clearCallingIdentity when threading is fixed final long callingIdentity = Binder.clearCallingIdentity(); try { AirplaneModeListener.notifyUserToggledBluetooth( mContentResolver, mCurrentUserContext, false); } finally { Binder.restoreCallingIdentity(callingIdentity); } if (persist) { setBluetoothPersistedState(BLUETOOTH_OFF); Loading
service/src/com/android/server/bluetooth/BluetoothServiceBinder.java +5 −5 Original line number Diff line number Diff line Loading @@ -113,7 +113,7 @@ class BluetoothServiceBinder extends IBluetoothManager.Stub { return false; } return mBluetoothManagerService.enableFromBinder(source.getPackageName()); return mBluetoothManagerService.enable(source.getPackageName()); } @Override Loading @@ -138,7 +138,7 @@ class BluetoothServiceBinder extends IBluetoothManager.Stub { throw new SecurityException("No permission to enable Bluetooth quietly"); } return mBluetoothManagerService.enableNoAutoConnectFromBinder(source.getPackageName()); return mBluetoothManagerService.enableNoAutoConnect(source.getPackageName()); } @Override Loading @@ -163,7 +163,7 @@ class BluetoothServiceBinder extends IBluetoothManager.Stub { return false; } return mBluetoothManagerService.disableFromBinder(source.getPackageName(), persist); return mBluetoothManagerService.disable(source.getPackageName(), persist); } @Override Loading Loading @@ -260,7 +260,7 @@ class BluetoothServiceBinder extends IBluetoothManager.Stub { return false; } return mBluetoothManagerService.enableBleFromBinder(source.getPackageName(), token); return mBluetoothManagerService.enableBle(source.getPackageName(), token); } @Override Loading @@ -283,7 +283,7 @@ class BluetoothServiceBinder extends IBluetoothManager.Stub { return false; } return mBluetoothManagerService.disableBleFromBinder(source.getPackageName(), token); return mBluetoothManagerService.disableBle(source.getPackageName(), token); } @Override Loading
service/tests/src/com/android/server/bluetooth/BluetoothServiceBinderTest.java +8 −8 Original line number Diff line number Diff line Loading @@ -146,10 +146,10 @@ public class BluetoothServiceBinderTest { checkDisabled(() -> mBinder.enable(mSource)); checkHardDenied(() -> mBinder.enable(mSource), true); doReturn(true).when(mManagerService).enableFromBinder(any()); doReturn(true).when(mManagerService).enable(any()); checkGranted(() -> mBinder.enable(mSource), true); verify(mUserManager).getProfileParent(any()); verify(mManagerService).enableFromBinder(eq(TAG)); verify(mManagerService).enable(eq(TAG)); verifyMock(); } Loading Loading @@ -193,10 +193,10 @@ public class BluetoothServiceBinderTest { checkDisabled(() -> mBinder.disable(mSource, true)); checkHardDenied(() -> mBinder.disable(mSource, true), true); doReturn(true).when(mManagerService).disableFromBinder(any(), anyBoolean()); doReturn(true).when(mManagerService).disable(any(), anyBoolean()); checkGranted(() -> mBinder.disable(mSource, true), true); verify(mUserManager).getProfileParent(any()); verify(mManagerService).disableFromBinder(eq(TAG), anyBoolean()); verify(mManagerService).disable(eq(TAG), anyBoolean()); verifyMock(); } Loading Loading @@ -308,9 +308,9 @@ public class BluetoothServiceBinderTest { checkDisabled(() -> mBinder.enableBle(mSource, token)); checkHardDenied(() -> mBinder.enableBle(mSource, token), false); doReturn(true).when(mManagerService).enableBleFromBinder(eq(TAG), eq(token)); doReturn(true).when(mManagerService).enableBle(eq(TAG), eq(token)); checkGranted(() -> mBinder.enableBle(mSource, token), true); verify(mManagerService).enableBleFromBinder(eq(TAG), eq(token)); verify(mManagerService).enableBle(eq(TAG), eq(token)); verifyMock(); } Loading @@ -322,9 +322,9 @@ public class BluetoothServiceBinderTest { checkDisabled(() -> mBinder.disableBle(mSource, token)); checkHardDenied(() -> mBinder.disableBle(mSource, token), false); doReturn(true).when(mManagerService).disableBleFromBinder(eq(TAG), eq(token)); doReturn(true).when(mManagerService).disableBle(eq(TAG), eq(token)); checkGranted(() -> mBinder.disableBle(mSource, token), true); verify(mManagerService).disableBleFromBinder(eq(TAG), eq(token)); verify(mManagerService).disableBle(eq(TAG), eq(token)); verifyMock(); } Loading