Commit Graph

37 Commits

Author SHA1 Message Date
Brian Stack
16fddb444e Pass SessionHandle to UWB Service when opening a session
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
2021-03-10 12:23:24 -08:00
Brian Stack
0f692d57d0 Return CancellationSignal when opening UWB session
Returns a CancellationSignal instead of an AutoCloseable when calling
UwbManager#openRangingSession per API feedback.

Bug: 180396069
Test: atest UwbManagerTests CtsUwbTestCases
Change-Id: I74482c56d1a3686b570c90e7d3c11e45ec2f0adc
2021-03-10 12:23:20 -08:00
Brian Stack
7dd9d0499d Address UWB API feedback
Update AngleOfArrivalMeasurement and AngleMeasurement to address
feedback received on API surface.

Bug: 180395817
Test: atest UwbManagerTests CtsUwbTestCases
Change-Id: Iec572ed9df22440a5b068d9e7fbf73026970d5d3
2021-03-10 12:23:17 -08:00
Brian Stack
bd03c96317 Remove unnecessary UWB functions
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
2021-02-22 10:57:47 -08:00
Brian Stack
494aad3c8d Merge "Update UWB OWNERS" 2021-02-18 16:31:59 +00:00
Brian Stack
be1df1fed9 Update UWB OWNERS
Bug: 180514254
Test: N/A
Change-Id: I5998d024976ce4c171421a0c84d951914ccd5403
2021-02-17 10:42:54 -08:00
Brian Stack
996b7150ec Move UWB Tests to CTS
Bug: 179961516
Test: atest UwbManagerTests
Change-Id: I3bebae28e543e6931578488a75bfa30b4171b6ae
2021-02-17 09:20:36 -08:00
Brian Stack
613b8c890b Merge "Add new android.permission.UWB_PRIVILEGED" 2021-02-17 16:27:50 +00:00
Brian Stack
7d487f4001 Implement SessionHandle.hashCode()
Bug: 178807258
Test: atest UwbManagerTests
Change-Id: Ib3d518c136282393f4f3bb06388404f76fad5b73
2021-02-08 20:59:31 +00:00
Brian Stack
797aa2e1bb Fix log message errors in RangingManager
Bug: 179492073
Test: atest UwbManagerTests
Change-Id: I0fc429cc95e52bb16e40a6d24900bc657fefc9d3
2021-02-05 09:58:25 -08:00
Brian Stack
eb88ced71d Add new android.permission.UWB_PRIVILEGED
Bug: 170323306
Bug: 179051092
Test: atest UwbManagerTests
Change-Id: I79803ea71c706da558dbac11a075e65d1eece813
2021-02-02 11:56:35 -08:00
Brian Stack
4b2df3970c Add UWB APIs to SystemApi
Bug: 170323306
Test: atest UwbManagerTests
Change-Id: Id05accd44918ac6b9f11e78ee742fbd007896f7a
2021-01-21 09:41:39 -08:00
Brian Stack
674c30d330 Add control functions to RangingSession
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
2021-01-07 13:25:39 -08:00
Brian Stack
b279293d3b Implements UWB RangingManager and RangingSession
Bug: 170323306
Test: atest UwbManagerTests
Test: New RangingManagerTest and RangingSessionTest pass

Change-Id: I544cca2dc80c68c18994584247bb5e831bb734a2
2020-12-15 16:05:14 -08:00
Brian Stack
0070e26a5e Merge "Ensure UWB conforms to API guidelines" 2020-12-16 00:01:26 +00:00
Brian Stack
bf2f411e26 Add OWNERS to UWB
Bug: 175698723
Test: Manual
Change-Id: Ia1982ed3864bbffcce5f4f9192a3cb681085e387
2020-12-15 10:26:49 -08:00
Brian Stack
a3f2c14a7a Ensure UWB conforms to API guidelines
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
2020-12-04 11:46:43 -08:00
Brian Stack
93964f8f80 Implement UWB AdapterStateListener
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
2020-12-03 17:45:51 -08:00
Brian Stack
8cc2de8ccd Implement UwbManager functions
Provides implementations for the basic UwbManager functions that
directly query the UWB Service.

Bug: 170323306
Test: atest UwbManagerTests
Change-Id: Ic45aa87ce90c414642e3186890f6ef08e1fd8486
2020-12-03 16:55:41 -08:00
Brian Stack
3163bf0d35 Expose UwbManager through Context.getSystemService
Bug: 170323306
Test: atest UwbManagerTests
Change-Id: I04c1263a191fcfeee5824be5d6d1944354819d02
Merged-In: I04c1263a191fcfeee5824be5d6d1944354819d02
2020-12-02 13:58:28 -08:00
Brian Stack
06ed05563c Add UWB AIDL
Adds the UWB AIDL interface used to communicate with the UWB Service

Bug: 170323306
Test: atest UwbManagerTests

Change-Id: I746a5b7c453a54cc3c8c34dc356d8165df20c739
2020-11-17 10:37:07 -08:00
Treehugger Robot
412a12977c Merge "Remove UWB RangingParams" 2020-11-12 02:37:44 +00:00
Brian Stack
82b760990c Fix typo in AngleOfArrivalSupportType values
Bug: 170323306
Test: Builds
Change-Id: Ic7721a7bba8fe40d57652df3a3a62abf39cf2852
2020-11-09 16:15:00 -08:00
Brian Stack
a2bac82063 Remove UWB RangingParams
Replace the RangingParams with a PersistableBundle in order to allow
parameter creation to be consolidated.

Bug: 170323306
Test: atest UwbManagerTests
Change-Id: I3d86c66acda367c819c2ad1ff884564ba8ca47c7
2020-11-04 12:29:53 -08:00
Brian Stack
1a702459c5 Add UWB Tests to verify Builders and Parcels
Bug: 170323306
Test: atest UwbManagerTests
Test: Runnng `atest` in frameworks/base/core/java/android/uwb runs
      UwbManagerTests

Change-Id: I4d46baf7886376cd0255fb9ae78fc12bc94f10a6
2020-11-03 09:15:05 -08:00
Brian Stack
3c99301acb Implement parcelable for UWB types
Make the UWB objects parcelable so that they may be re-used in AIDL
interfaces.

Bug: 170323306
Test: Builds

Change-Id: I8d3b81a581e66f2c777bedfd42a877548a51e875
2020-10-30 15:31:18 -07:00
Brian Stack
9ae9b395e0 Implement UWB Address
Bug: 170323306
Test: Builds

Change-Id: I36a6c9f1dd995e3a1d50f5eea3c4ef14d15a123e
2020-10-30 15:31:13 -07:00
Brian Stack
ff9bc76580 Implement RangingReport and Builder
Bug: 170323306
Test: Builds
Change-Id: I732f0e78c55cc0fbae46c26ba8f82b81bff3d49d
2020-10-20 09:35:30 -07:00
Brian Stack
f6fff8a75b Implement RangingMeasurement and Builder
Bug: 170323306
Test: Builds
Change-Id: I7a8f668c247ec9163ac9068ef549a88f05b7dc8b
2020-10-19 17:30:20 -07:00
Brian Stack
c19667c5ca Implement DistanceMeasurement and associated Builder
Bug: 170323306
Test: Builds
Change-Id: I1f439621afa2fac75ff4027fdba016b3862dc567
2020-10-19 17:30:20 -07:00
Brian Stack
9c1359a73a Implement AngleOfArrivalMeasurement and AngleMeasurement
Bug: 170323306
Test: Builds
Change-Id: I55122a7b0c34cc69d2b0be3fc230d45f24a18c87
2020-10-19 17:30:20 -07:00
Brian Stack
77fffb5192 Implement RangingParams and Builder
Implements the RangingParams.Builder class and implements
RangingParams functions.

Bug: 170323306
Test: Builds
Change-Id: I83c4349706c2e4426a2e349850c763e0689434ce
2020-10-19 17:30:20 -07:00
Brian Stack
5f566d6888 Add UWB RangingSession
Introduces the UWB RangingSession used to control ranging. Also
introduces a function to UwbManager to start ranging.

Bug: 170323306
Test: Builds
Change-Id: I014ebb203cff064b3009b246acb967d018833b06
2020-10-19 17:30:16 -07:00
Brian Stack
17e71839ef Add UWB RangingParameters
RangingParameters define how a UWB Ranging Session should be
performed.

Bug: 170323306
Test: Builds
Change-Id: Ie238e8e5748cfb050e0dc6560ca35a2effe09967
2020-10-15 14:51:36 -07:00
Brian Stack
7952df19b7 Add UWB Ranging Measurement classes
Adds the types needed to report UWB ranging and angle of arrival
information.

Bug: 170323306
Test: Builds
Change-Id: I113e33a77202d0b8d59f48de58fcc0bda4a8bc39
2020-10-15 14:51:31 -07:00
Brian Stack
4bde2ef7b4 Add UwbAddress to represent a UWB device
Bug: 170323306
Test: Builds
Change-Id: I2bd30993760b3edd665eab1660bb6befaec7cf0d
2020-10-15 14:41:49 -07:00
Brian Stack
0b216e365c Add UwbManager API Stubs
Adds the initial API stubs for checking a device's Ultra Wideband
capabilities.

Bug: 170323306
Test: Builds

Change-Id: I6bd58a5fcee1deb151f2120ad3b18f5f7554ae8f
2020-10-08 11:51:36 -07:00