uwb(service): Dont cache specificationinfo am: 77b7c18509
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/Uwb/+/18407647
Change-Id: I1b24293f6a5f2562dae3ffc6581c9a1893777471
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/service/java/com/android/server/uwb/UwbServiceCore.java b/service/java/com/android/server/uwb/UwbServiceCore.java
index c199cd5..4b55d78 100644
--- a/service/java/com/android/server/uwb/UwbServiceCore.java
+++ b/service/java/com/android/server/uwb/UwbServiceCore.java
@@ -94,7 +94,6 @@
private final UwbMetrics mUwbMetrics;
private final UwbCountryCode mUwbCountryCode;
private final UwbInjector mUwbInjector;
- private GenericSpecificationParams mSpecificationParams;
private /* @UwbManager.AdapterStateCallback.State */ int mState;
private @StateChangeReason int mLastStateChangedReason;
private IUwbVendorUciCallback mCallBack = null;
@@ -219,11 +218,7 @@
}
@Override
- public void onCountryCodeChanged(@Nullable String countryCode) {
- // Clear the cached capabilities on country code changes.
- Log.v(TAG, "Clearing cached specification params on country code change");
- mSpecificationParams = null;
- }
+ public void onCountryCodeChanged(@Nullable String countryCode) { }
public void registerAdapterStateCallbacks(IUwbAdapterStateCallbacks adapterStateCallbacks)
throws RemoteException {
@@ -250,23 +245,16 @@
mCallBack = null;
}
- private void updateSpecificationInfo() {
+ public PersistableBundle getSpecificationInfo() {
+ // TODO(b/211445008): Consolidate to a single uwb thread.
Pair<Integer, GenericSpecificationParams> specificationParams =
mConfigurationManager.getCapsInfo(
GenericParams.PROTOCOL_NAME, GenericSpecificationParams.class);
if (specificationParams.first != UwbUciConstants.STATUS_CODE_OK) {
Log.e(TAG, "Failed to retrieve specification params");
- return;
+ return new PersistableBundle();
}
- mSpecificationParams = specificationParams.second;
- }
-
- public PersistableBundle getSpecificationInfo() {
- if (mSpecificationParams == null) {
- updateSpecificationInfo();
- }
- if (mSpecificationParams == null) return new PersistableBundle();
- return mSpecificationParams.toBundle();
+ return specificationParams.second.toBundle();
}
public long getTimestampResolutionNanos() {
diff --git a/service/tests/src/com/android/server/uwb/UwbServiceCoreTest.java b/service/tests/src/com/android/server/uwb/UwbServiceCoreTest.java
index c17e91c..e25f7ab 100644
--- a/service/tests/src/com/android/server/uwb/UwbServiceCoreTest.java
+++ b/service/tests/src/com/android/server/uwb/UwbServiceCoreTest.java
@@ -225,17 +225,6 @@
verifyGetSpecificationInfoSuccess();
}
- @Test
- public void testGetSpecificationInfoUsesCache() throws Exception {
- verifyGetSpecificationInfoSuccess();
- clearInvocations(mUwbConfigurationManager);
-
- PersistableBundle specifications = mUwbServiceCore.getSpecificationInfo();
- assertThat(specifications).isNotNull();
-
- verifyNoMoreInteractions(mUwbConfigurationManager);
- }
-
private void enableUwb() throws Exception {
when(mNativeUwbManager.doInitialize()).thenReturn(true);
when(mUwbCountryCode.setCountryCode(anyBoolean())).thenReturn(true);