Settings is the only client that uses the setUwbEnabled API and does not
need to register a callback.
Bug: 190599683
Test: CTS and Robotest
Change-Id: I2f360189c03b74f2636410dc21fda7041a35f376
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
This thin AOSP service layer will trampoline all API calls to the vendor
UWB service.
In follow up CL's,
i. The AOSP service will perform all the permission checks
necessary for this API surface before forwarding the call to the vendor
UWB service.
ii. Similarly, it will perform necessary permission checks +
noteOp before forwarding the ranging callbacks from the vendor service
back to the apps.
Bug: 183904955
Test: atest android.uwb.cts.UwbManagerTest
Test: atest com.android.server.uwb
Change-Id: I2b367d1b6accc2f4e075cacb5c8e3c51f1faf5db
This attribution source is going to be used by Gmscore to proxy
the blame for uwb_ranging runtime permission check (since Gmscore which
is the direct caller of this surface is in most cases proxying the
request from 1p/3p apps).
Note: This CL just adds the skeletal API to start the API reviews. The
actual implementation needs a major refactor of the stack which is WIP.
Bug: 183904955
Test: atest android.uwb
Change-Id: Ia0338b573306f44c493bf1c136e68b4f46877816
Instead of having the UWB Service generate a SessionHandle for each
call to IUwbAdapter#openRanging, now the framework must select and
pass in a SessionHandle. This helps to improve consistency across the
API surface and simplifies the implementation of
IUwbAdapter#openRanging.
Bug: 179273688
Test: atest UwbManagerTests
Change-Id: Ie08216638c8a5bf7260fff8752a46aad06f53fcb
Merged-In: Ie08216638c8a5bf7260fff8752a46aad06f53fcb
Returns a CancellationSignal instead of an AutoCloseable when calling
UwbManager#openRangingSession per API feedback.
Bug: 180396069
Test: atest UwbManagerTests CtsUwbTestCases
Change-Id: I74482c56d1a3686b570c90e7d3c11e45ec2f0adc
Merged-In: I74482c56d1a3686b570c90e7d3c11e45ec2f0adc
Update AngleOfArrivalMeasurement and AngleMeasurement to address
feedback received on API surface.
Bug: 180395817
Test: atest UwbManagerTests CtsUwbTestCases
Change-Id: Iec572ed9df22440a5b068d9e7fbf73026970d5d3
Merged-In: Iec572ed9df22440a5b068d9e7fbf73026970d5d3
The removed functions provided no added benefit to the current UWB
API. For instance, the supported channels for an individual protocol
may be different than what UwbManager#getSupportedChannelsNumbers
would return. Instead, the supported channels are provided through the
UwbManager#getSpecificationInfo API which allows a client to easily
see which channels (and other parameters) a particular protocol
supports.
Bug: 180533171
Test: atest UwbManagerTests CtsUwbTestCases
Change-Id: I81675429d73486f0b002e76acabaa4883990ab11
Merged-In: I81675429d73486f0b002e76acabaa4883990ab11
Adds start, stop and reconfigure functions to UWB's RangingSession
along with associated callbacks in RangingSession.Callback.
This change also modifies the UwbManager.openRangingSession function
to only open a ranging session and not actively start ranging. In
order to start ranging, use RangingSession.start() once
RangingSession.Callback.onRangingOpened has been called.
The Ranging Session API now consists of:
UwbManager.openRangingSession
RangingSession.start
RangingSession.stop
RangingSession.reconfigure
RangingSession.close
Bug: 173799002
Bug: 170323306
Test: atest UwbManagerTests
Change-Id: I4cc7fbc1bb1cd3b0e75aa9cc57a1ad59d39d6f50
Adds the necessarily @NonNull and @hide annotations to the UWB classes
to be in alignment with API guidelines. Also ensures that getters and
setters for the same values have consistent names.
Bug: 170323306
Test: atest UwbManagerTests
Change-Id: I26ce17c9ef1eaa63261d83fa341451e04b164970
The AdapterStateListener registers with the underlying UWB Service for
UWB Adapter state changes and notifies registered client callbacks.
Bug: 170323306
Test: atest UwbManagerTests
Change-Id: Ie8ba8208909652b98ee2df15e08433627542f28b
Provides implementations for the basic UwbManager functions that
directly query the UWB Service.
Bug: 170323306
Test: atest UwbManagerTests
Change-Id: Ic45aa87ce90c414642e3186890f6ef08e1fd8486
Adds the UWB AIDL interface used to communicate with the UWB Service
Bug: 170323306
Test: atest UwbManagerTests
Change-Id: I746a5b7c453a54cc3c8c34dc356d8165df20c739
Replace the RangingParams with a PersistableBundle in order to allow
parameter creation to be consolidated.
Bug: 170323306
Test: atest UwbManagerTests
Change-Id: I3d86c66acda367c819c2ad1ff884564ba8ca47c7
Make the UWB objects parcelable so that they may be re-used in AIDL
interfaces.
Bug: 170323306
Test: Builds
Change-Id: I8d3b81a581e66f2c777bedfd42a877548a51e875
Implements the RangingParams.Builder class and implements
RangingParams functions.
Bug: 170323306
Test: Builds
Change-Id: I83c4349706c2e4426a2e349850c763e0689434ce
Introduces the UWB RangingSession used to control ranging. Also
introduces a function to UwbManager to start ranging.
Bug: 170323306
Test: Builds
Change-Id: I014ebb203cff064b3009b246acb967d018833b06