diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2024-03-04 22:13:35 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2024-03-04 22:13:35 +0000 |
commit | 786e57a836470100294542b75bcdb4a69f408345 (patch) | |
tree | 26d837d20e1a11d2121230fdea878f45dd193cec | |
parent | 0348a9532e7f2cc0759254dce01c10ec55ff4c8e (diff) | |
parent | fcf2f8340b75bb80a62c2af488f86dfb6d447195 (diff) | |
download | Uwb-simpleperf-release.tar.gz |
Snap for 11526323 from fcf2f8340b75bb80a62c2af488f86dfb6d447195 to simpleperf-releasesimpleperf-release
Change-Id: I2fff8a9a7c91ff8e789e90b5529dc804d89728b5
-rw-r--r-- | service/java/com/android/server/uwb/UwbSessionManager.java | 15 | ||||
-rw-r--r-- | service/tests/src/com/android/server/uwb/UwbSessionManagerTest.java | 4 | ||||
-rw-r--r-- | service/uci/jni/src/helper.rs | 5 |
3 files changed, 11 insertions, 13 deletions
diff --git a/service/java/com/android/server/uwb/UwbSessionManager.java b/service/java/com/android/server/uwb/UwbSessionManager.java index 06ed3e07..eb3910d1 100644 --- a/service/java/com/android/server/uwb/UwbSessionManager.java +++ b/service/java/com/android/server/uwb/UwbSessionManager.java @@ -479,21 +479,18 @@ public class UwbSessionManager implements INativeUwbManager.SessionNotification, int prevState = uwbSession.getSessionState(); setCurrentSessionState((int) sessionId, state); - // Store the reasonCode before notifying on the waitObj. - synchronized (uwbSession.getWaitObj()) { - uwbSession.setLastSessionStatusNtfReasonCode(reasonCode); - } - if ((uwbSession.getOperationType() == SESSION_ON_DEINIT && state == UwbUciConstants.UWB_SESSION_STATE_IDLE) || (uwbSession.getOperationType() == SESSION_STOP_RANGING && state == UwbUciConstants.UWB_SESSION_STATE_IDLE && reasonCode != REASON_STATE_CHANGE_WITH_SESSION_MANAGEMENT_COMMANDS)) { Log.d(TAG, "Session status NTF is received due to in-band session state change"); - } else { - synchronized (uwbSession.getWaitObj()) { - uwbSession.getWaitObj().blockingNotify(); - } + } + + // Store the reasonCode before notifying on the waitObj. + synchronized (uwbSession.getWaitObj()) { + uwbSession.setLastSessionStatusNtfReasonCode(reasonCode); + uwbSession.getWaitObj().blockingNotify(); } //TODO : process only error handling in this switch function, b/218921154 diff --git a/service/tests/src/com/android/server/uwb/UwbSessionManagerTest.java b/service/tests/src/com/android/server/uwb/UwbSessionManagerTest.java index 54066bf4..a1ef9197 100644 --- a/service/tests/src/com/android/server/uwb/UwbSessionManagerTest.java +++ b/service/tests/src/com/android/server/uwb/UwbSessionManagerTest.java @@ -902,7 +902,7 @@ public class UwbSessionManagerTest { UwbUciConstants.UWB_SESSION_STATE_IDLE, UwbUciConstants.REASON_MAX_RANGING_ROUND_RETRY_COUNT_REACHED); - verify(mockUwbSession, times(3)).getWaitObj(); + verify(mockUwbSession, times(2)).getWaitObj(); verify(mockUwbSession).setSessionState(eq(UwbUciConstants.UWB_SESSION_STATE_IDLE)); verify(mUwbSessionNotificationManager).onRangingStoppedWithUciReasonCode( eq(mockUwbSession), @@ -922,7 +922,7 @@ public class UwbSessionManagerTest { UwbUciConstants.UWB_SESSION_STATE_IDLE, UwbUciConstants.REASON_STATE_CHANGE_WITH_SESSION_MANAGEMENT_COMMANDS); - verify(mockUwbSession, times(3)).getWaitObj(); + verify(mockUwbSession, times(2)).getWaitObj(); verify(mockUwbSession).setSessionState(eq(UwbUciConstants.UWB_SESSION_STATE_IDLE)); verify(mUwbSessionNotificationManager, never()).onRangingStoppedWithUciReasonCode( any(), anyInt()); diff --git a/service/uci/jni/src/helper.rs b/service/uci/jni/src/helper.rs index 6e092680..829022aa 100644 --- a/service/uci/jni/src/helper.rs +++ b/service/uci/jni/src/helper.rs @@ -37,10 +37,11 @@ pub(crate) fn byte_result_helper<T>(result: Result<T>, error_msg: &str) -> jbyte /// helper function to convert Result to StatusCode fn result_to_status_code<T>(result: Result<T>, error_msg: &str) -> StatusCode { - match result.map_err(|e| { + let result = result.map_err(|e| { error!("{} failed with {:?}", error_msg, &e); e - }) { + }); + match result { Ok(_) => StatusCode::UciStatusOk, Err(Error::BadParameters) => StatusCode::UciStatusInvalidParam, Err(Error::MaxSessionsExceeded) => StatusCode::UciStatusMaxSessionsExceeded, |