diff options
author | Roshan Pius <rpius@google.com> | 2022-05-06 17:30:26 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2022-05-06 17:30:26 +0000 |
commit | 73aeb3265874df59c315697533b870edcf802b2f (patch) | |
tree | cc66dcdca9a84126bccd173df3def817661b2ae7 | |
parent | 032d5e6dbbce933444394835577de06cf984c35a (diff) | |
parent | 52c7af64c36b6efab1a2c3787535fd3b34359582 (diff) | |
download | Uwb-73aeb3265874df59c315697533b870edcf802b2f.tar.gz |
uwb(service): Disallow aoa result & interleaving in shell command am: 52c7af64c3
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/Uwb/+/18192115
Change-Id: I0c5ef5f96176c19e2f8ca7ec30234973f93fe750
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) |