FiRa Consortium - CR 423 - Interval based scheduling removal cleanup
Bug: 285984664
Test: atest ServiceUwbTests
Change-Id: I15dc702cd13b37be70212949390619e236467d35
diff --git a/docs/FiRa_CRs_Android.csv b/docs/FiRa_CRs_Android.csv
index ec58d3f..4cd8c4c 100644
--- a/docs/FiRa_CRs_Android.csv
+++ b/docs/FiRa_CRs_Android.csv
@@ -74,7 +74,7 @@
CR414,NA,CR adds clarifying text; no Android stack changes required
CR421,NA,Marked as N/A (MAC)
CR422,NA,CR specifies interpretation of existing field; no Android stack change required
-CR423,NO,
+CR423,Yes,Ranging interval renaming not addressed
CR424,YES,
CR425,NA,Marked as N/A (MAC)
CR426,NA,CR clarifies UWBS behavior; no Android stack changes required
diff --git a/flags/uwb_flags.aconfig b/flags/uwb_flags.aconfig
index d507e7c..7616b56 100644
--- a/flags/uwb_flags.aconfig
+++ b/flags/uwb_flags.aconfig
@@ -33,4 +33,11 @@
namespace: "uwb"
description: "Parse the UWBS Capability tag(s) based on it's Fira UCI version"
bug: "301834443"
-}
\ No newline at end of file
+}
+
+flag {
+ name: "cr423_cleanup_interval_scheduling"
+ namespace: "uwb"
+ description: "Implement CR-423: Remove Interval-based scheduling for Fira 2.0+ devices"
+ bug: "285984664"
+}
diff --git a/service/java/com/android/server/uwb/UwbConfigurationManager.java b/service/java/com/android/server/uwb/UwbConfigurationManager.java
index 7ad5455..fe7076c 100644
--- a/service/java/com/android/server/uwb/UwbConfigurationManager.java
+++ b/service/java/com/android/server/uwb/UwbConfigurationManager.java
@@ -89,34 +89,35 @@
* Retrieve app configurations from UWBS.
*/
public <T extends Params> Pair<Integer, T> getAppConfigurations(int sessionId,
- String protocolName, byte[] appConfigIds, Class<T> paramType, String chipId) {
+ String protocolName, byte[] appConfigIds, Class<T> paramType, String chipId,
+ ProtocolVersion protocolVersion) {
Log.d(TAG, "getAppConfigurations for protocol: " + protocolName);
UwbTlvData getAppConfig = mNativeUwbManager.getAppConfigurations(sessionId,
appConfigIds.length, appConfigIds.length, appConfigIds, chipId);
Log.i(TAG, "getAppConfigurations respData: "
+ (getAppConfig != null ? getAppConfig.toString() : "null"));
- return decodeTLV(protocolName, getAppConfig, paramType);
+ return decodeTLV(protocolName, getAppConfig, paramType, protocolVersion);
}
/**
* Retrieve capability information from UWBS.
*/
public <T extends Params> Pair<Integer, T> getCapsInfo(String protocolName,
- Class<T> paramType, String chipId) {
+ Class<T> paramType, String chipId, ProtocolVersion protocolVersion) {
Log.d(TAG, "getCapsInfo for protocol: " + protocolName);
UwbTlvData capsInfo = mNativeUwbManager.getCapsInfo(chipId);
Log.i(TAG, "getCapsInfo respData: "
+ (capsInfo != null ? capsInfo.toString() : "null"));
- return decodeTLV(protocolName, capsInfo, paramType);
+ return decodeTLV(protocolName, capsInfo, paramType, protocolVersion);
}
/**
* Common decode TLV function based on protocol
*/
public <T extends Params> Pair<Integer, T> decodeTLV(String protocolName,
- UwbTlvData tlvData, Class<T> paramType) {
+ UwbTlvData tlvData, Class<T> paramType, ProtocolVersion protocolVersion) {
int status;
if (tlvData != null) {
status = tlvData.getStatus();
@@ -138,7 +139,7 @@
}
T params = null;
try {
- params = decoder.getParams(tlvs, paramType);
+ params = decoder.getParams(tlvs, paramType, protocolVersion);
} catch (IllegalArgumentException e) {
Log.e(TAG, "Failed to decode", e);
}
diff --git a/service/java/com/android/server/uwb/UwbServiceCore.java b/service/java/com/android/server/uwb/UwbServiceCore.java
index 233a421..ff3d95a 100644
--- a/service/java/com/android/server/uwb/UwbServiceCore.java
+++ b/service/java/com/android/server/uwb/UwbServiceCore.java
@@ -453,7 +453,8 @@
// TODO(b/211445008): Consolidate to a single uwb thread.
Pair<Integer, GenericSpecificationParams> specificationParams =
mConfigurationManager.getCapsInfo(
- GenericParams.PROTOCOL_NAME, GenericSpecificationParams.class, chipId);
+ GenericParams.PROTOCOL_NAME, GenericSpecificationParams.class, chipId,
+ mSessionManager.getUwbsFiraProtocolVersion(chipId));
Trace.endSection();
if (specificationParams.first != UwbUciConstants.STATUS_CODE_OK
|| specificationParams.second == null) {
diff --git a/service/java/com/android/server/uwb/UwbSessionManager.java b/service/java/com/android/server/uwb/UwbSessionManager.java
index 6049e13..12f0f5c 100644
--- a/service/java/com/android/server/uwb/UwbSessionManager.java
+++ b/service/java/com/android/server/uwb/UwbSessionManager.java
@@ -1495,7 +1495,8 @@
CccParams.PROTOCOL_NAME,
new byte[0],
CccRangingStartedParams.class,
- uwbSession.getChipId());
+ uwbSession.getChipId(),
+ CccParams.PROTOCOL_VERSION_1_0);
if (statusAndParams.first != UwbUciConstants.STATUS_CODE_OK) {
Log.e(TAG, "Failed to get CCC ranging started params");
}
@@ -1607,7 +1608,8 @@
CccParams.PROTOCOL_NAME,
new byte[0],
CccRangingStoppedParams.class,
- uwbSession.getChipId());
+ uwbSession.getChipId(),
+ CccParams.PROTOCOL_VERSION_1_0);
if (statusAndParams.first != UwbUciConstants.STATUS_CODE_OK) {
Log.e(TAG, "Failed to get CCC ranging stopped params");
}
@@ -1965,7 +1967,7 @@
return true;
}
- private FiraProtocolVersion getUwbsFiraProtocolVersion(String chipId) {
+ protected FiraProtocolVersion getUwbsFiraProtocolVersion(String chipId) {
UwbDeviceInfoResponse deviceInfo =
mUwbInjector.getUwbServiceCore().getCachedDeviceInfoResponse(chipId);
if (deviceInfo != null) {
diff --git a/service/java/com/android/server/uwb/params/CccDecoder.java b/service/java/com/android/server/uwb/params/CccDecoder.java
index 4d1be84..6f1eb56 100644
--- a/service/java/com/android/server/uwb/params/CccDecoder.java
+++ b/service/java/com/android/server/uwb/params/CccDecoder.java
@@ -63,6 +63,7 @@
import com.android.server.uwb.config.ConfigParam;
import com.google.uwb.support.base.Params;
+import com.google.uwb.support.base.ProtocolVersion;
import com.google.uwb.support.ccc.CccProtocolVersion;
import com.google.uwb.support.ccc.CccPulseShapeCombo;
import com.google.uwb.support.ccc.CccRangingStartedParams;
@@ -84,7 +85,8 @@
}
@Override
- public <T extends Params> T getParams(TlvDecoderBuffer tlvs, Class<T> paramsType)
+ public <T extends Params> T getParams(TlvDecoderBuffer tlvs, Class<T> paramsType,
+ ProtocolVersion protocolVersion)
throws IllegalArgumentException {
if (CccRangingStartedParams.class.equals(paramsType)) {
return (T) getCccRangingStartedParamsFromTlvBuffer(tlvs);
diff --git a/service/java/com/android/server/uwb/params/FiraDecoder.java b/service/java/com/android/server/uwb/params/FiraDecoder.java
index 5f99c5b..724de48 100644
--- a/service/java/com/android/server/uwb/params/FiraDecoder.java
+++ b/service/java/com/android/server/uwb/params/FiraDecoder.java
@@ -138,8 +138,11 @@
import android.util.Log;
+import com.android.server.uwb.UwbInjector;
+
import com.google.uwb.support.base.FlagEnum;
import com.google.uwb.support.base.Params;
+import com.google.uwb.support.base.ProtocolVersion;
import com.google.uwb.support.fira.FiraParams;
import com.google.uwb.support.fira.FiraParams.BprfParameterSetCapabilityFlag;
import com.google.uwb.support.fira.FiraParams.CcConstraintLengthCapabilitiesFlag;
@@ -164,10 +167,22 @@
public class FiraDecoder extends TlvDecoder {
private static final String TAG = "FiraDecoder";
+ private final UwbInjector mUwbInjector;
+
+ public FiraDecoder(UwbInjector uwbInjector) {
+ mUwbInjector = uwbInjector;
+ }
+
@Override
- public <T extends Params> T getParams(TlvDecoderBuffer tlvs, Class<T> paramType) {
+ public <T extends Params> T getParams(TlvDecoderBuffer tlvs, Class<T> paramType,
+ ProtocolVersion protocolVersion) {
if (FiraSpecificationParams.class.equals(paramType)) {
- return (T) getFiraSpecificationParamsFromTlvBuffer(tlvs);
+ // The "protocolVersion" is always expected to be of type "FiraProtocolVersion" here,
+ // but in case it's not, we use a backup value of "PROTOCOL_VERSION_1_1".
+ FiraProtocolVersion uwbsFiraProtocolVersion =
+ (protocolVersion instanceof FiraProtocolVersion)
+ ? (FiraProtocolVersion) protocolVersion : FiraParams.PROTOCOL_VERSION_1_1;
+ return (T) getFiraSpecificationParamsFromTlvBuffer(tlvs, uwbsFiraProtocolVersion);
}
return null;
}
@@ -176,7 +191,8 @@
return (flags & mask) != 0;
}
- private FiraSpecificationParams getFiraSpecificationParamsFromTlvBuffer(TlvDecoderBuffer tlvs) {
+ private FiraSpecificationParams getFiraSpecificationParamsFromTlvBuffer(TlvDecoderBuffer tlvs,
+ ProtocolVersion protocolVersion) {
FiraSpecificationParams.Builder builder = new FiraSpecificationParams.Builder();
byte[] versionCheck = tlvs.getByteArray(SUPPORTED_FIRA_PHY_VERSION_RANGE_VER_2_0);
if (versionCheck.length == 1) {
@@ -258,7 +274,8 @@
byte rangingTimeStructUci = tlvs.getByte(SUPPORTED_RANGING_TIME_STRUCT_VER_1_0);
EnumSet<RangingTimeStructCapabilitiesFlag> rangingTimeStructFlag =
EnumSet.noneOf(RangingTimeStructCapabilitiesFlag.class);
- if (isBitSet(rangingTimeStructUci, INTERVAL_BASED_SCHEDULING)) {
+ if (protocolVersion.getMajor() <= 2
+ && isBitSet(rangingTimeStructUci, INTERVAL_BASED_SCHEDULING)) {
rangingTimeStructFlag.add(
RangingTimeStructCapabilitiesFlag.HAS_INTERVAL_BASED_SCHEDULING_SUPPORT);
}
@@ -549,9 +566,12 @@
byte rangingTimeStructUci = tlvs.getByte(SUPPORTED_RANGING_TIME_STRUCT_VER_2_0);
EnumSet<RangingTimeStructCapabilitiesFlag> rangingTimeStructFlag =
EnumSet.noneOf(RangingTimeStructCapabilitiesFlag.class);
- if (isBitSet(rangingTimeStructUci, INTERVAL_BASED_SCHEDULING)) {
- rangingTimeStructFlag.add(
- RangingTimeStructCapabilitiesFlag.HAS_INTERVAL_BASED_SCHEDULING_SUPPORT);
+ // When CR-423 is implemented, do not parse for the "INTERVAL_BASED_SCHEDULING" bit.
+ if (!mUwbInjector.getFeatureFlags().cr423CleanupIntervalScheduling()) {
+ if (isBitSet(rangingTimeStructUci, INTERVAL_BASED_SCHEDULING)) {
+ rangingTimeStructFlag.add(
+ RangingTimeStructCapabilitiesFlag.HAS_INTERVAL_BASED_SCHEDULING_SUPPORT);
+ }
}
if (isBitSet(rangingTimeStructUci, BLOCK_BASED_SCHEDULING)) {
rangingTimeStructFlag.add(
diff --git a/service/java/com/android/server/uwb/params/FiraEncoder.java b/service/java/com/android/server/uwb/params/FiraEncoder.java
index 76eb64b..cdf7f82 100644
--- a/service/java/com/android/server/uwb/params/FiraEncoder.java
+++ b/service/java/com/android/server/uwb/params/FiraEncoder.java
@@ -103,7 +103,7 @@
.putByte(ConfigParam.PSDU_DATA_RATE, (byte) params.getPsduDataRate())
.putByte(ConfigParam.PREAMBLE_DURATION, (byte) params.getPreambleDuration())
// n.a. for OWR UL-TDoA and 0x01 for all other RangingRoundUsage values.
- .putByte(ConfigParam.RANGING_TIME_STRUCT, (byte) 0x01)
+ .putByte(ConfigParam.RANGING_TIME_STRUCT, (byte) params.getRangingTimeStruct())
.putByte(ConfigParam.SLOTS_PER_RR, (byte) params.getSlotsPerRangingRound())
.putByte(ConfigParam.PRF_MODE, (byte) params.getPrfMode())
.putByte(ConfigParam.SCHEDULED_MODE, (byte) params.getScheduledMode())
diff --git a/service/java/com/android/server/uwb/params/GenericDecoder.java b/service/java/com/android/server/uwb/params/GenericDecoder.java
index 30649e2..052794c 100644
--- a/service/java/com/android/server/uwb/params/GenericDecoder.java
+++ b/service/java/com/android/server/uwb/params/GenericDecoder.java
@@ -23,6 +23,7 @@
import com.android.server.uwb.UwbInjector;
import com.google.uwb.support.base.Params;
+import com.google.uwb.support.base.ProtocolVersion;
import com.google.uwb.support.ccc.CccParams;
import com.google.uwb.support.ccc.CccSpecificationParams;
import com.google.uwb.support.fira.FiraParams;
@@ -40,19 +41,21 @@
private static final String TAG = "GenericDecoder";
@Override
- public <T extends Params> T getParams(TlvDecoderBuffer tlvs, Class<T> paramType) {
+ public <T extends Params> T getParams(TlvDecoderBuffer tlvs, Class<T> paramType,
+ ProtocolVersion protocolVersion) {
if (GenericSpecificationParams.class.equals(paramType)) {
- return (T) getSpecificationParamsFromTlvBuffer(tlvs);
+ return (T) getSpecificationParamsFromTlvBuffer(tlvs, protocolVersion);
}
return null;
}
- private GenericSpecificationParams getSpecificationParamsFromTlvBuffer(TlvDecoderBuffer tlvs) {
+ private GenericSpecificationParams getSpecificationParamsFromTlvBuffer(TlvDecoderBuffer tlvs,
+ ProtocolVersion protocolVersion) {
GenericSpecificationParams.Builder builder = new GenericSpecificationParams.Builder();
try {
FiraSpecificationParams firaSpecificationParams =
TlvDecoder.getDecoder(FiraParams.PROTOCOL_NAME, mUwbInjector).getParams(
- tlvs, FiraSpecificationParams.class);
+ tlvs, FiraSpecificationParams.class, protocolVersion);
builder.setFiraSpecificationParams(firaSpecificationParams);
} catch (IllegalArgumentException e) {
Log.e(TAG, "Failed to decode FIRA capabilities", e);
@@ -60,7 +63,7 @@
try {
CccSpecificationParams cccSpecificationParams =
TlvDecoder.getDecoder(CccParams.PROTOCOL_NAME, mUwbInjector).getParams(
- tlvs, CccSpecificationParams.class);
+ tlvs, CccSpecificationParams.class, protocolVersion);
builder.setCccSpecificationParams(cccSpecificationParams);
} catch (IllegalArgumentException e) {
Log.e(TAG, "Failed to decode CCC capabilities", e);
@@ -68,7 +71,7 @@
try {
RadarSpecificationParams radarSpecificationParams =
TlvDecoder.getDecoder(RadarParams.PROTOCOL_NAME, mUwbInjector)
- .getParams(tlvs, RadarSpecificationParams.class);
+ .getParams(tlvs, RadarSpecificationParams.class, protocolVersion);
builder.setRadarSpecificationParams(radarSpecificationParams);
} catch (IllegalArgumentException e) {
Log.v(TAG, "Failed to decode Radar capabilities", e);
diff --git a/service/java/com/android/server/uwb/params/RadarDecoder.java b/service/java/com/android/server/uwb/params/RadarDecoder.java
index 3c41552..736a8a9 100644
--- a/service/java/com/android/server/uwb/params/RadarDecoder.java
+++ b/service/java/com/android/server/uwb/params/RadarDecoder.java
@@ -20,13 +20,15 @@
import static com.android.server.uwb.config.CapabilityParam.RADAR_SWEEP_SAMPLES_SUPPORTED;
import com.google.uwb.support.base.Params;
+import com.google.uwb.support.base.ProtocolVersion;
import com.google.uwb.support.radar.RadarParams;
import com.google.uwb.support.radar.RadarSpecificationParams;
/** Radar decoder */
public class RadarDecoder extends TlvDecoder {
@Override
- public <T extends Params> T getParams(TlvDecoderBuffer tlvs, Class<T> paramsType)
+ public <T extends Params> T getParams(TlvDecoderBuffer tlvs, Class<T> paramsType,
+ ProtocolVersion protocolVersion)
throws IllegalArgumentException {
if (RadarSpecificationParams.class.equals(paramsType)) {
return (T) getRadarSpecificationParamsFromTlvBuffer(tlvs);
diff --git a/service/java/com/android/server/uwb/params/TlvDecoder.java b/service/java/com/android/server/uwb/params/TlvDecoder.java
index 508ab6a..3740732 100644
--- a/service/java/com/android/server/uwb/params/TlvDecoder.java
+++ b/service/java/com/android/server/uwb/params/TlvDecoder.java
@@ -19,6 +19,7 @@
import com.android.server.uwb.UwbInjector;
import com.google.uwb.support.base.Params;
+import com.google.uwb.support.base.ProtocolVersion;
import com.google.uwb.support.ccc.CccParams;
import com.google.uwb.support.fira.FiraParams;
import com.google.uwb.support.generic.GenericParams;
@@ -27,7 +28,7 @@
public abstract class TlvDecoder {
public static TlvDecoder getDecoder(String protocolName, UwbInjector uwbInjector) {
if (protocolName.equals(FiraParams.PROTOCOL_NAME)) {
- return new FiraDecoder();
+ return new FiraDecoder(uwbInjector);
}
if (protocolName.equals(CccParams.PROTOCOL_NAME)) {
return new CccDecoder(uwbInjector);
@@ -41,5 +42,6 @@
return null;
}
- public abstract <T extends Params> T getParams(TlvDecoderBuffer tlvs, Class<T> paramType);
+ public abstract <T extends Params> T getParams(TlvDecoderBuffer tlvs, Class<T> paramType,
+ ProtocolVersion protocolVersion);
}
diff --git a/service/support_lib/src/com/google/uwb/support/fira/FiraOpenSessionParams.java b/service/support_lib/src/com/google/uwb/support/fira/FiraOpenSessionParams.java
index 2e4829e..3b3ba77 100644
--- a/service/support_lib/src/com/google/uwb/support/fira/FiraOpenSessionParams.java
+++ b/service/support_lib/src/com/google/uwb/support/fira/FiraOpenSessionParams.java
@@ -135,6 +135,8 @@
private final Long mRangingErrorStreakTimeoutMs;
private final int mLinkLayerMode;
private final int mDataRepetitionCount;
+ @RangingTimeStruct
+ private final int mRangingTimeStruct;
private final int mMinFramesPerRr;
private final int mMtuSize;
private final int mInterFrameInterval;
@@ -240,6 +242,7 @@
private static final String KEY_LINK_LAYER_MODE =
"link_layer_mode";
private static final String KEY_DATA_REPETITION_COUNT = "data_repetition_count";
+ private static final String KEY_RANGING_TIME_STRUCT = "ranging_time_struct";
private static final String KEY_MIN_FRAMES_PER_RR =
"min_frames_per_rr";
private static final String KEY_MTU_SIZE =
@@ -332,6 +335,7 @@
Long rangingErrorStreakTimeoutMs,
int linkLayerMode,
int dataRepetitionCount,
+ @RangingTimeStruct int rangingTimeStruct,
int minFramePerRr,
int mtuSize,
int interFrameInterval,
@@ -417,6 +421,7 @@
mRangingErrorStreakTimeoutMs = rangingErrorStreakTimeoutMs;
mLinkLayerMode = linkLayerMode;
mDataRepetitionCount = dataRepetitionCount;
+ mRangingTimeStruct = rangingTimeStruct;
mMinFramesPerRr = minFramePerRr;
mMtuSize = mtuSize;
mInterFrameInterval = interFrameInterval;
@@ -741,6 +746,11 @@
return mDataRepetitionCount;
}
+ @RangingTimeStruct
+ public int getRangingTimeStruct() {
+ return mRangingTimeStruct;
+ }
+
public int getMinFramesPerRr() {
return mMinFramesPerRr;
}
@@ -931,6 +941,7 @@
bundle.putLong(RANGING_ERROR_STREAK_TIMEOUT_MS, mRangingErrorStreakTimeoutMs);
bundle.putInt(KEY_LINK_LAYER_MODE, mLinkLayerMode);
bundle.putInt(KEY_DATA_REPETITION_COUNT, mDataRepetitionCount);
+ bundle.putInt(KEY_RANGING_TIME_STRUCT, mRangingTimeStruct);
bundle.putInt(KEY_MIN_FRAMES_PER_RR, mMinFramesPerRr);
bundle.putInt(KEY_MTU_SIZE, mMtuSize);
bundle.putInt(KEY_INTER_FRAME_INTERVAL, mInterFrameInterval);
@@ -1067,6 +1078,8 @@
.getLong(RANGING_ERROR_STREAK_TIMEOUT_MS, 10_000L))
.setLinkLayerMode(bundle.getInt(KEY_LINK_LAYER_MODE, 0))
.setDataRepetitionCount(bundle.getInt(KEY_DATA_REPETITION_COUNT, 0))
+ .setRangingTimeStruct(bundle.getInt(KEY_RANGING_TIME_STRUCT,
+ BLOCK_BASED_SCHEDULING))
.setMinFramePerRr(bundle.getInt(KEY_MIN_FRAMES_PER_RR, 1))
.setMtuSize(bundle.getInt(KEY_MTU_SIZE, 1048))
.setInterFrameInterval(bundle.getInt(KEY_INTER_FRAME_INTERVAL, 1))
@@ -1309,6 +1322,9 @@
/** UCI spec default: 0x00(No repetition) */
private int mDataRepetitionCount = 0;
+ /** UCI spec default: 0x01 */
+ private int mRangingTimeStruct = BLOCK_BASED_SCHEDULING;
+
/** UCI spec default: 1 */
public int mMinFramesPerRr = 1;
@@ -1427,6 +1443,7 @@
mRangingErrorStreakTimeoutMs = builder.mRangingErrorStreakTimeoutMs;
mLinkLayerMode = builder.mLinkLayerMode;
mDataRepetitionCount = builder.mDataRepetitionCount;
+ mRangingTimeStruct = builder.mRangingTimeStruct;
mMinFramesPerRr = builder.mMinFramesPerRr;
mMtuSize = builder.mMtuSize;
mInterFrameInterval = builder.mInterFrameInterval;
@@ -1516,6 +1533,7 @@
mRangingErrorStreakTimeoutMs = params.mRangingErrorStreakTimeoutMs;
mLinkLayerMode = params.mLinkLayerMode;
mDataRepetitionCount = params.mDataRepetitionCount;
+ mRangingTimeStruct = params.mRangingTimeStruct;
mMinFramesPerRr = params.mMinFramesPerRr;
mMtuSize = params.mMtuSize;
mInterFrameInterval = params.mInterFrameInterval;
@@ -1930,6 +1948,12 @@
return this;
}
+ public FiraOpenSessionParams.Builder setRangingTimeStruct(
+ @RangingTimeStruct int rangingTimeStruct) {
+ mRangingTimeStruct = rangingTimeStruct;
+ return this;
+ }
+
public FiraOpenSessionParams.Builder setMinFramePerRr(int minFramePerRr) {
mMinFramesPerRr = minFramePerRr;
return this;
@@ -2253,6 +2277,7 @@
mRangingErrorStreakTimeoutMs,
mLinkLayerMode,
mDataRepetitionCount,
+ mRangingTimeStruct,
mMinFramesPerRr,
mMtuSize,
mInterFrameInterval,
diff --git a/service/tests/src/com/android/server/uwb/UwbConfigurationManagerTest.java b/service/tests/src/com/android/server/uwb/UwbConfigurationManagerTest.java
index 907e118..c9f6260 100644
--- a/service/tests/src/com/android/server/uwb/UwbConfigurationManagerTest.java
+++ b/service/tests/src/com/android/server/uwb/UwbConfigurationManagerTest.java
@@ -177,7 +177,7 @@
mUwbConfigurationManager.getAppConfigurations(mUwbSession.getSessionId(),
mFiraParams.getProtocolName(), new byte[0], FiraOpenSessionParams.class,
- TEST_CHIP_ID);
+ TEST_CHIP_ID, FiraParams.PROTOCOL_VERSION_1_1);
verify(mNativeUwbManager).getAppConfigurations(anyInt(), anyInt(), anyInt(),
any(byte[].class), eq(TEST_CHIP_ID));
@@ -190,7 +190,7 @@
when(mNativeUwbManager.getCapsInfo(anyString())).thenReturn(getAppConfig);
mUwbConfigurationManager.getCapsInfo(mFiraParams.getProtocolName(),
- FiraOpenSessionParams.class, TEST_CHIP_ID);
+ FiraOpenSessionParams.class, TEST_CHIP_ID, any());
verify(mNativeUwbManager).getCapsInfo(TEST_CHIP_ID);
}
diff --git a/service/tests/src/com/android/server/uwb/UwbServiceCoreTest.java b/service/tests/src/com/android/server/uwb/UwbServiceCoreTest.java
index c85d6b0..9105e61 100644
--- a/service/tests/src/com/android/server/uwb/UwbServiceCoreTest.java
+++ b/service/tests/src/com/android/server/uwb/UwbServiceCoreTest.java
@@ -311,7 +311,7 @@
when(genericSpecificationParams.toBundle()).thenReturn(genericSpecificationBundle);
when(mUwbConfigurationManager
- .getCapsInfo(eq(GenericParams.PROTOCOL_NAME), any(), anyString()))
+ .getCapsInfo(eq(GenericParams.PROTOCOL_NAME), any(), anyString(), any()))
.thenReturn(Pair.create(
UwbUciConstants.STATUS_CODE_OK, genericSpecificationParams));
@@ -319,7 +319,8 @@
TEST_DEFAULT_CHIP_ID);
assertThat(specifications).isEqualTo(genericSpecificationBundle);
verify(mUwbConfigurationManager)
- .getCapsInfo(eq(GenericParams.PROTOCOL_NAME), any(), eq(TEST_DEFAULT_CHIP_ID));
+ .getCapsInfo(eq(GenericParams.PROTOCOL_NAME), any(),
+ eq(TEST_DEFAULT_CHIP_ID), any());
assertThat(mUwbServiceCore.getCachedSpecificationParams(TEST_DEFAULT_CHIP_ID)).isEqualTo(
genericSpecificationParams);
@@ -332,7 +333,7 @@
when(genericSpecificationParams.toBundle()).thenReturn(genericSpecificationBundle);
when(mUwbConfigurationManager
- .getCapsInfo(eq(GenericParams.PROTOCOL_NAME), any(), anyString()))
+ .getCapsInfo(eq(GenericParams.PROTOCOL_NAME), any(), anyString(), any()))
.thenReturn(Pair.create(
UwbUciConstants.STATUS_CODE_OK, genericSpecificationParams));
@@ -340,7 +341,8 @@
TEST_DEFAULT_CHIP_ID);
assertThat(specifications.toBundle()).isEqualTo(genericSpecificationBundle);
verify(mUwbConfigurationManager)
- .getCapsInfo(eq(GenericParams.PROTOCOL_NAME), any(), eq(TEST_DEFAULT_CHIP_ID));
+ .getCapsInfo(eq(GenericParams.PROTOCOL_NAME), any(),
+ eq(TEST_DEFAULT_CHIP_ID), any());
}
private void enableUwb(String countryCode) throws Exception {
@@ -1053,7 +1055,7 @@
AttributionSource attributionSource = TEST_ATTRIBUTION_SOURCE;
FiraOpenSessionParams params = TEST_FIRA_OPEN_SESSION_PARAMS.build();
when(mUwbConfigurationManager
- .getCapsInfo(eq(GenericParams.PROTOCOL_NAME), any(), anyString()))
+ .getCapsInfo(eq(GenericParams.PROTOCOL_NAME), any(), anyString(), any()))
.thenReturn(Pair.create(
UwbUciConstants.STATUS_CODE_OK, genericSpecificationParams));
when(genericSpecificationParams.getFiraSpecificationParams())
@@ -1466,7 +1468,7 @@
.setFiraSpecificationParams(firaSpecificationParams)
.setCccSpecificationParams(cccSpecificationParams)
.build();
- when(mUwbConfigurationManager.getCapsInfo(any(), any(), anyString()))
+ when(mUwbConfigurationManager.getCapsInfo(any(), any(), anyString(), any()))
.thenReturn(Pair.create(
UwbUciConstants.STATUS_CODE_OK, genericSpecificationParams));
@@ -1493,7 +1495,7 @@
.setFiraSpecificationParams(firaSpecificationParams)
.setCccSpecificationParams(cccSpecificationParams)
.build();
- when(mUwbConfigurationManager.getCapsInfo(any(), any(), anyString()))
+ when(mUwbConfigurationManager.getCapsInfo(any(), any(), anyString(), any()))
.thenReturn(Pair.create(
UwbUciConstants.STATUS_CODE_OK, genericSpecificationParams));
IUwbVendorUciCallback vendorCb = mock(IUwbVendorUciCallback.class);
diff --git a/service/tests/src/com/android/server/uwb/UwbSessionManagerTest.java b/service/tests/src/com/android/server/uwb/UwbSessionManagerTest.java
index 581ceaf..3b1dc23 100644
--- a/service/tests/src/com/android/server/uwb/UwbSessionManagerTest.java
+++ b/service/tests/src/com/android/server/uwb/UwbSessionManagerTest.java
@@ -2569,7 +2569,8 @@
when(mUwbConfigurationManager.setAppConfigurations(anyInt(), any(), anyString(), any()))
.thenReturn(UwbUciConstants.STATUS_CODE_OK);
when(mUwbConfigurationManager.getAppConfigurations(
- eq(TEST_SESSION_ID), anyString(), any(), any(), eq(TEST_CHIP_ID)))
+ eq(TEST_SESSION_ID), anyString(), any(), any(), eq(TEST_CHIP_ID),
+ eq(CccParams.PROTOCOL_VERSION_1_0)))
.thenReturn(new Pair<>(UwbUciConstants.STATUS_CODE_OK, rangingStartedParams));
mUwbSessionManager.startRanging(uwbSession.getSessionHandle(), params);
@@ -2621,7 +2622,8 @@
when(mUwbConfigurationManager.setAppConfigurations(anyInt(), any(), anyString(), any()))
.thenReturn(UwbUciConstants.STATUS_CODE_OK);
when(mUwbConfigurationManager.getAppConfigurations(
- eq(TEST_SESSION_ID), anyString(), any(), any(), eq(TEST_CHIP_ID)))
+ eq(TEST_SESSION_ID), anyString(), any(), any(), eq(TEST_CHIP_ID),
+ eq(CccParams.PROTOCOL_VERSION_1_0)))
.thenReturn(new Pair<>(UwbUciConstants.STATUS_CODE_OK, rangingStartedParams));
mUwbSessionManager.startRanging(uwbSession.getSessionHandle(), params);
@@ -2675,7 +2677,8 @@
when(mUwbConfigurationManager.setAppConfigurations(anyInt(), any(), anyString(), any()))
.thenReturn(UwbUciConstants.STATUS_CODE_OK);
when(mUwbConfigurationManager.getAppConfigurations(
- eq(TEST_SESSION_ID), anyString(), any(), any(), eq(TEST_CHIP_ID)))
+ eq(TEST_SESSION_ID), anyString(), any(), any(), eq(TEST_CHIP_ID),
+ eq(CccParams.PROTOCOL_VERSION_1_0)))
.thenReturn(new Pair<>(UwbUciConstants.STATUS_CODE_OK, rangingStartedParams));
mUwbSessionManager.startRanging(uwbSession.getSessionHandle(), params);
@@ -2728,7 +2731,8 @@
when(mUwbConfigurationManager.setAppConfigurations(anyInt(), any(), anyString(), any()))
.thenReturn(UwbUciConstants.STATUS_CODE_OK);
when(mUwbConfigurationManager.getAppConfigurations(
- eq(TEST_SESSION_ID), anyString(), any(), any(), eq(TEST_CHIP_ID)))
+ eq(TEST_SESSION_ID), anyString(), any(), any(), eq(TEST_CHIP_ID),
+ eq(CccParams.PROTOCOL_VERSION_1_0)))
.thenReturn(new Pair<>(UwbUciConstants.STATUS_CODE_OK, rangingStartedParams));
mUwbSessionManager.startRanging(uwbSession.getSessionHandle(), params);
@@ -3633,7 +3637,8 @@
.build();
when(mUwbConfigurationManager.getAppConfigurations(
- eq(TEST_SESSION_ID), anyString(), any(), any(), eq(TEST_CHIP_ID)))
+ eq(TEST_SESSION_ID), anyString(), any(), any(), eq(TEST_CHIP_ID),
+ eq(CccParams.PROTOCOL_VERSION_1_0)))
.thenReturn(new Pair<>(UwbUciConstants.STATUS_CODE_OK, rangingStartedParams));
doReturn(UwbUciConstants.UWB_SESSION_STATE_ACTIVE, UwbUciConstants.UWB_SESSION_STATE_IDLE)
.when(uwbSession).getSessionState();
diff --git a/service/tests/src/com/android/server/uwb/params/CccDecoderTest.java b/service/tests/src/com/android/server/uwb/params/CccDecoderTest.java
index 48c59a9..1d6393e 100644
--- a/service/tests/src/com/android/server/uwb/params/CccDecoderTest.java
+++ b/service/tests/src/com/android/server/uwb/params/CccDecoderTest.java
@@ -149,7 +149,7 @@
assertThat(tlvDecoderBuffer.parse()).isTrue();
CccRangingStartedParams cccRangingStartedParams = mCccDecoder.getParams(
- tlvDecoderBuffer, CccRangingStartedParams.class);
+ tlvDecoderBuffer, CccRangingStartedParams.class, CccParams.PROTOCOL_VERSION_1_0);
verifyCccRangingOpend(cccRangingStartedParams);
}
@@ -161,7 +161,7 @@
assertThat(tlvDecoderBuffer.parse()).isTrue();
CccSpecificationParams cccSpecificationParams = mCccDecoder.getParams(
- tlvDecoderBuffer, CccSpecificationParams.class);
+ tlvDecoderBuffer, CccSpecificationParams.class, CccParams.PROTOCOL_VERSION_1_0);
verifyCccSpecification(cccSpecificationParams);
}
@@ -174,7 +174,8 @@
CccRangingStartedParams cccRangingStartedParams = TlvDecoder
.getDecoder(CccParams.PROTOCOL_NAME, mUwbInjector)
- .getParams(tlvDecoderBuffer, CccRangingStartedParams.class);
+ .getParams(tlvDecoderBuffer, CccRangingStartedParams.class,
+ CccParams.PROTOCOL_VERSION_1_0);
verifyCccRangingOpend(cccRangingStartedParams);
}
@@ -187,7 +188,8 @@
CccSpecificationParams cccSpecificationParams = TlvDecoder
.getDecoder(CccParams.PROTOCOL_NAME, mUwbInjector)
- .getParams(tlvDecoderBuffer, CccSpecificationParams.class);
+ .getParams(tlvDecoderBuffer, CccSpecificationParams.class,
+ CccParams.PROTOCOL_VERSION_1_0);
verifyCccSpecification(cccSpecificationParams);
}
@@ -200,7 +202,7 @@
assertThat(tlvDecoderBuffer.parse()).isTrue();
CccSpecificationParams cccSpecificationParams = mCccDecoder.getParams(
- tlvDecoderBuffer, CccSpecificationParams.class);
+ tlvDecoderBuffer, CccSpecificationParams.class, CccParams.PROTOCOL_VERSION_1_0);
verifyCccSpecification(cccSpecificationParams);
}
}
diff --git a/service/tests/src/com/android/server/uwb/params/FiraDecoderTest.java b/service/tests/src/com/android/server/uwb/params/FiraDecoderTest.java
index b67d5b4..74087a3 100644
--- a/service/tests/src/com/android/server/uwb/params/FiraDecoderTest.java
+++ b/service/tests/src/com/android/server/uwb/params/FiraDecoderTest.java
@@ -30,6 +30,8 @@
import static com.google.uwb.support.fira.FiraParams.KEY_LENGTH_256_BITS_SUPPORTED;
import static com.google.uwb.support.fira.FiraParams.MultiNodeCapabilityFlag.HAS_ONE_TO_MANY_SUPPORT;
import static com.google.uwb.support.fira.FiraParams.MultiNodeCapabilityFlag.HAS_UNICAST_SUPPORT;
+import static com.google.uwb.support.fira.FiraParams.PROTOCOL_VERSION_1_1;
+import static com.google.uwb.support.fira.FiraParams.PROTOCOL_VERSION_2_0;
import static com.google.uwb.support.fira.FiraParams.PrfCapabilityFlag.HAS_BPRF_SUPPORT;
import static com.google.uwb.support.fira.FiraParams.PrfCapabilityFlag.HAS_HPRF_SUPPORT;
import static com.google.uwb.support.fira.FiraParams.PsduDataRateCapabilityFlag.HAS_27M2_SUPPORT;
@@ -51,6 +53,7 @@
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
+import static org.mockito.Mockito.when;
import android.platform.test.annotations.Presubmit;
import android.test.suitebuilder.annotation.SmallTest;
@@ -59,6 +62,7 @@
import com.android.server.uwb.UwbInjector;
import com.android.server.uwb.util.UwbUtil;
+import com.android.uwb.flags.FeatureFlags;
import com.google.uwb.support.fira.FiraParams;
import com.google.uwb.support.fira.FiraParams.BprfParameterSetCapabilityFlag;
@@ -151,14 +155,20 @@
UwbUtil.getByteArray(TEST_FIRA_SPECIFICATION_TLV_STRING_VER_2);
public static final int TEST_FIRA_SPECIFICATION_TLV_NUM_PARAMS_VER_2 = 33;
- private final FiraDecoder mFiraDecoder = new FiraDecoder();
+ private FiraDecoder mFiraDecoder;
@Mock
private UwbInjector mUwbInjector;
+ @Mock private FeatureFlags mFeatureFlags;
@Before
public void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
+
+ when(mUwbInjector.getFeatureFlags()).thenReturn(mFeatureFlags);
+ when(mFeatureFlags.cr423CleanupIntervalScheduling()).thenReturn(true);
+
+ mFiraDecoder = new FiraDecoder(mUwbInjector);
}
public static void verifyFiraSpecificationVersion2(
@@ -240,7 +250,7 @@
assertThat(tlvDecoderBuffer.parse()).isTrue();
FiraSpecificationParams firaSpecificationParams = mFiraDecoder.getParams(
- tlvDecoderBuffer, FiraSpecificationParams.class);
+ tlvDecoderBuffer, FiraSpecificationParams.class, PROTOCOL_VERSION_2_0);
verifyFiraSpecificationVersion2(firaSpecificationParams);
}
@@ -254,7 +264,7 @@
FiraSpecificationParams firaSpecificationParams = TlvDecoder
.getDecoder(FiraParams.PROTOCOL_NAME, mUwbInjector)
- .getParams(tlvDecoderBuffer, FiraSpecificationParams.class);
+ .getParams(tlvDecoderBuffer, FiraSpecificationParams.class, PROTOCOL_VERSION_2_0);
verifyFiraSpecificationVersion2(firaSpecificationParams);
}
@@ -330,7 +340,7 @@
assertThat(tlvDecoderBuffer.parse()).isTrue();
FiraSpecificationParams firaSpecificationParams = mFiraDecoder.getParams(
- tlvDecoderBuffer, FiraSpecificationParams.class);
+ tlvDecoderBuffer, FiraSpecificationParams.class, PROTOCOL_VERSION_1_1);
verifyFiraSpecificationVersion1(firaSpecificationParams);
}
@@ -344,7 +354,7 @@
FiraSpecificationParams firaSpecificationParams = TlvDecoder
.getDecoder(FiraParams.PROTOCOL_NAME, mUwbInjector)
- .getParams(tlvDecoderBuffer, FiraSpecificationParams.class);
+ .getParams(tlvDecoderBuffer, FiraSpecificationParams.class, PROTOCOL_VERSION_1_1);
verifyFiraSpecificationVersion1(firaSpecificationParams);
}
}
diff --git a/service/tests/src/com/android/server/uwb/params/GenericDecoderTest.java b/service/tests/src/com/android/server/uwb/params/GenericDecoderTest.java
index bde0113..d0052de 100644
--- a/service/tests/src/com/android/server/uwb/params/GenericDecoderTest.java
+++ b/service/tests/src/com/android/server/uwb/params/GenericDecoderTest.java
@@ -25,6 +25,8 @@
import static com.android.server.uwb.params.RadarDecoderTest.TEST_RADAR_SPECIFICATION_TLV_NUM_PARAMS;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.uwb.support.fira.FiraParams.PROTOCOL_VERSION_1_1;
+import static com.google.uwb.support.fira.FiraParams.PROTOCOL_VERSION_2_0;
import static org.mockito.Mockito.when;
@@ -36,6 +38,7 @@
import com.android.server.uwb.DeviceConfigFacade;
import com.android.server.uwb.UwbInjector;
import com.android.server.uwb.util.UwbUtil;
+import com.android.uwb.flags.FeatureFlags;
import com.google.uwb.support.generic.GenericSpecificationParams;
@@ -74,17 +77,22 @@
+ TEST_CCC_SPECIFICATION_TLV_NUM_PARAMS
+ TEST_RADAR_SPECIFICATION_TLV_NUM_PARAMS;
- @Mock
- private UwbInjector mUwbInjector;
- @Mock
- private DeviceConfigFacade mDeviceConfigFacade;
+ @Mock private UwbInjector mUwbInjector;
+ @Mock private DeviceConfigFacade mDeviceConfigFacade;
+ @Mock private FeatureFlags mFeatureFlags;
+
private GenericDecoder mGenericDecoder;
@Before
public void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
+
when(mUwbInjector.getDeviceConfigFacade()).thenReturn(mDeviceConfigFacade);
when(mDeviceConfigFacade.isCccSupportedSyncCodesLittleEndian()).thenReturn(true);
+
+ when(mUwbInjector.getFeatureFlags()).thenReturn(mFeatureFlags);
+ when(mFeatureFlags.cr423CleanupIntervalScheduling()).thenReturn(true);
+
mGenericDecoder = new GenericDecoder(mUwbInjector);
}
@@ -97,7 +105,8 @@
assertThat(tlvDecoderBuffer.parse()).isTrue();
GenericSpecificationParams genericSpecificationParams =
- mGenericDecoder.getParams(tlvDecoderBuffer, GenericSpecificationParams.class);
+ mGenericDecoder.getParams(tlvDecoderBuffer, GenericSpecificationParams.class,
+ PROTOCOL_VERSION_1_1);
assertThat(genericSpecificationParams.hasPowerStatsSupport()).isTrue();
FiraDecoderTest.verifyFiraSpecificationVersion1(
genericSpecificationParams.getFiraSpecificationParams());
@@ -116,7 +125,8 @@
assertThat(tlvDecoderBuffer.parse()).isTrue();
GenericSpecificationParams genericSpecificationParams =
- mGenericDecoder.getParams(tlvDecoderBuffer, GenericSpecificationParams.class);
+ mGenericDecoder.getParams(tlvDecoderBuffer, GenericSpecificationParams.class,
+ PROTOCOL_VERSION_1_1);
assertThat(genericSpecificationParams.hasPowerStatsSupport()).isTrue();
FiraDecoderTest.verifyFiraSpecificationVersion1(
genericSpecificationParams.getFiraSpecificationParams());
@@ -135,7 +145,8 @@
assertThat(tlvDecoderBuffer.parse()).isTrue();
GenericSpecificationParams genericSpecificationParams =
- mGenericDecoder.getParams(tlvDecoderBuffer, GenericSpecificationParams.class);
+ mGenericDecoder.getParams(tlvDecoderBuffer, GenericSpecificationParams.class,
+ PROTOCOL_VERSION_2_0);
assertThat(genericSpecificationParams.hasPowerStatsSupport()).isTrue();
FiraDecoderTest.verifyFiraSpecificationVersion2(
genericSpecificationParams.getFiraSpecificationParams());
@@ -154,7 +165,8 @@
assertThat(tlvDecoderBuffer.parse()).isTrue();
GenericSpecificationParams genericSpecificationParams =
- mGenericDecoder.getParams(tlvDecoderBuffer, GenericSpecificationParams.class);
+ mGenericDecoder.getParams(tlvDecoderBuffer, GenericSpecificationParams.class,
+ PROTOCOL_VERSION_2_0);
assertThat(genericSpecificationParams.hasPowerStatsSupport()).isTrue();
FiraDecoderTest.verifyFiraSpecificationVersion2(
genericSpecificationParams.getFiraSpecificationParams());
@@ -176,7 +188,8 @@
assertThat(tlvDecoderBuffer.parse()).isTrue();
GenericSpecificationParams genericSpecificationParams =
- mGenericDecoder.getParams(tlvDecoderBuffer, GenericSpecificationParams.class);
+ mGenericDecoder.getParams(tlvDecoderBuffer, GenericSpecificationParams.class,
+ PROTOCOL_VERSION_1_1);
assertThat(genericSpecificationParams.hasPowerStatsSupport()).isFalse();
FiraDecoderTest.verifyFiraSpecificationVersion1(
genericSpecificationParams.getFiraSpecificationParams());
@@ -197,7 +210,8 @@
assertThat(tlvDecoderBuffer.parse()).isTrue();
GenericSpecificationParams genericSpecificationParams =
- mGenericDecoder.getParams(tlvDecoderBuffer, GenericSpecificationParams.class);
+ mGenericDecoder.getParams(tlvDecoderBuffer, GenericSpecificationParams.class,
+ PROTOCOL_VERSION_1_1);
assertThat(genericSpecificationParams.hasPowerStatsSupport()).isFalse();
CccDecoderTest.verifyCccSpecification(
genericSpecificationParams.getCccSpecificationParams());
@@ -218,7 +232,8 @@
assertThat(tlvDecoderBuffer.parse()).isTrue();
GenericSpecificationParams genericSpecificationParams =
- mGenericDecoder.getParams(tlvDecoderBuffer, GenericSpecificationParams.class);
+ mGenericDecoder.getParams(tlvDecoderBuffer, GenericSpecificationParams.class,
+ PROTOCOL_VERSION_1_1);
assertThat(genericSpecificationParams.hasPowerStatsSupport()).isFalse();
FiraDecoderTest.verifyFiraSpecificationVersion1(
genericSpecificationParams.getFiraSpecificationParams());
diff --git a/service/tests/src/com/android/server/uwb/params/RadarDecoderTest.java b/service/tests/src/com/android/server/uwb/params/RadarDecoderTest.java
index 6385226..51ace04 100644
--- a/service/tests/src/com/android/server/uwb/params/RadarDecoderTest.java
+++ b/service/tests/src/com/android/server/uwb/params/RadarDecoderTest.java
@@ -26,6 +26,7 @@
import com.android.server.uwb.UwbInjector;
import com.android.server.uwb.util.UwbUtil;
+import com.google.uwb.support.fira.FiraProtocolVersion;
import com.google.uwb.support.radar.RadarData;
import com.google.uwb.support.radar.RadarParams;
import com.google.uwb.support.radar.RadarParams.RadarCapabilityFlag;
@@ -44,6 +45,7 @@
@SmallTest
@Presubmit
public class RadarDecoderTest {
+ private static final FiraProtocolVersion PROTOCOL_VERSION_DUMMY = new FiraProtocolVersion(0, 0);
public static final String TEST_RADAR_SPECIFICATION_TLV_DATA_STRING = "b00101";
private static final byte[] TEST_RADAR_SPECIFICATION_TLV_DATA =
UwbUtil.getByteArray(TEST_RADAR_SPECIFICATION_TLV_DATA_STRING);
@@ -70,7 +72,8 @@
new TlvDecoderBuffer(
TEST_RADAR_SPECIFICATION_TLV_DATA, TEST_RADAR_SPECIFICATION_TLV_NUM_PARAMS);
- assertThat(mRadarDecoder.getParams(tlvDecoderBuffer, RadarData.class)).isNull();
+ assertThat(mRadarDecoder.getParams(tlvDecoderBuffer, RadarData.class,
+ PROTOCOL_VERSION_DUMMY)).isNull();
}
@Test
@@ -81,7 +84,8 @@
assertThat(tlvDecoderBuffer.parse()).isTrue();
RadarSpecificationParams radarSpecificationParams =
- mRadarDecoder.getParams(tlvDecoderBuffer, RadarSpecificationParams.class);
+ mRadarDecoder.getParams(tlvDecoderBuffer, RadarSpecificationParams.class,
+ PROTOCOL_VERSION_DUMMY);
verifyRadarSpecification(radarSpecificationParams);
}
@@ -94,7 +98,8 @@
RadarSpecificationParams radarSpecificationParams =
TlvDecoder.getDecoder(RadarParams.PROTOCOL_NAME, mUwbInjector)
- .getParams(tlvDecoderBuffer, RadarSpecificationParams.class);
+ .getParams(tlvDecoderBuffer, RadarSpecificationParams.class,
+ PROTOCOL_VERSION_DUMMY);
verifyRadarSpecification(radarSpecificationParams);
}
}