Merge "Always switch if default is OOS" into main
diff --git a/flags/misc.aconfig b/flags/misc.aconfig
index 58d31f2..2b5ab2b 100644
--- a/flags/misc.aconfig
+++ b/flags/misc.aconfig
@@ -6,4 +6,11 @@
   description: "When set, Telecom will not override the precise label for certain disconnect causes."
   bug: "296968778"
   is_fixed_read_only: true
+}
+
+flag {
+  name: "log_mms_sms_database_access_info"
+  namespace: "telephony"
+  description: "Whether to log MMS/SMS database access info and report anomaly when getting exception."
+  bug: "275225402"
 }
\ No newline at end of file
diff --git a/src/java/com/android/internal/telephony/GsmCdmaPhone.java b/src/java/com/android/internal/telephony/GsmCdmaPhone.java
index e790b9e..ecf8e5f 100644
--- a/src/java/com/android/internal/telephony/GsmCdmaPhone.java
+++ b/src/java/com/android/internal/telephony/GsmCdmaPhone.java
@@ -245,6 +245,7 @@
     private String mImeiSv;
     private String mVmNumber;
     private int mImeiType = IMEI_TYPE_UNKNOWN;
+    private int mSimState = TelephonyManager.SIM_STATE_UNKNOWN;
 
     @VisibleForTesting
     public CellBroadcastConfigTracker mCellBroadcastConfigTracker =
@@ -436,9 +437,9 @@
                 if (mPhoneId == intent.getIntExtra(
                         SubscriptionManager.EXTRA_SLOT_INDEX,
                         SubscriptionManager.INVALID_SIM_SLOT_INDEX)) {
-                    int simState = intent.getIntExtra(TelephonyManager.EXTRA_SIM_STATE,
+                    mSimState = intent.getIntExtra(TelephonyManager.EXTRA_SIM_STATE,
                             TelephonyManager.SIM_STATE_UNKNOWN);
-                    if (simState == TelephonyManager.SIM_STATE_LOADED
+                    if (mSimState == TelephonyManager.SIM_STATE_LOADED
                             && currentSlotSubIdChanged()) {
                         setNetworkSelectionModeAutomatic(null);
                     }
@@ -5122,10 +5123,7 @@
     }
 
     private void updateVoNrSettings(@NonNull PersistableBundle config) {
-        UiccSlot slot = mUiccController.getUiccSlotForPhone(mPhoneId);
-
-        // If no card is present, do nothing.
-        if (slot == null || slot.getCardState() != IccCardStatus.CardState.CARDSTATE_PRESENT) {
+        if (mSimState != TelephonyManager.SIM_STATE_LOADED) {
             return;
         }
 
diff --git a/src/java/com/android/internal/telephony/ServiceStateTracker.java b/src/java/com/android/internal/telephony/ServiceStateTracker.java
index 019ee21..14f71bd 100644
--- a/src/java/com/android/internal/telephony/ServiceStateTracker.java
+++ b/src/java/com/android/internal/telephony/ServiceStateTracker.java
@@ -687,7 +687,7 @@
         // system setting property AIRPLANE_MODE_ON is set in Settings.
         int airplaneMode = Settings.Global.getInt(mCr, Settings.Global.AIRPLANE_MODE_ON, 0);
         int enableCellularOnBoot = Settings.Global.getInt(mCr,
-                Settings.Global.ENABLE_CELLULAR_ON_BOOT, 1);
+                Settings.Global.ENABLE_CELLULAR_ON_BOOT, getDefaultEnableCellularOnBoot());
         mDesiredPowerState = (enableCellularOnBoot > 0) && ! (airplaneMode > 0);
         if (!mDesiredPowerState) {
             mRadioPowerOffReasons.add(TelephonyManager.RADIO_POWER_REASON_USER);
@@ -751,6 +751,11 @@
         }
     }
 
+    private int getDefaultEnableCellularOnBoot() {
+        return mPhone.getContext().getResources().getBoolean(
+            R.bool.config_enable_cellular_on_boot_default) ? 1 : 0;
+    }
+
     @VisibleForTesting
     public void updatePhoneType() {
 
diff --git a/src/java/com/android/internal/telephony/nitz/TEST_MAPPING b/src/java/com/android/internal/telephony/nitz/TEST_MAPPING
new file mode 100644
index 0000000..2bcb04e
--- /dev/null
+++ b/src/java/com/android/internal/telephony/nitz/TEST_MAPPING
@@ -0,0 +1,13 @@
+{
+  // TODO(b/182461754): Change to "presubmit" when go/test-mapping-slo-guide allows.
+  "postsubmit": [
+    {
+      "name": "FrameworksTelephonyTests",
+      "options": [
+        {
+          "include-filter": "com.android.internal.telephony.nitz."
+        }
+      ]
+    }
+  ]
+}
diff --git a/src/java/com/android/internal/telephony/satellite/SatelliteController.java b/src/java/com/android/internal/telephony/satellite/SatelliteController.java
index db40e88..cb68fcb 100644
--- a/src/java/com/android/internal/telephony/satellite/SatelliteController.java
+++ b/src/java/com/android/internal/telephony/satellite/SatelliteController.java
@@ -1194,8 +1194,11 @@
             @NonNull IIntegerConsumer callback) {
         logd("requestSatelliteEnabled subId: " + subId + " enableSatellite: " + enableSatellite
                 + " enableDemoMode: " + enableDemoMode);
-
         Consumer<Integer> result = FunctionalUtils.ignoreRemoteException(callback::accept);
+        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
+            result.accept(SatelliteManager.SATELLITE_RESULT_NOT_SUPPORTED);
+            return;
+        }
 
         Boolean satelliteSupported = isSatelliteSupportedInternal();
         if (satelliteSupported == null) {
@@ -1286,6 +1289,10 @@
      *               if the request is successful or an error code if the request failed.
      */
     public void requestIsSatelliteEnabled(int subId, @NonNull ResultReceiver result) {
+        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
+            result.send(SatelliteManager.SATELLITE_RESULT_NOT_SUPPORTED, null);
+            return;
+        }
         Boolean satelliteSupported = isSatelliteSupportedInternal();
         if (satelliteSupported == null) {
             result.send(SatelliteManager.SATELLITE_RESULT_INVALID_TELEPHONY_STATE, null);
@@ -1316,6 +1323,9 @@
      * @return {@code true} if the satellite modem is enabled and {@code false} otherwise.
      */
     public boolean isSatelliteEnabled() {
+        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
+            return false;
+        }
         if (mIsSatelliteEnabled == null) return false;
         return mIsSatelliteEnabled;
     }
@@ -1329,6 +1339,10 @@
      *               if the request is successful or an error code if the request failed.
      */
     public void requestIsDemoModeEnabled(int subId, @NonNull ResultReceiver result) {
+        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
+            result.send(SatelliteManager.SATELLITE_RESULT_NOT_SUPPORTED, null);
+            return;
+        }
         Boolean satelliteSupported = isSatelliteSupportedInternal();
         if (satelliteSupported == null) {
             result.send(SatelliteManager.SATELLITE_RESULT_INVALID_TELEPHONY_STATE, null);
@@ -1360,6 +1374,9 @@
      * @return {@code true} if the satellite demo mode is enabled and {@code false} otherwise.
      */
     public boolean isDemoModeEnabled() {
+        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
+            return false;
+        }
         return mIsDemoModeEnabled;
     }
 
@@ -1371,6 +1388,10 @@
      *               the device if the request is successful or an error code if the request failed.
      */
     public void requestIsSatelliteSupported(int subId, @NonNull ResultReceiver result) {
+        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
+            result.send(SatelliteManager.SATELLITE_RESULT_NOT_SUPPORTED, null);
+            return;
+        }
         synchronized (mIsSatelliteSupportedLock) {
             if (mIsSatelliteSupported != null) {
                 /* We have already successfully queried the satellite modem. */
@@ -1392,6 +1413,10 @@
      *               if the request is successful or an error code if the request failed.
      */
     public void requestSatelliteCapabilities(int subId, @NonNull ResultReceiver result) {
+        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
+            result.send(SatelliteManager.SATELLITE_RESULT_NOT_SUPPORTED, null);
+            return;
+        }
         Boolean satelliteSupported = isSatelliteSupportedInternal();
         if (satelliteSupported == null) {
             result.send(SatelliteManager.SATELLITE_RESULT_INVALID_TELEPHONY_STATE, null);
@@ -1428,6 +1453,10 @@
             @NonNull IIntegerConsumer errorCallback,
             @NonNull ISatelliteTransmissionUpdateCallback callback) {
         Consumer<Integer> result = FunctionalUtils.ignoreRemoteException(errorCallback::accept);
+        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
+            result.accept(SatelliteManager.SATELLITE_RESULT_NOT_SUPPORTED);
+            return;
+        }
         Boolean satelliteSupported = isSatelliteSupportedInternal();
         if (satelliteSupported == null) {
             result.accept(SatelliteManager.SATELLITE_RESULT_INVALID_TELEPHONY_STATE);
@@ -1467,6 +1496,10 @@
     public void stopSatelliteTransmissionUpdates(int subId, @NonNull IIntegerConsumer errorCallback,
             @NonNull ISatelliteTransmissionUpdateCallback callback) {
         Consumer<Integer> result = FunctionalUtils.ignoreRemoteException(errorCallback::accept);
+        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
+            result.accept(SatelliteManager.SATELLITE_RESULT_NOT_SUPPORTED);
+            return;
+        }
         Boolean satelliteSupported = isSatelliteSupportedInternal();
         if (satelliteSupported == null) {
             result.accept(SatelliteManager.SATELLITE_RESULT_INVALID_TELEPHONY_STATE);
@@ -1515,6 +1548,10 @@
             @NonNull String token, @NonNull byte[] provisionData,
             @NonNull IIntegerConsumer callback) {
         Consumer<Integer> result = FunctionalUtils.ignoreRemoteException(callback::accept);
+        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
+            result.accept(SatelliteManager.SATELLITE_RESULT_NOT_SUPPORTED);
+            return null;
+        }
         Boolean satelliteSupported = isSatelliteSupportedInternal();
         if (satelliteSupported == null) {
             result.accept(SatelliteManager.SATELLITE_RESULT_INVALID_TELEPHONY_STATE);
@@ -1566,6 +1603,10 @@
     public void deprovisionSatelliteService(int subId,
             @NonNull String token, @NonNull IIntegerConsumer callback) {
         Consumer<Integer> result = FunctionalUtils.ignoreRemoteException(callback::accept);
+        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
+            result.accept(SatelliteManager.SATELLITE_RESULT_NOT_SUPPORTED);
+            return;
+        }
         Boolean satelliteSupported = isSatelliteSupportedInternal();
         if (satelliteSupported == null) {
             result.accept(SatelliteManager.SATELLITE_RESULT_INVALID_TELEPHONY_STATE);
@@ -1603,6 +1644,9 @@
      */
     @SatelliteManager.SatelliteResult public int registerForSatelliteProvisionStateChanged(
             int subId, @NonNull ISatelliteProvisionStateCallback callback) {
+        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
+            return SatelliteManager.SATELLITE_RESULT_NOT_SUPPORTED;
+        }
         Boolean satelliteSupported = isSatelliteSupportedInternal();
         if (satelliteSupported == null) {
             return SatelliteManager.SATELLITE_RESULT_INVALID_TELEPHONY_STATE;
@@ -1625,6 +1669,9 @@
      */
     public void unregisterForSatelliteProvisionStateChanged(
             int subId, @NonNull ISatelliteProvisionStateCallback callback) {
+        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
+            return;
+        }
         mSatelliteProvisionStateChangedListeners.remove(callback.asBinder());
     }
 
@@ -1637,6 +1684,10 @@
      *               request failed.
      */
     public void requestIsSatelliteProvisioned(int subId, @NonNull ResultReceiver result) {
+        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
+            result.send(SatelliteManager.SATELLITE_RESULT_NOT_SUPPORTED, null);
+            return;
+        }
         Boolean satelliteSupported = isSatelliteSupportedInternal();
         if (satelliteSupported == null) {
             result.send(SatelliteManager.SATELLITE_RESULT_INVALID_TELEPHONY_STATE, null);
@@ -1670,6 +1721,9 @@
      */
     @SatelliteManager.SatelliteResult public int registerForSatelliteModemStateChanged(int subId,
             @NonNull ISatelliteStateCallback callback) {
+        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
+            return SatelliteManager.SATELLITE_RESULT_NOT_SUPPORTED;
+        }
         if (mSatelliteSessionController != null) {
             mSatelliteSessionController.registerForSatelliteModemStateChanged(callback);
         } else {
@@ -1690,6 +1744,9 @@
      */
     public void unregisterForSatelliteModemStateChanged(int subId,
             @NonNull ISatelliteStateCallback callback) {
+        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
+            return;
+        }
         if (mSatelliteSessionController != null) {
             mSatelliteSessionController.unregisterForSatelliteModemStateChanged(callback);
         } else {
@@ -1708,6 +1765,9 @@
      */
     @SatelliteManager.SatelliteResult public int registerForSatelliteDatagram(int subId,
             @NonNull ISatelliteDatagramCallback callback) {
+        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
+            return SatelliteManager.SATELLITE_RESULT_NOT_SUPPORTED;
+        }
         return mDatagramController.registerForSatelliteDatagram(subId, callback);
     }
 
@@ -1721,6 +1781,9 @@
      */
     public void unregisterForSatelliteDatagram(int subId,
             @NonNull ISatelliteDatagramCallback callback) {
+        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
+            return;
+        }
         mDatagramController.unregisterForSatelliteDatagram(subId, callback);
     }
 
@@ -1737,6 +1800,10 @@
      */
     public void pollPendingSatelliteDatagrams(int subId, @NonNull IIntegerConsumer callback) {
         Consumer<Integer> result = FunctionalUtils.ignoreRemoteException(callback::accept);
+        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
+            result.accept(SatelliteManager.SATELLITE_RESULT_NOT_SUPPORTED);
+            return;
+        }
 
         Boolean satelliteProvisioned = isSatelliteProvisioned();
         if (satelliteProvisioned == null) {
@@ -1772,6 +1839,10 @@
             SatelliteDatagram datagram, boolean needFullScreenPointingUI,
             @NonNull IIntegerConsumer callback) {
         Consumer<Integer> result = FunctionalUtils.ignoreRemoteException(callback::accept);
+        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
+            result.accept(SatelliteManager.SATELLITE_RESULT_NOT_SUPPORTED);
+            return;
+        }
 
         Boolean satelliteProvisioned = isSatelliteProvisioned();
         if (satelliteProvisioned == null) {
@@ -1806,6 +1877,10 @@
      */
     public void requestIsSatelliteCommunicationAllowedForCurrentLocation(int subId,
             @NonNull ResultReceiver result) {
+        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
+            result.send(SatelliteManager.SATELLITE_RESULT_NOT_SUPPORTED, null);
+            return;
+        }
         Boolean satelliteSupported = isSatelliteSupportedInternal();
         if (satelliteSupported == null) {
             result.send(SatelliteManager.SATELLITE_RESULT_INVALID_TELEPHONY_STATE, null);
@@ -1828,6 +1903,10 @@
      *               be visible if the request is successful or an error code if the request failed.
      */
     public void requestTimeForNextSatelliteVisibility(int subId, @NonNull ResultReceiver result) {
+        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
+            result.send(SatelliteManager.SATELLITE_RESULT_NOT_SUPPORTED, null);
+            return;
+        }
         Boolean satelliteSupported = isSatelliteSupportedInternal();
         if (satelliteSupported == null) {
             result.send(SatelliteManager.SATELLITE_RESULT_INVALID_TELEPHONY_STATE, null);
@@ -1859,6 +1938,9 @@
      * @param isAligned {@true} means device is aligned with the satellite, otherwise {@false}.
      */
     public void setDeviceAlignedWithSatellite(@NonNull int subId, @NonNull boolean isAligned) {
+        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
+            return;
+        }
         mDatagramController.setDeviceAlignedWithSatellite(isAligned);
     }
 
@@ -1965,6 +2047,9 @@
      * {@code false} otherwise.
      */
     public boolean setSatelliteServicePackageName(@Nullable String servicePackageName) {
+        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
+            return false;
+        }
         if (!isMockModemAllowed()) return false;
 
         // Cached states need to be cleared whenever switching satellite vendor services.
@@ -1994,6 +2079,9 @@
      * @return {@code true} if the timeout duration is set successfully, {@code false} otherwise.
      */
     public boolean setSatelliteListeningTimeoutDuration(long timeoutMillis) {
+        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
+            return false;
+        }
         if (mSatelliteSessionController == null) {
             loge("mSatelliteSessionController is not initialized yet");
             return false;
@@ -2009,6 +2097,9 @@
      * @return {@code true} if the timeout duration is set successfully, {@code false} otherwise.
      */
     public boolean setSatelliteDeviceAlignedTimeoutDuration(long timeoutMillis) {
+        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
+            return false;
+        }
         return mDatagramController.setSatelliteDeviceAlignedTimeoutDuration(timeoutMillis);
     }
 
@@ -2020,6 +2111,9 @@
      * {@code false} otherwise.
      */
     public boolean setSatelliteGatewayServicePackageName(@Nullable String servicePackageName) {
+        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
+            return false;
+        }
         if (mSatelliteSessionController == null) {
             loge("mSatelliteSessionController is not initialized yet");
             return false;
@@ -2038,6 +2132,9 @@
      */
     public boolean setSatellitePointingUiClassName(
             @Nullable String packageName, @Nullable String className) {
+        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
+            return false;
+        }
         return mPointingAppController.setSatellitePointingUiClassName(packageName, className);
     }
 
@@ -2054,6 +2151,9 @@
      */
     @VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE)
     public void onSatelliteServiceConnected() {
+        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
+            return;
+        }
         if (mSatelliteModemInterface.isSatelliteServiceSupported()) {
             synchronized (mIsSatelliteSupportedLock) {
                 if (mIsSatelliteSupported == null) {
@@ -2100,6 +2200,9 @@
      * @return {@code true} is satellite is supported on the device, {@code  false} otherwise.
      */
     public boolean isSatelliteSupported() {
+        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
+            return false;
+        }
         Boolean supported = isSatelliteSupportedInternal();
         return (supported != null ? supported : false);
     }
@@ -2110,6 +2213,9 @@
      */
     @NonNull
     public List<String> getSatellitePlmnList(int subId) {
+        if (!mFeatureFlags.carrierEnabledSatelliteFlag()) {
+            return new ArrayList<>();
+        }
         synchronized (mSupportedSatelliteServicesLock) {
             if (mSatelliteServicesSupportedByCarriers.containsKey(subId)) {
                 return new ArrayList<>(mSatelliteServicesSupportedByCarriers.get(subId).keySet());
@@ -2127,6 +2233,9 @@
      */
     @NonNull
     public List<Integer> getSupportedSatelliteServices(int subId, String plmn) {
+        if (!mFeatureFlags.carrierEnabledSatelliteFlag()) {
+            return new ArrayList<>();
+        }
         synchronized (mSupportedSatelliteServicesLock) {
             if (mSatelliteServicesSupportedByCarriers.containsKey(subId)) {
                 Map<String, Set<Integer>> supportedServices =
diff --git a/src/java/com/android/internal/telephony/satellite/SatelliteSOSMessageRecommender.java b/src/java/com/android/internal/telephony/satellite/SatelliteSOSMessageRecommender.java
index b098625..9bf82d1 100644
--- a/src/java/com/android/internal/telephony/satellite/SatelliteSOSMessageRecommender.java
+++ b/src/java/com/android/internal/telephony/satellite/SatelliteSOSMessageRecommender.java
@@ -225,6 +225,10 @@
      */
     public void onEmergencyCallConnectionStateChanged(
             String callId, @Connection.ConnectionState int state) {
+        if (!mSatelliteController.isSatelliteSupported()) {
+            logd("onEmergencyCallConnectionStateChanged: satellite is not supported");
+            return;
+        }
         Pair<String, Integer> argument = new Pair<>(callId, state);
         sendMessage(obtainMessage(EVENT_EMERGENCY_CALL_CONNECTION_STATE_CHANGED, argument));
     }
diff --git a/testing/Android.bp b/testing/Android.bp
index 3c100d8..903b98e 100644
--- a/testing/Android.bp
+++ b/testing/Android.bp
@@ -16,7 +16,7 @@
         "guava",
         "junit",
         "mockito-target-minus-junit4",
-        "truth-prebuilt",
+        "truth",
     ],
 
     sdk_version: "test_current",
diff --git a/tests/telephonytests/Android.bp b/tests/telephonytests/Android.bp
index 2aa446d..9fb4fe6 100644
--- a/tests/telephonytests/Android.bp
+++ b/tests/telephonytests/Android.bp
@@ -38,9 +38,9 @@
         "platform-test-annotations",
         "services.core",
         "services.net",
-        "truth-prebuilt",
+        "truth",
         "testables",
-        "platform-compat-test-rules"
+        "platform-compat-test-rules",
     ],
 
     jarjar_rules: ":jarjar-rules-telephony-tests",
diff --git a/tests/telephonytests/src/com/android/internal/telephony/ServiceStateTrackerTest.java b/tests/telephonytests/src/com/android/internal/telephony/ServiceStateTrackerTest.java
index 4bc2ab8..0b25c55 100644
--- a/tests/telephonytests/src/com/android/internal/telephony/ServiceStateTrackerTest.java
+++ b/tests/telephonytests/src/com/android/internal/telephony/ServiceStateTrackerTest.java
@@ -269,6 +269,7 @@
                 "com.android.phone");
         mContextFixture.putResource(R.string.config_wlan_network_service_package,
                 "com.xyz.iwlan.networkservice");
+
         doReturn(mIwlanNetworkServiceStub).when(mIwlanNetworkServiceStub).asBinder();
         addNetworkService();
 
@@ -303,6 +304,10 @@
         doReturn(true).when(mPackageManager)
                 .hasSystemFeature(PackageManager.FEATURE_TELEPHONY_CDMA);
 
+        // Set cellular radio on after boot by default
+        mContextFixture.putBooleanResource(
+                R.bool.config_enable_cellular_on_boot_default, true);
+
         mSSTTestHandler = new ServiceStateTrackerTestHandler(getClass().getSimpleName());
         mSSTTestHandler.start();
         waitUntilReady();
@@ -328,6 +333,10 @@
         mContextFixture.putIntResource(
                 com.android.internal.R.integer.config_delay_for_ims_dereg_millis, 0);
 
+        // Set 1 as default behavior for enable_cellular_on_boot
+        mContextFixture.putBooleanResource(
+                com.android.internal.R.bool.config_enable_cellular_on_boot_default, true);
+
         mBundle.putBoolean(
                 CarrierConfigManager.KEY_ENABLE_CARRIER_DISPLAY_NAME_RESOLVER_BOOL, true);
         mBundle.putInt(CarrierConfigManager.KEY_WFC_SPN_FORMAT_IDX_INT, 0);
diff --git a/tests/telephonytests/src/com/android/internal/telephony/nitz/TEST_MAPPING b/tests/telephonytests/src/com/android/internal/telephony/nitz/TEST_MAPPING
new file mode 100644
index 0000000..2bcb04e
--- /dev/null
+++ b/tests/telephonytests/src/com/android/internal/telephony/nitz/TEST_MAPPING
@@ -0,0 +1,13 @@
+{
+  // TODO(b/182461754): Change to "presubmit" when go/test-mapping-slo-guide allows.
+  "postsubmit": [
+    {
+      "name": "FrameworksTelephonyTests",
+      "options": [
+        {
+          "include-filter": "com.android.internal.telephony.nitz."
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/telephonytests/src/com/android/internal/telephony/satellite/SatelliteControllerTest.java b/tests/telephonytests/src/com/android/internal/telephony/satellite/SatelliteControllerTest.java
index 2d810b3..3fc935e 100644
--- a/tests/telephonytests/src/com/android/internal/telephony/satellite/SatelliteControllerTest.java
+++ b/tests/telephonytests/src/com/android/internal/telephony/satellite/SatelliteControllerTest.java
@@ -855,6 +855,7 @@
         processAllMessages();
         // Satellite should not be powered off since the feature flag oemEnabledSatelliteFlag is
         // disabled
+        when(mFeatureFlags.oemEnabledSatelliteFlag()).thenReturn(true);
         verifySatelliteEnabled(true, SATELLITE_RESULT_SUCCESS);
     }