summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoshan Pius <rpius@google.com>2022-05-06 17:54:45 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2022-05-06 17:54:45 +0000
commitd97e822c335bb27941972477297f31bf489d202e (patch)
treecc66dcdca9a84126bccd173df3def817661b2ae7
parent153967b89df62db2a668937573b6cc0bc402b28e (diff)
parent73aeb3265874df59c315697533b870edcf802b2f (diff)
downloadUwb-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.java8
-rw-r--r--service/tests/src/com/android/server/uwb/UwbShellCommandTest.java9
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)