No need to init mSatelliteAccessConfigMap during cleanup
Bug: 384547445
Flag: EXEMPT 'bug fix'
Test: Manullay verified if the satellite_access_config data is invoked with correct value after the cleanup logic is processed (b/384547445#comment11 is showing the correct data for US and CA).
Test: atest SatelliteAccessControllerTest#testRequestSatelliteAccessConfigurationForCurrentLocation (http://ab/I66900010346604588-passed)
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:ca9b430b4a278ebe831c3a6a04f79c435f9c4e79)
Merged-In: If669710451c7133642e8b30b80650f4c255d8ade
Change-Id: If669710451c7133642e8b30b80650f4c255d8ade
diff --git a/src/com/android/phone/satellite/accesscontrol/SatelliteAccessController.java b/src/com/android/phone/satellite/accesscontrol/SatelliteAccessController.java
index c0f02cd..0a753b4 100644
--- a/src/com/android/phone/satellite/accesscontrol/SatelliteAccessController.java
+++ b/src/com/android/phone/satellite/accesscontrol/SatelliteAccessController.java
@@ -2267,7 +2267,6 @@
ploge("cleanupOnDeviceAccessControllerResources: ex=" + ex);
}
mSatelliteOnDeviceAccessController = null;
- mSatelliteAccessConfigMap = null;
stopKeepOnDeviceAccessControllerResourcesTimer();
}
}
diff --git a/tests/src/com/android/phone/satellite/accesscontrol/SatelliteAccessControllerTest.java b/tests/src/com/android/phone/satellite/accesscontrol/SatelliteAccessControllerTest.java
index 315184e..3750dd1 100644
--- a/tests/src/com/android/phone/satellite/accesscontrol/SatelliteAccessControllerTest.java
+++ b/tests/src/com/android/phone/satellite/accesscontrol/SatelliteAccessControllerTest.java
@@ -41,6 +41,7 @@
import static com.android.phone.satellite.accesscontrol.SatelliteAccessController.DEFAULT_THROTTLE_INTERVAL_FOR_LOCATION_QUERY_MINUTES;
import static com.android.phone.satellite.accesscontrol.SatelliteAccessController.EVENT_CONFIG_DATA_UPDATED;
import static com.android.phone.satellite.accesscontrol.SatelliteAccessController.EVENT_COUNTRY_CODE_CHANGED;
+import static com.android.phone.satellite.accesscontrol.SatelliteAccessController.EVENT_KEEP_ON_DEVICE_ACCESS_CONTROLLER_RESOURCES_TIMEOUT;
import static com.android.phone.satellite.accesscontrol.SatelliteAccessController.EVENT_WAIT_FOR_CURRENT_LOCATION_TIMEOUT;
import static com.android.phone.satellite.accesscontrol.SatelliteAccessController.GOOGLE_US_SAN_SAT_S2_FILE_NAME;
import static com.android.phone.satellite.accesscontrol.SatelliteAccessController.UNKNOWN_REGIONAL_SATELLITE_CONFIG_ID;
@@ -96,7 +97,6 @@
import android.os.IBinder;
import android.os.Looper;
import android.os.Message;
-import android.os.Parcel;
import android.os.ResultReceiver;
import android.os.UserHandle;
import android.telecom.TelecomManager;
@@ -586,7 +586,7 @@
ArgumentCaptor<Bundle> bundleCaptor = ArgumentCaptor.forClass(Bundle.class);
SatelliteAccessConfiguration satelliteAccessConfig = getSatelliteAccessConfiguration();
- // setup satellite communication allwed state as true
+ // setup satellite communication allowed state as true
setSatelliteCommunicationAllowed();
// setup map data of location and configId.
@@ -625,6 +625,9 @@
doReturn(true).when(mMockFeatureFlags).carrierRoamingNbIotNtn();
+ // Verify if the map is maintained after the cleanup event
+ sendSatelliteDeviceAccessControllerResourcesTimeOutEvent();
+
// satellite communication allowed state is enabled and
// regional config id is DEFAULT_REGIONAL_SATELLITE_CONFIG_ID.
clearInvocations(mockResultReceiver);
@@ -664,16 +667,10 @@
}
private SatelliteAccessConfiguration getSatelliteAccessConfiguration() {
- Parcel satelliteAccessconfigParcel = Parcel.obtain();
-
List<SatelliteInfo> satelliteInfoList = new ArrayList<>();
satelliteInfoList.add(mSatelliteInfo);
- satelliteAccessconfigParcel.writeTypedList(satelliteInfoList);
-
List<Integer> tagIds = new ArrayList<>(List.of(1, 2));
- satelliteAccessconfigParcel.writeList(tagIds);
-
- return new SatelliteAccessConfiguration(satelliteAccessconfigParcel);
+ return new SatelliteAccessConfiguration(satelliteInfoList, tagIds);
}
@Test
@@ -2063,6 +2060,13 @@
mTestableLooper.processAllMessages();
}
+ private void sendSatelliteDeviceAccessControllerResourcesTimeOutEvent() {
+ Message msg = mSatelliteAccessControllerUT
+ .obtainMessage(EVENT_KEEP_ON_DEVICE_ACCESS_CONTROLLER_RESOURCES_TIMEOUT);
+ msg.sendToTarget();
+ mTestableLooper.processAllMessages();
+ }
+
private void sendConfigUpdateChangedEvent(Context context) {
Message msg = mSatelliteAccessControllerUT.obtainMessage(EVENT_CONFIG_DATA_UPDATED);
msg.obj = new AsyncResult(context, SATELLITE_RESULT_SUCCESS, null);