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/TestContext.java b/tests/src/com/android/TestContext.java
index a684ef5..fe88ae6 100644
--- a/tests/src/com/android/TestContext.java
+++ b/tests/src/com/android/TestContext.java
@@ -21,6 +21,8 @@
 import static org.mockito.Mockito.doAnswer;
 import static org.mockito.Mockito.when;
 
+import android.annotation.NonNull;
+import android.annotation.Nullable;
 import android.content.AttributionSource;
 import android.content.BroadcastReceiver;
 import android.content.ContentResolver;
@@ -28,6 +30,8 @@
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.pm.PackageManager;
+import android.content.res.AssetManager;
+import android.content.res.Resources;
 import android.os.Binder;
 import android.os.Handler;
 import android.os.Looper;
@@ -44,7 +48,10 @@
 import android.util.Log;
 import android.util.SparseArray;
 
+import androidx.test.InstrumentationRegistry;
+
 import org.mockito.Mock;
+import org.mockito.Mockito;
 import org.mockito.MockitoAnnotations;
 import org.mockito.stubbing.Answer;
 
@@ -87,6 +94,11 @@
     }
 
     @Override
+    public AssetManager getAssets() {
+        return Mockito.mock(AssetManager.class);
+    }
+
+    @Override
     public Executor getMainExecutor() {
         // Just run on current thread
         return Runnable::run;
@@ -98,6 +110,11 @@
     }
 
     @Override
+    public @NonNull Context createAttributionContext(@Nullable String attributionTag) {
+        return this;
+    }
+
+    @Override
     public String getPackageName() {
         return "com.android.phone.tests";
     }
@@ -226,6 +243,11 @@
         return new Handler(Looper.getMainLooper());
     }
 
+    @Override
+    public Resources.Theme getTheme() {
+        return InstrumentationRegistry.getTargetContext().getTheme();
+    }
+
     /**
      * @return CarrierConfig PersistableBundle for the subscription specified.
      */