Commit Graph

25 Commits

Author SHA1 Message Date
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