Improve SatelliteAccessControllerTest (unit test) isolation
Also, improve incomplete environment handling in SatelliteAccessController
Bug: 365800992
Test: com.android.phone.satellite.accesscontrol.SatelliteAccessControllerTest
Test: com.android.phone.satellite.entitlement.SatelliteEntitlementControllerTest
Flag: EXEMPT bugfix
Change-Id: Ibe257752ef3c0a174e9455042082d0369ac864fb
diff --git a/tests/src/com/android/TelephonyTestBase.java b/tests/src/com/android/TelephonyTestBase.java
index 3e74eb7..94e91d3 100644
--- a/tests/src/com/android/TelephonyTestBase.java
+++ b/tests/src/com/android/TelephonyTestBase.java
@@ -35,6 +35,8 @@
import com.android.internal.telephony.PhoneFactory;
import com.android.internal.telephony.data.DataConfigManager;
import com.android.internal.telephony.data.DataNetworkController;
+import com.android.internal.telephony.metrics.MetricsCollector;
+import com.android.internal.telephony.metrics.PersistAtomsStorage;
import com.android.phone.PhoneGlobals;
import com.android.phone.PhoneInterfaceManager;
@@ -65,6 +67,7 @@
@Mock protected PhoneGlobals mPhoneGlobals;
@Mock protected GsmCdmaPhone mPhone;
@Mock protected DataNetworkController mDataNetworkController;
+ @Mock private MetricsCollector mMetricsCollector;
private final HashMap<InstanceKey, Object> mOldInstances = new HashMap<>();
private final LinkedList<InstanceKey> mInstanceKeys = new LinkedList<>();
@@ -92,6 +95,9 @@
replaceInstance(PhoneFactory.class, "sPhone", null, mPhone);
replaceInstance(PhoneFactory.class, "sPhones", null, new Phone[] {mPhone});
replaceInstance(PhoneGlobals.class, "sMe", null, mPhoneGlobals);
+ replaceInstance(PhoneFactory.class, "sMetricsCollector", null, mMetricsCollector);
+
+ doReturn(Mockito.mock(PersistAtomsStorage.class)).when(mMetricsCollector).getAtomsStorage();
doReturn(mDataNetworkController).when(mPhone).getDataNetworkController();
doReturn(Collections.emptyList()).when(mDataNetworkController)