diff options
| author | 2021-04-07 11:26:40 +0900 | |
|---|---|---|
| committer | 2021-04-07 12:46:35 +0900 | |
| commit | dd0543f051f851a5d4397b4a4e38c865275a16bc (patch) | |
| tree | caa8aeb6ec7308f126916825088beff9d7e36cad | |
| parent | 1f0cc46671ff522eda08149016d4fad77295569b (diff) | |
UWB: Add Reason to onRangingStop()
Bug: 184689372
Test: atest android.uwb
Signed-off-by: Harpreet Eli Sangha <eliptus@google.com>
Change-Id: Iff880ac6d8343df784fb8cb830ec830749351820
| -rw-r--r-- | core/api/system-current.txt | 2 | ||||
| -rw-r--r-- | core/java/android/uwb/IUwbRangingCallbacks.aidl | 6 | ||||
| -rw-r--r-- | core/java/android/uwb/RangingManager.java | 5 | ||||
| -rw-r--r-- | core/java/android/uwb/RangingSession.java | 10 | ||||
| -rw-r--r-- | core/tests/uwbtests/src/android/uwb/RangingManagerTest.java | 4 |
5 files changed, 18 insertions, 9 deletions
diff --git a/core/api/system-current.txt b/core/api/system-current.txt index 930c2986a329..e68481f019aa 100644 --- a/core/api/system-current.txt +++ b/core/api/system-current.txt @@ -14218,7 +14218,7 @@ package android.uwb { method public void onStartFailed(int, @NonNull android.os.PersistableBundle); method public void onStarted(@NonNull android.os.PersistableBundle); method public void onStopFailed(int, @NonNull android.os.PersistableBundle); - method public void onStopped(); + method public void onStopped(int, @NonNull android.os.PersistableBundle); field public static final int REASON_BAD_PARAMETERS = 3; // 0x3 field public static final int REASON_GENERIC_ERROR = 4; // 0x4 field public static final int REASON_LOCAL_REQUEST = 1; // 0x1 diff --git a/core/java/android/uwb/IUwbRangingCallbacks.aidl b/core/java/android/uwb/IUwbRangingCallbacks.aidl index f71f3ff7ad44..f15debbf3e6f 100644 --- a/core/java/android/uwb/IUwbRangingCallbacks.aidl +++ b/core/java/android/uwb/IUwbRangingCallbacks.aidl @@ -92,9 +92,13 @@ interface IUwbRangingCallbacks { * Called when the ranging session has been stopped * * @param sessionHandle the session the callback is being invoked for + * @param reason the reason the session was stopped + * @param parameters protocol specific parameters */ - void onRangingStopped(in SessionHandle sessionHandle); + void onRangingStopped(in SessionHandle sessionHandle, + RangingChangeReason reason, + in PersistableBundle parameters); /** * Called when a ranging session fails to stop diff --git a/core/java/android/uwb/RangingManager.java b/core/java/android/uwb/RangingManager.java index 5c7f0f5cb1e0..ff8b91207166 100644 --- a/core/java/android/uwb/RangingManager.java +++ b/core/java/android/uwb/RangingManager.java @@ -171,7 +171,8 @@ public class RangingManager extends android.uwb.IUwbRangingCallbacks.Stub { } @Override - public void onRangingStopped(SessionHandle sessionHandle) { + public void onRangingStopped(SessionHandle sessionHandle, @RangingChangeReason int reason, + PersistableBundle params) { synchronized (this) { if (!hasSession(sessionHandle)) { Log.w(TAG, "onRangingStopped - received unexpected SessionHandle: " @@ -180,7 +181,7 @@ public class RangingManager extends android.uwb.IUwbRangingCallbacks.Stub { } RangingSession session = mRangingSessionTable.get(sessionHandle); - session.onRangingStopped(); + session.onRangingStopped(convertToReason(reason), params); } } diff --git a/core/java/android/uwb/RangingSession.java b/core/java/android/uwb/RangingSession.java index 52ec5bde0dac..345b69df84d5 100644 --- a/core/java/android/uwb/RangingSession.java +++ b/core/java/android/uwb/RangingSession.java @@ -191,8 +191,11 @@ public final class RangingSession implements AutoCloseable { /** * Invoked when a request to stop the session succeeds + * + * @param reason reason for the session stop + * @param parameters protocol specific parameters related to the stop reason */ - void onStopped(); + void onStopped(@Reason int reason, @NonNull PersistableBundle parameters); /** * Invoked when a request to stop the session fails @@ -434,14 +437,15 @@ public final class RangingSession implements AutoCloseable { /** * @hide */ - public void onRangingStopped() { + public void onRangingStopped(@Callback.Reason int reason, + @NonNull PersistableBundle params) { if (mState == State.CLOSED) { Log.w(TAG, "onRangingStopped invoked for a closed session"); return; } mState = State.IDLE; - executeCallback(() -> mCallback.onStopped()); + executeCallback(() -> mCallback.onStopped(reason, params)); } /** diff --git a/core/tests/uwbtests/src/android/uwb/RangingManagerTest.java b/core/tests/uwbtests/src/android/uwb/RangingManagerTest.java index 8271bed940e2..5de6d4208baf 100644 --- a/core/tests/uwbtests/src/android/uwb/RangingManagerTest.java +++ b/core/tests/uwbtests/src/android/uwb/RangingManagerTest.java @@ -128,8 +128,8 @@ public class RangingManagerTest { rangingManager.onRangingReconfigureFailed(handle, REASON, PARAMS); verify(callback, times(1)).onReconfigureFailed(eq(REASON), eq(PARAMS)); - rangingManager.onRangingStopped(handle); - verify(callback, times(1)).onStopped(); + rangingManager.onRangingStopped(handle, REASON, PARAMS); + verify(callback, times(1)).onStopped(eq(REASON), eq(PARAMS)); rangingManager.onRangingStopFailed(handle, REASON, PARAMS); verify(callback, times(1)).onStopFailed(eq(REASON), eq(PARAMS)); |