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);