summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> 2025-03-20 03:55:49 -0700
committer Android (Google) Code Review <android-gerrit@google.com> 2025-03-20 03:55:49 -0700
commitac903221061d0b5ab0c7debd7707604e36cf0ecc (patch)
tree6e8233c20eb9758c29ee6d7f65a26e7740bf5c87
parent6c0cfefa8926603774761f8df53db6cc5eba6c58 (diff)
parent3f3c3062cd7108a211ed4bdc9667811f412c2269 (diff)
Merge "Don't send disable request to modem when enable is in progress if device does not support this feature" into main
-rw-r--r--src/java/com/android/internal/telephony/satellite/SatelliteController.java41
-rw-r--r--tests/telephonytests/src/com/android/internal/telephony/satellite/SatelliteControllerTest.java4
2 files changed, 45 insertions, 0 deletions
diff --git a/src/java/com/android/internal/telephony/satellite/SatelliteController.java b/src/java/com/android/internal/telephony/satellite/SatelliteController.java
index 49eb3d9f29..0d6a2250a7 100644
--- a/src/java/com/android/internal/telephony/satellite/SatelliteController.java
+++ b/src/java/com/android/internal/telephony/satellite/SatelliteController.java
@@ -692,6 +692,7 @@ public class SatelliteController extends Handler {
private AtomicBoolean mOverrideNtnEligibility;
private String mDefaultSmsPackageName = "";
private String mSatelliteGatewayServicePackageName = "";
+ private Boolean mOverriddenDisableSatelliteWhileEnableInProgressSupported = null;
private final Object mNtnSmsSupportedByMessagesAppLock = new Object();
@GuardedBy("mNtnSmsSupportedByMessagesAppLock")
@@ -2503,6 +2504,13 @@ public class SatelliteController extends Handler {
SatelliteManager.SATELLITE_RESULT_ENABLE_IN_PROGRESS, result);
return;
}
+ if (!isDisableSatelliteWhileEnableInProgressSupported()) {
+ plogd("requestSatelliteEnabled: disable satellite while enable in progress"
+ + " is not supported");
+ sendErrorAndReportSessionMetrics(
+ SatelliteManager.SATELLITE_RESULT_ENABLE_IN_PROGRESS, result);
+ return;
+ }
mSatelliteDisabledRequest = request;
}
}
@@ -2523,6 +2531,14 @@ public class SatelliteController extends Handler {
}
}
+ private boolean isDisableSatelliteWhileEnableInProgressSupported() {
+ if (mOverriddenDisableSatelliteWhileEnableInProgressSupported != null) {
+ return mOverriddenDisableSatelliteWhileEnableInProgressSupported;
+ }
+ return mContext.getResources().getBoolean(
+ R.bool.config_support_disable_satellite_while_enable_in_progress);
+ }
+
private void checkNetworkSelectionModeAuto(RequestSatelliteEnabledArgument argument) {
plogd("checkNetworkSelectionModeAuto");
if (argument.isEmergency) {
@@ -3588,6 +3604,31 @@ public class SatelliteController extends Handler {
}
/**
+ * This API can be used by only CTS to control the feature
+ * {@code config_support_disable_satellite_while_enable_in_progress}.
+ *
+ * @param reset Whether to reset the override.
+ * @param supported Whether to support the feature.
+ * @return {@code true} if the value is set successfully, {@code false} otherwise.
+ */
+ public boolean setSupportDisableSatelliteWhileEnableInProgress(
+ boolean reset, boolean supported) {
+ if (!isMockModemAllowed()) {
+ plogd("setSupportDisableSatelliteWhileEnableInProgress: mock modem not allowed");
+ return false;
+ }
+
+ plogd("setSupportDisableSatelliteWhileEnableInProgress - reset=" + reset
+ + ", supported=" + supported);
+ if (reset) {
+ mOverriddenDisableSatelliteWhileEnableInProgressSupported = null;
+ } else {
+ mOverriddenDisableSatelliteWhileEnableInProgressSupported = supported;
+ }
+ return true;
+ }
+
+ /**
* This API can be used by only CTS to override timeout durations used by DatagramController
* module.
*
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 60ecffb0d0..bc50894257 100644
--- a/tests/telephonytests/src/com/android/internal/telephony/satellite/SatelliteControllerTest.java
+++ b/tests/telephonytests/src/com/android/internal/telephony/satellite/SatelliteControllerTest.java
@@ -643,6 +643,8 @@ public class SatelliteControllerTest extends TelephonyTest {
mContextFixture.putIntArrayResource(
R.array.config_foldedDeviceStates,
new int[0]);
+ mContextFixture.putBooleanResource(
+ R.bool.config_support_disable_satellite_while_enable_in_progress, true);
doReturn(ACTIVE_SUB_IDS).when(mMockSubscriptionManagerService).getActiveSubIdList(true);
mCarrierConfigBundle = mContextFixture.getCarrierConfigBundle();
@@ -4617,6 +4619,8 @@ public class SatelliteControllerTest extends TelephonyTest {
eq(R.string.config_satellite_gateway_service_package));
doReturn("className").when(mResources).getString(
eq(R.string.config_satellite_carrier_roaming_esos_provisioned_class));
+ doReturn(true).when(mResources).getBoolean(
+ eq(R.bool.config_support_disable_satellite_while_enable_in_progress));
}
private List<SatelliteSubscriberInfo> getExpectedSatelliteSubscriberInfoList() {