Merge "[Satellite] Reset the counter stats at the beginning of the session." into main
diff --git a/src/java/com/android/internal/telephony/SmsDispatchersController.java b/src/java/com/android/internal/telephony/SmsDispatchersController.java
index 023680a..5bcb085 100644
--- a/src/java/com/android/internal/telephony/SmsDispatchersController.java
+++ b/src/java/com/android/internal/telephony/SmsDispatchersController.java
@@ -29,7 +29,6 @@
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
-import android.content.res.Resources;
import android.net.Uri;
import android.os.AsyncResult;
import android.os.Binder;
@@ -46,13 +45,14 @@
import android.telephony.ServiceState;
import android.telephony.SmsManager;
import android.telephony.SmsMessage;
-import android.telephony.TelephonyManager;
import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyManager;
import android.telephony.emergency.EmergencyNumber;
import android.telephony.satellite.SatelliteManager;
import android.text.TextUtils;
import com.android.ims.ImsManager;
+import com.android.internal.R;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.os.SomeArgs;
import com.android.internal.telephony.cdma.CdmaInboundSmsHandler;
@@ -67,18 +67,17 @@
import com.android.internal.telephony.gsm.GsmSMSDispatcher;
import com.android.internal.telephony.satellite.DatagramDispatcher;
import com.android.internal.telephony.satellite.SatelliteController;
-import com.android.internal.R;
import com.android.telephony.Rlog;
import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.util.ArrayList;
-import java.util.concurrent.atomic.AtomicLong;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.atomic.AtomicLong;
/**
*
@@ -1258,7 +1257,7 @@
}
private void notifySmsSentToDatagramDispatcher(long messageId, boolean success) {
- if (SatelliteController.getInstance().isInCarrierRoamingNbIotNtn(mPhone)) {
+ if (SatelliteController.getInstance().shouldSendSmsToDatagramDispatcher(mPhone)) {
DatagramDispatcher.getInstance().onSendSmsDone(mPhone.getSubId(), messageId, success);
}
}
@@ -1866,7 +1865,7 @@
messageUri, persistMessage, priority, expectMore, validityPeriod, messageId,
skipShortCodeCheck, false);
- if (SatelliteController.getInstance().isInCarrierRoamingNbIotNtn(mPhone)) {
+ if (SatelliteController.getInstance().shouldSendSmsToDatagramDispatcher(mPhone)) {
// Send P2P SMS using carrier roaming NB IOT NTN
DatagramDispatcher.getInstance().sendSms(pendingRequest);
return;
@@ -2031,7 +2030,7 @@
null, 0, parts, messageUri, persistMessage, priority, expectMore,
validityPeriod, messageId, false, false);
- if (SatelliteController.getInstance().isInCarrierRoamingNbIotNtn(mPhone)) {
+ if (SatelliteController.getInstance().shouldSendSmsToDatagramDispatcher(mPhone)) {
// Send multipart P2P SMS using carrier roaming NB IOT NTN
DatagramDispatcher.getInstance().sendSms(pendingRequest);
return;
@@ -2241,7 +2240,7 @@
* to trigger SMSC to send all pending SMS to the particular subscription.
*/
public void sendMtSmsPollingMessage() {
- if (!SatelliteController.getInstance().isInCarrierRoamingNbIotNtn(mPhone)) {
+ if (!SatelliteController.getInstance().shouldSendSmsToDatagramDispatcher(mPhone)) {
logd("sendMtSmsPollingMessage: not in roaming nb iot ntn");
return;
}
@@ -2268,7 +2267,9 @@
asArrayList(null), false, null, 0, asArrayList(mtSmsPollingText), null, false, 0,
false, 5, 0L, true, true);
- DatagramDispatcher.getInstance().sendSms(pendingRequest);
+ if (SatelliteController.getInstance().shouldSendSmsToDatagramDispatcher(mPhone)) {
+ DatagramDispatcher.getInstance().sendSms(pendingRequest);
+ }
}
public interface SmsInjectionCallback {
diff --git a/src/java/com/android/internal/telephony/satellite/SatelliteController.java b/src/java/com/android/internal/telephony/satellite/SatelliteController.java
index d1b2ae1..5484de6 100644
--- a/src/java/com/android/internal/telephony/satellite/SatelliteController.java
+++ b/src/java/com/android/internal/telephony/satellite/SatelliteController.java
@@ -34,6 +34,7 @@
import static android.telephony.CarrierConfigManager.KEY_SATELLITE_ENTITLEMENT_SUPPORTED_BOOL;
import static android.telephony.CarrierConfigManager.KEY_SATELLITE_ESOS_SUPPORTED_BOOL;
import static android.telephony.CarrierConfigManager.KEY_SATELLITE_SOS_MAX_DATAGRAM_SIZE;
+import static android.telephony.CarrierConfigManager.KEY_SATELLITE_SUPPORTED_MSG_APPS_STRING_ARRAY;
import static android.telephony.CarrierConfigManager.KEY_SATELLITE_NIDD_APN_NAME_STRING;
import static android.telephony.CarrierConfigManager.KEY_SATELLITE_ROAMING_ESOS_INACTIVITY_TIMEOUT_SEC_INT;
import static android.telephony.CarrierConfigManager.KEY_SATELLITE_ROAMING_P2P_SMS_INACTIVITY_TIMEOUT_SEC_INT;
@@ -108,7 +109,6 @@
import android.os.SystemClock;
import android.os.SystemProperties;
import android.os.UserHandle;
-import android.preference.PreferenceManager;
import android.provider.Settings;
import android.provider.Telephony;
import android.telecom.TelecomManager;
@@ -166,6 +166,7 @@
import com.android.internal.telephony.satellite.metrics.SessionMetricsStats;
import com.android.internal.telephony.subscription.SubscriptionInfoInternal;
import com.android.internal.telephony.subscription.SubscriptionManagerService;
+import com.android.internal.telephony.util.ArrayUtils;
import com.android.internal.telephony.util.TelephonyUtils;
import com.android.internal.util.FunctionalUtils;
@@ -3830,7 +3831,7 @@
* @return {@code true} if phone is in carrier roaming nb iot ntn mode,
* else {@return false}
*/
- public boolean isInCarrierRoamingNbIotNtn(@NonNull Phone phone) {
+ private boolean isInCarrierRoamingNbIotNtn(@NonNull Phone phone) {
if (!mFeatureFlags.carrierRoamingNbIotNtn()) {
plogd("isInCarrierRoamingNbIotNtn: carrier roaming nb iot ntn "
+ "feature flag is disabled");
@@ -3848,6 +3849,14 @@
+ " is not carrier roaming ntn eligible.");
return false;
}
+
+ int subId = phone.getSubId();
+ if (subId != getSelectedSatelliteSubId()) {
+ plogd("isInCarrierRoamingNbIotNtn: subId=" + subId
+ + " does not match satellite subId=" + getSelectedSatelliteSubId());
+ return false;
+ }
+
plogd("isInCarrierRoamingNbIotNtn: carrier roaming ntn eligible for phone"
+ " associated with subId " + phone.getSubId());
return true;
@@ -5068,7 +5077,8 @@
KEY_SATELLITE_ROAMING_SCREEN_OFF_INACTIVITY_TIMEOUT_SEC_INT,
KEY_SATELLITE_ROAMING_P2P_SMS_INACTIVITY_TIMEOUT_SEC_INT,
KEY_SATELLITE_ROAMING_ESOS_INACTIVITY_TIMEOUT_SEC_INT,
- KEY_SATELLITE_SOS_MAX_DATAGRAM_SIZE
+ KEY_SATELLITE_SOS_MAX_DATAGRAM_SIZE,
+ KEY_SATELLITE_SUPPORTED_MSG_APPS_STRING_ARRAY
);
} catch (Exception e) {
logw("getConfigForSubId: " + e);
@@ -5554,6 +5564,17 @@
}
}
+ /**
+ * Returns a list of messaging apps that support satellite.
+ */
+ @NonNull public List<String> getSatelliteSupportedMsgApps(int subId) {
+ String[] satelliteSupportedMsgApps = getConfigForSubId(subId)
+ .getStringArray(KEY_SATELLITE_SUPPORTED_MSG_APPS_STRING_ARRAY);
+
+ return satelliteSupportedMsgApps != null
+ ? List.of(satelliteSupportedMsgApps) : Collections.emptyList();
+ }
+
private void sendErrorAndReportSessionMetrics(@SatelliteManager.SatelliteResult int error,
Consumer<Integer> result) {
result.accept(error);
@@ -7042,8 +7063,9 @@
return false;
}
- if (!isSatelliteServiceSupportedByCarrier(subId,
- NetworkRegistrationInfo.SERVICE_TYPE_SMS)) {
+
+ int[] services = getSupportedServicesOnCarrierRoamingNtn(subId);
+ if (!ArrayUtils.contains(services, NetworkRegistrationInfo.SERVICE_TYPE_SMS)) {
plogd("isCarrierRoamingNtnEligible[phoneId=" + phone.getPhoneId()
+ "]: SMS is not supported by carrier");
return false;
@@ -7078,7 +7100,15 @@
return true;
}
- private boolean isSatelliteServiceSupportedByCarrier(int subId,
+
+ /**
+ * Checks if the satellite service is supported by the carrier for the specified
+ * subscription ID and servicetype.
+ *
+ * @param subId The subscription id.
+ * @param serviceType The type of service to check
+ */
+ public boolean isSatelliteServiceSupportedByCarrier(int subId,
@NetworkRegistrationInfo.ServiceType int serviceType) {
List<String> satellitePlmnList = getSatellitePlmnsForCarrier(subId);
for (String satellitePlmn : satellitePlmnList) {
@@ -7455,18 +7485,30 @@
return;
}
plogd("updateLastNotifiedNtnAvailableServicesAndNotify: phoneId= " + phone.getPhoneId());
+ int[] services = getSupportedServicesOnCarrierRoamingNtn(subId);
+ phone.notifyCarrierRoamingNtnAvailableServicesChanged(services);
+ }
- if (isSatelliteSupportedViaCarrier(subId)) {
- // TODO: Invoke SatelliteManager#getSatelliteDisallowedReasons() NOT EMPTY.
+ /** Return services that are supported on carrier roaming non-terrestrial network. */
+ public int[] getSupportedServicesOnCarrierRoamingNtn(int subId) {
+ SatelliteManager satelliteManager = mContext.getSystemService(SatelliteManager.class);
+ if (satelliteManager == null) {
+ plogd("updateLastNotifiedNtnAvailableServicesAndNotify: satelliteManager is null");
+ return new int[0];
+ }
+
+ List<Integer> satelliteDisallowedReasons = satelliteManager.getSatelliteDisallowedReasons();
+ if (isSatelliteSupportedViaCarrier(subId)
+ && (satelliteDisallowedReasons != null && !satelliteDisallowedReasons.isEmpty())) {
+ // TODO: b/377367448 Cleanup get supported satellite services to align with starlink.
int[] services = getSupportedSatelliteServicesForCarrier(subId);
if (isP2PSmsDisallowedOnCarrierRoamingNtn(subId)) {
services = Arrays.stream(services).filter(
value -> value != NetworkRegistrationInfo.SERVICE_TYPE_SMS).toArray();
}
- phone.notifyCarrierRoamingNtnAvailableServicesChanged(services);
- } else {
- phone.notifyCarrierRoamingNtnAvailableServicesChanged(new int[0]);
+ return services;
}
+ return new int[0];
}
/**
@@ -7548,6 +7590,7 @@
mContext.RECEIVER_EXPORTED);
}
+
private void notifyEnabledStateChanged(boolean isEnabled) {
TelephonyRegistryManager trm = mContext.getSystemService(TelephonyRegistryManager.class);
if (trm == null) {
@@ -7558,4 +7601,18 @@
trm.notifySatelliteStateChanged(isEnabled);
logd("notifyEnabledStateChanged to " + isEnabled);
}
+
+ /** Returns whether to send SMS to DatagramDispatcher or not. */
+ public boolean shouldSendSmsToDatagramDispatcher(@NonNull Phone phone) {
+ if (!isInCarrierRoamingNbIotNtn(phone)) {
+ return false;
+ }
+
+ if (isDemoModeEnabled()) {
+ return false;
+ }
+
+ int[] services = getSupportedServicesOnCarrierRoamingNtn(phone.getSubId());
+ return ArrayUtils.contains(services, NetworkRegistrationInfo.SERVICE_TYPE_SMS);
+ }
}
diff --git a/src/java/com/android/internal/telephony/satellite/SatelliteSessionController.java b/src/java/com/android/internal/telephony/satellite/SatelliteSessionController.java
index dc9bc30..8f299f8 100644
--- a/src/java/com/android/internal/telephony/satellite/SatelliteSessionController.java
+++ b/src/java/com/android/internal/telephony/satellite/SatelliteSessionController.java
@@ -57,6 +57,7 @@
import android.os.SystemProperties;
import android.os.WorkSource;
import android.telephony.DropBoxManagerLoggerBackend;
+import android.telephony.NetworkRegistrationInfo;
import android.telephony.PersistentLogger;
import android.telephony.ServiceState;
import android.telephony.satellite.ISatelliteModemStateCallback;
@@ -76,6 +77,7 @@
import com.android.internal.telephony.PhoneFactory;
import com.android.internal.telephony.flags.FeatureFlags;
import com.android.internal.telephony.satellite.metrics.SessionMetricsStats;
+import com.android.internal.telephony.util.ArrayUtils;
import com.android.internal.util.State;
import com.android.internal.util.StateMachine;
import com.android.telephony.Rlog;
@@ -1680,6 +1682,12 @@
return;
}
+ int subId = getSubId();
+ if (!isP2pSmsSupportedOnCarrierRoamingNtn(subId)) {
+ if (DBG) plogd("handleEventScreenStateChanged: P2P_SMS is not supported");
+ return;
+ }
+
if (!screenOn) {
// Screen off, start timer
int timeoutMillis = getScreenOffInactivityTimeoutDurationSec() * 1000;
@@ -1791,19 +1799,19 @@
}
if (isP2pSmsInActivityTimerStarted()) {
- plogd("isEsosInActivityTimerStarted: "
+ plogd("isP2pSmsInActivityTimerStarted: "
+ "P2P_SMS inactivity timer already started");
return;
}
int subId = getSubId();
- if (!mSatelliteController.isSatelliteRoamingP2pSmSSupported(subId)) {
- plogd("evaluateStartingEsosInactivityTimer: P2P_SMS is not supported");
+ if (!isP2pSmsSupportedOnCarrierRoamingNtn(subId)) {
+ if (DBG) plogd("evaluateStartingP2pSmsInactivityTimer: P2P_SMS is not supported");
return;
}
if (mIsDeviceAlignedWithSatellite) {
- plogd("evaluateStartingEsosInactivityTimer: "
+ plogd("evaluateStartingP2pSmsInactivityTimer: "
+ "can't start P2P_SMS inactivity timer due to device aligned satellite");
return;
}
@@ -1813,10 +1821,10 @@
if (datagramController.isSendingInIdleState()
&& datagramController.isPollingInIdleState()) {
sendMessageDelayed(EVENT_P2P_SMS_INACTIVITY_TIMER_TIMED_OUT, timeOutMillis);
- plogd("evaluateStartingEsosInactivityTimer: start P2P_SMS inactivity timer "
+ plogd("evaluateStartingP2pSmsInactivityTimer: start P2P_SMS inactivity timer "
+ timeOutMillis);
} else {
- plogd("evaluateStartingEsosInactivityTimer: "
+ plogd("evaluateStartingP2pSmsInactivityTimer: "
+ "can't start P2P_SMS inactivity timer");
}
}
@@ -1938,6 +1946,25 @@
return true;
}
+ private boolean isP2pSmsSupportedOnCarrierRoamingNtn(int subId) {
+ if (!mSatelliteController.isSatelliteRoamingP2pSmSSupported(subId)) {
+ if (DBG) plogd("isP2pSmsSupportedOnCarrierRoamingNtn: P2P_SMS is not supported");
+ return false;
+ }
+
+ int[] services = mSatelliteController.getSupportedServicesOnCarrierRoamingNtn(subId);
+ if (!ArrayUtils.contains(services, NetworkRegistrationInfo.SERVICE_TYPE_SMS)) {
+ if (DBG) {
+ plogd("isP2pSmsSupportedOnCarrierRoamingNtn: P2P_SMS service is not supported "
+ + "on carrier roaming ntn.");
+ }
+ return false;
+ }
+
+ if (DBG) plogd("isP2pSmsSupportedOnCarrierRoamingNtn: P2_SMS is supported");
+ return true;
+ }
+
private boolean isSatellitePersistentLoggingEnabled(
@NonNull Context context, @NonNull FeatureFlags featureFlags) {
if (featureFlags.satellitePersistentLogging()) {
diff --git a/tests/telephonytests/src/android/telephony/ims/RcsConfigTest.java b/tests/telephonytests/src/android/telephony/ims/RcsConfigTest.java
index 4889187..25cdc82 100644
--- a/tests/telephonytests/src/android/telephony/ims/RcsConfigTest.java
+++ b/tests/telephonytests/src/android/telephony/ims/RcsConfigTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.telephony.ims;
+package android.telephony.ims;
import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertFalse;
diff --git a/tests/telephonytests/src/com/android/internal/telephony/SmsDispatchersControllerTest.java b/tests/telephonytests/src/com/android/internal/telephony/SmsDispatchersControllerTest.java
index 53ecac3..b8316cb 100644
--- a/tests/telephonytests/src/com/android/internal/telephony/SmsDispatchersControllerTest.java
+++ b/tests/telephonytests/src/com/android/internal/telephony/SmsDispatchersControllerTest.java
@@ -1086,7 +1086,8 @@
@Test
public void testSendSmsToDatagramDispatcher() {
- when(mSatelliteController.isInCarrierRoamingNbIotNtn(any(Phone.class))).thenReturn(true);
+ when(mSatelliteController.shouldSendSmsToDatagramDispatcher(any(Phone.class)))
+ .thenReturn(true);
mSmsDispatchersController.sendText("1111", "2222", "text", mSentIntent, null, null,
"test-app", mCallingUserId, false, 0, false, 10, false, 1L, false);
processAllMessages();
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 8f2833c..3d63d54 100644
--- a/tests/telephonytests/src/com/android/internal/telephony/satellite/SatelliteControllerTest.java
+++ b/tests/telephonytests/src/com/android/internal/telephony/satellite/SatelliteControllerTest.java
@@ -4089,6 +4089,7 @@
when(mFeatureFlags.carrierEnabledSatelliteFlag()).thenReturn(true);
when(mServiceState.getState()).thenReturn(ServiceState.STATE_OUT_OF_SERVICE);
when(mServiceState2.getState()).thenReturn(ServiceState.STATE_OUT_OF_SERVICE);
+ mSatelliteControllerUT.mIsApplicationSupportsP2P = true;
mCarrierConfigBundle.putBoolean(KEY_SATELLITE_ATTACH_SUPPORTED_BOOL, true);
mCarrierConfigBundle.putInt(KEY_CARRIER_ROAMING_NTN_CONNECT_TYPE_INT, 1);
mCarrierConfigBundle.putBoolean(KEY_SATELLITE_ROAMING_P2P_SMS_SUPPORTED_BOOL, true);
@@ -4147,6 +4148,7 @@
when(mFeatureFlags.carrierEnabledSatelliteFlag()).thenReturn(true);
when(mServiceState2.getState()).thenReturn(ServiceState.STATE_OUT_OF_SERVICE);
when(mServiceState.getState()).thenReturn(ServiceState.STATE_OUT_OF_SERVICE);
+ mSatelliteControllerUT.mIsApplicationSupportsP2P = true;
mCarrierConfigBundle.putBoolean(KEY_SATELLITE_ATTACH_SUPPORTED_BOOL, true);
mCarrierConfigBundle.putInt(KEY_CARRIER_ROAMING_NTN_CONNECT_TYPE_INT, 1);
mCarrierConfigBundle.putInt(
@@ -5737,6 +5739,7 @@
public static boolean isApplicationUpdated;
public String packageName = "com.example.app";
public boolean isSatelliteBeingDisabled = false;
+ public boolean mIsApplicationSupportsP2P = false;
TestSatelliteController(
Context context, Looper looper, @NonNull FeatureFlags featureFlags) {
@@ -5832,6 +5835,17 @@
isApplicationUpdated = true;
}
+ @Override
+ public boolean isApplicationSupportsP2P(String packageName) {
+ return mIsApplicationSupportsP2P;
+ }
+
+ @Override
+ public int[] getSupportedServicesOnCarrierRoamingNtn(int subId) {
+ return new int[]{3, 5};
+ }
+
+
void setSatelliteProvisioned(@Nullable Boolean isProvisioned) {
synchronized (mDeviceProvisionLock) {
mIsDeviceProvisioned = isProvisioned;
diff --git a/tests/telephonytests/src/com/android/internal/telephony/satellite/SatelliteSessionControllerTest.java b/tests/telephonytests/src/com/android/internal/telephony/satellite/SatelliteSessionControllerTest.java
index 96c50b6..d67880d 100644
--- a/tests/telephonytests/src/com/android/internal/telephony/satellite/SatelliteSessionControllerTest.java
+++ b/tests/telephonytests/src/com/android/internal/telephony/satellite/SatelliteSessionControllerTest.java
@@ -60,6 +60,7 @@
import android.os.Looper;
import android.os.Message;
import android.os.PersistableBundle;
+import android.telephony.NetworkRegistrationInfo;
import android.telephony.ServiceState;
import android.telephony.satellite.ISatelliteModemStateCallback;
import android.telephony.satellite.SatelliteManager;
@@ -221,6 +222,13 @@
@Test
public void testScreenOffInactivityTimer() {
when(mFeatureFlags.carrierRoamingNbIotNtn()).thenReturn(true);
+ // Support P2P_SMS
+ when(mMockSatelliteController.isSatelliteRoamingP2pSmSSupported(
+ anyInt())).thenReturn(true);
+ when(mMockSatelliteController.getSupportedServicesOnCarrierRoamingNtn(anyInt()))
+ .thenReturn(new int[]{
+ NetworkRegistrationInfo.SERVICE_TYPE_SMS,
+ NetworkRegistrationInfo.SERVICE_TYPE_EMERGENCY});
doNothing().when(mDeviceStateMonitor).registerForScreenStateChanged(
eq(mTestSatelliteSessionController.getHandler()), anyInt(), any());
when(mMockSatelliteController.getRequestIsEmergency()).thenReturn(false);
@@ -267,6 +275,13 @@
@Test
public void testScreenOffInactivityTimerStop() {
when(mFeatureFlags.carrierRoamingNbIotNtn()).thenReturn(true);
+ // Support P2P_SMS
+ when(mMockSatelliteController.isSatelliteRoamingP2pSmSSupported(
+ anyInt())).thenReturn(true);
+ when(mMockSatelliteController.getSupportedServicesOnCarrierRoamingNtn(anyInt()))
+ .thenReturn(new int[]{
+ NetworkRegistrationInfo.SERVICE_TYPE_SMS,
+ NetworkRegistrationInfo.SERVICE_TYPE_EMERGENCY});
doNothing().when(mDeviceStateMonitor).registerForScreenStateChanged(
eq(mTestSatelliteSessionController.getHandler()), anyInt(), any());
// Satellite enabling request is for an emergency.
@@ -329,6 +344,10 @@
when(mMockSatelliteController.getRequestIsEmergency()).thenReturn(false);
when(mMockSatelliteController.isSatelliteRoamingP2pSmSSupported(
anyInt())).thenReturn(true);
+ when(mMockSatelliteController.getSupportedServicesOnCarrierRoamingNtn(anyInt()))
+ .thenReturn(new int[]{
+ NetworkRegistrationInfo.SERVICE_TYPE_SMS,
+ NetworkRegistrationInfo.SERVICE_TYPE_EMERGENCY});
when(mMockSatelliteController.isInCarrierRoamingNbIotNtn()).thenReturn(true);
PersistableBundle bundle = new PersistableBundle();
bundle.putInt(KEY_SATELLITE_ROAMING_P2P_SMS_INACTIVITY_TIMEOUT_SEC_INT,
@@ -423,6 +442,10 @@
// Support P2P_SMS
when(mMockSatelliteController.isSatelliteRoamingP2pSmSSupported(
anyInt())).thenReturn(true);
+ when(mMockSatelliteController.getSupportedServicesOnCarrierRoamingNtn(anyInt()))
+ .thenReturn(new int[]{
+ NetworkRegistrationInfo.SERVICE_TYPE_SMS,
+ NetworkRegistrationInfo.SERVICE_TYPE_EMERGENCY});
// Setup carrier config for timer values
PersistableBundle bundle = new PersistableBundle();
@@ -506,6 +529,10 @@
// Support P2P_SMS
when(mMockSatelliteController.isSatelliteRoamingP2pSmSSupported(
anyInt())).thenReturn(true);
+ when(mMockSatelliteController.getSupportedServicesOnCarrierRoamingNtn(anyInt()))
+ .thenReturn(new int[]{
+ NetworkRegistrationInfo.SERVICE_TYPE_SMS,
+ NetworkRegistrationInfo.SERVICE_TYPE_EMERGENCY});
// Setup carrier config for timer values
PersistableBundle bundle = new PersistableBundle();
@@ -581,6 +608,10 @@
// Support P2P_SMS
when(mMockSatelliteController.isSatelliteRoamingP2pSmSSupported(
anyInt())).thenReturn(true);
+ when(mMockSatelliteController.getSupportedServicesOnCarrierRoamingNtn(anyInt()))
+ .thenReturn(new int[]{
+ NetworkRegistrationInfo.SERVICE_TYPE_SMS,
+ NetworkRegistrationInfo.SERVICE_TYPE_EMERGENCY});
// Setup carrier config for timer values
PersistableBundle bundle = new PersistableBundle();
@@ -648,6 +679,10 @@
// Support P2P_SMS
when(mMockSatelliteController.isSatelliteRoamingP2pSmSSupported(
anyInt())).thenReturn(true);
+ when(mMockSatelliteController.getSupportedServicesOnCarrierRoamingNtn(anyInt()))
+ .thenReturn(new int[]{
+ NetworkRegistrationInfo.SERVICE_TYPE_SMS,
+ NetworkRegistrationInfo.SERVICE_TYPE_EMERGENCY});
// Setup carrier config for timer values
PersistableBundle bundle = new PersistableBundle();
@@ -712,6 +747,10 @@
// Support P2P_SMS
when(mMockSatelliteController.isSatelliteRoamingP2pSmSSupported(
anyInt())).thenReturn(true);
+ when(mMockSatelliteController.getSupportedServicesOnCarrierRoamingNtn(anyInt()))
+ .thenReturn(new int[]{
+ NetworkRegistrationInfo.SERVICE_TYPE_SMS,
+ NetworkRegistrationInfo.SERVICE_TYPE_EMERGENCY});
// Setup carrier config for timer values
PersistableBundle bundle = new PersistableBundle();
@@ -789,6 +828,10 @@
// Support P2P_SMS
when(mMockSatelliteController.isSatelliteRoamingP2pSmSSupported(
anyInt())).thenReturn(true);
+ when(mMockSatelliteController.getSupportedServicesOnCarrierRoamingNtn(anyInt()))
+ .thenReturn(new int[]{
+ NetworkRegistrationInfo.SERVICE_TYPE_SMS,
+ NetworkRegistrationInfo.SERVICE_TYPE_EMERGENCY});
// Setup carrier config for timer values
PersistableBundle bundle = new PersistableBundle();