diff options
author | Roshan Pius <rpius@google.com> | 2022-05-06 17:54:45 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2022-05-06 17:54:45 +0000 |
commit | d97e822c335bb27941972477297f31bf489d202e (patch) | |
tree | cc66dcdca9a84126bccd173df3def817661b2ae7 | |
parent | 153967b89df62db2a668937573b6cc0bc402b28e (diff) | |
parent | 73aeb3265874df59c315697533b870edcf802b2f (diff) | |
download | Uwb-d97e822c335bb27941972477297f31bf489d202e.tar.gz |
uwb(service): Disallow aoa result & interleaving in shell command am: 52c7af64c3 am: 73aeb32658
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/Uwb/+/18192115
Change-Id: I24f4a7e4de5fc683e6d265b016fc58600e9341ef
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | service/java/com/android/server/uwb/UwbShellCommand.java | 8 | ||||
-rw-r--r-- | service/tests/src/com/android/server/uwb/UwbShellCommandTest.java | 9 |
2 files changed, 17 insertions, 0 deletions
diff --git a/service/java/com/android/server/uwb/UwbShellCommand.java b/service/java/com/android/server/uwb/UwbShellCommand.java index e7d6fed4..b7cead9e 100644 --- a/service/java/com/android/server/uwb/UwbShellCommand.java +++ b/service/java/com/android/server/uwb/UwbShellCommand.java @@ -349,6 +349,8 @@ public class UwbShellCommand extends BasicShellCommandHandler { FiraOpenSessionParams.Builder builder = new FiraOpenSessionParams.Builder(DEFAULT_FIRA_OPEN_SESSION_PARAMS); boolean shouldBlockCall = false; + boolean interleavingEnabled = false; + boolean aoaResultReqEnabled = false; String option = getNextOption(); while (option != null) { if (option.equals("-b")) { @@ -431,6 +433,7 @@ public class UwbShellCommand extends BasicShellCommandHandler { numOfRangeMsrmts, numOfAoaAzimuthMrmts, numOfAoaElevationMrmts); + interleavingEnabled = true; } if (option.equals("-e")) { String aoaType = getNextArgRequired(); @@ -447,9 +450,14 @@ public class UwbShellCommand extends BasicShellCommandHandler { } else { throw new IllegalArgumentException("Unknown aoa type: " + aoaType); } + aoaResultReqEnabled = true; } option = getNextOption(); } + if (aoaResultReqEnabled && interleavingEnabled) { + throw new IllegalArgumentException( + "Both interleaving (-z) and aoa result req (-e) cannot be specified"); + } // TODO: Add remaining params if needed. return Pair.create(builder.build(), shouldBlockCall); } diff --git a/service/tests/src/com/android/server/uwb/UwbShellCommandTest.java b/service/tests/src/com/android/server/uwb/UwbShellCommandTest.java index b8d1c3b7..3d5504ee 100644 --- a/service/tests/src/com/android/server/uwb/UwbShellCommandTest.java +++ b/service/tests/src/com/android/server/uwb/UwbShellCommandTest.java @@ -268,6 +268,15 @@ public class UwbShellCommandTest { openSessionParamsBuilder.build()); } + @Test + public void testStartFiraRangingWithBothInterleavingAndAoaResultReq() throws Exception { + // Both AOA result req and interleaving are not allowed in the same command. + assertThat(mUwbShellCommand.exec( + new Binder(), new FileDescriptor(), new FileDescriptor(), new FileDescriptor(), + new String[]{"start-fira-ranging-session", "-i", "5", "-z", "4,5,6", "-e", + "enabled"})).isEqualTo(-1); + } + private RangingMeasurement getRangingMeasurement() { return new RangingMeasurement.Builder() .setStatus(RangingMeasurement.RANGING_STATUS_SUCCESS) |