diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2022-03-09 13:44:57 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2022-03-09 13:44:57 +0000 |
commit | b63fe3e50771e89707b98edd2f8c6ce6514a33d1 (patch) | |
tree | 398f492a17efbe553f237022eaa70ec10096ded1 /service/java/com/android/server/bluetooth/BluetoothManagerService.java | |
parent | 852ea88030d8166763fed74ab37bff0650b0980b (diff) | |
parent | b58752d3b24db9a6989457b157606a2f6cc74fbb (diff) |
Merge "Add BluetoothShellCommand" am: ccf3bda9a2 am: b58752d3b2
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Bluetooth/+/1997211
Change-Id: I8ca12f3bec19f3d04fb25b5b7e6b3c2af6d189c5
Diffstat (limited to 'service/java/com/android/server/bluetooth/BluetoothManagerService.java')
-rw-r--r-- | service/java/com/android/server/bluetooth/BluetoothManagerService.java | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/service/java/com/android/server/bluetooth/BluetoothManagerService.java b/service/java/com/android/server/bluetooth/BluetoothManagerService.java index 5e066b996a..73c35895a3 100644 --- a/service/java/com/android/server/bluetooth/BluetoothManagerService.java +++ b/service/java/com/android/server/bluetooth/BluetoothManagerService.java @@ -69,6 +69,7 @@ import android.os.HandlerThread; import android.os.IBinder; import android.os.Looper; import android.os.Message; +import android.os.ParcelFileDescriptor; import android.os.PowerExemptionManager; import android.os.Process; import android.os.RemoteCallbackList; @@ -1025,7 +1026,7 @@ class BluetoothManagerService extends IBluetoothManager.Stub { // Check if packageName belongs to callingUid final int callingUid = Binder.getCallingUid(); final boolean isCallerSystem = UserHandle.getAppId(callingUid) == Process.SYSTEM_UID; - if (!isCallerSystem) { + if (!isCallerSystem && callingUid != Process.SHELL_UID) { checkPackage(callingUid, attributionSource.getPackageName()); if (requireForeground && !checkIfCallerIsForegroundUser()) { @@ -3049,6 +3050,14 @@ class BluetoothManagerService extends IBluetoothManager.Stub { attributionSource, message); } + @Override + public int handleShellCommand(@NonNull ParcelFileDescriptor in, + @NonNull ParcelFileDescriptor out, @NonNull ParcelFileDescriptor err, + @NonNull String[] args) { + return new BluetoothShellCommand(this, mContext).exec(this, in.getFileDescriptor(), + out.getFileDescriptor(), err.getFileDescriptor(), args); + } + static @NonNull Bundle getTempAllowlistBroadcastOptions() { final long duration = 10_000; final BroadcastOptions bOptions = BroadcastOptions.makeBasic(); |