diff --git a/services/core/java/com/android/server/BluetoothManagerService.java b/services/core/java/com/android/server/BluetoothManagerService.java index 85ff2be43be46..b4912bbc898d2 100644 --- a/services/core/java/com/android/server/BluetoothManagerService.java +++ b/services/core/java/com/android/server/BluetoothManagerService.java @@ -614,8 +614,12 @@ class BluetoothManagerService extends IBluetoothManager.Stub { } // waive WRITE_SECURE_SETTINGS permission check final long callingIdentity = Binder.clearCallingIdentity(); - Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.BLUETOOTH_ON, value); - Binder.restoreCallingIdentity(callingIdentity); + try { + Settings.Global.putInt(mContext.getContentResolver(), + Settings.Global.BLUETOOTH_ON, value); + } finally { + Binder.restoreCallingIdentity(callingIdentity); + } } /**