diff options
| author | Roshan Pius <rpius@google.com> | 2021-04-01 11:16:31 -0700 |
|---|---|---|
| committer | Roshan Pius <rpius@google.com> | 2021-04-13 20:28:00 -0700 |
| commit | 3ec33a7ef6de5ca373f6904e49a873a350df653e (patch) | |
| tree | a2dfbe0d1ed3ec25565488a55e9269fc2a1f3e62 /core/java/android | |
| parent | 03d6450b478c28fe4f919cb6c8f60a17155bc1c0 (diff) | |
UwbService: Enforce UWB_RANGING runtime permission
i. Use the provided AttributionSource for runtime permission checks.
ii. Check for preflight permissions when the callbacks are registered
during openRanging.
iii. Check for data delivery permission when the callback is providing
a new ranging result.
Bug: 183904955
Test: Compiles
Change-Id: I8f3b42d865ac0d33d579ad4558b3aad6470bba94
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/uwb/IUwbAdapter.aidl | 5 | ||||
| -rw-r--r-- | core/java/android/uwb/RangingManager.java | 3 |
2 files changed, 5 insertions, 3 deletions
diff --git a/core/java/android/uwb/IUwbAdapter.aidl b/core/java/android/uwb/IUwbAdapter.aidl index 30da248e9e87..62f1c0c3fa0d 100644 --- a/core/java/android/uwb/IUwbAdapter.aidl +++ b/core/java/android/uwb/IUwbAdapter.aidl @@ -16,6 +16,7 @@ package android.uwb; +import android.content.AttributionSource; import android.os.PersistableBundle; import android.uwb.IUwbAdapterStateCallbacks; import android.uwb.IUwbRangingCallbacks; @@ -77,11 +78,13 @@ interface IUwbAdapter { * If the provided sessionHandle is already open for the calling client, then * #onRangingOpenFailed must be called and the new session must not be opened. * + * @param attributionSource AttributionSource to use for permission enforcement. * @param sessionHandle the session handle to open ranging for * @param rangingCallbacks the callbacks used to deliver ranging information * @param parameters the configuration to use for ranging */ - void openRanging(in SessionHandle sessionHandle, + void openRanging(in AttributionSource attributionSource, + in SessionHandle sessionHandle, in IUwbRangingCallbacks rangingCallbacks, in PersistableBundle parameters); diff --git a/core/java/android/uwb/RangingManager.java b/core/java/android/uwb/RangingManager.java index ff8b91207166..6bba79600598 100644 --- a/core/java/android/uwb/RangingManager.java +++ b/core/java/android/uwb/RangingManager.java @@ -63,8 +63,7 @@ public class RangingManager extends android.uwb.IUwbRangingCallbacks.Stub { new RangingSession(executor, callbacks, mAdapter, sessionHandle); mRangingSessionTable.put(sessionHandle, session); try { - // TODO: Pass in the attributionSource to the service. - mAdapter.openRanging(sessionHandle, this, params); + mAdapter.openRanging(attributionSource, sessionHandle, this, params); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } |
