Fix satellite CTS failures on physical devices
Flag: TEST_ONLY
Bug: 405483847
Test: SatelliteManagerTestOnMockService
Change-Id: Id4f51807cfc61d278fe2a0fcf0e5ca2af6c26402
diff --git a/tests/tests/telephony/current/src/android/telephony/satellite/cts/MockSatelliteServiceManager.java b/tests/tests/telephony/current/src/android/telephony/satellite/cts/MockSatelliteServiceManager.java
index 0068387..40f51d9 100644
--- a/tests/tests/telephony/current/src/android/telephony/satellite/cts/MockSatelliteServiceManager.java
+++ b/tests/tests/telephony/current/src/android/telephony/satellite/cts/MockSatelliteServiceManager.java
@@ -111,6 +111,7 @@
"cmd phone override-config-data-version";
private static final String UPDATE_TELEPHONY_CONFIG_INTENT =
"com.google.android.configupdater.TelephonyConfigUpdate.UPDATE_CONFIG";
+ private static final String SET_CTS_MODE_CMD = "cmd phone set-cts-mode";
private static final String CONFIG_UPDATER_PACKAGE = "com.google.android.configupdater";
private static final long TIMEOUT = 5000;
@@ -1622,6 +1623,24 @@
}
}
+ boolean setCtsMode(boolean ctsMode) {
+ StringBuilder command = new StringBuilder();
+ command.append(SET_CTS_MODE_CMD);
+ if (ctsMode) {
+ command.append(" -e");
+ }
+
+ try {
+ String result = TelephonyUtils.executeShellCommand(mInstrumentation,
+ command.toString());
+ logd("setCtsMode(" + command.toString() + "): result = " + result);
+ return true;
+ } catch (Exception e) {
+ loge("setCtsMode: e=" + e);
+ return false;
+ }
+ }
+
boolean setSupportDisableSatelliteWhileEnableInProgress(boolean reset, boolean supported) {
StringBuilder command = new StringBuilder();
command.append(SET_SUPPORT_DISABLE_SATELLITE_WHILE_ENABLE_IN_PROGRESS_CMD);
diff --git a/tests/tests/telephony/current/src/android/telephony/satellite/cts/SatelliteManagerTestOnMockService.java b/tests/tests/telephony/current/src/android/telephony/satellite/cts/SatelliteManagerTestOnMockService.java
index 72fff1d..a6e2746 100644
--- a/tests/tests/telephony/current/src/android/telephony/satellite/cts/SatelliteManagerTestOnMockService.java
+++ b/tests/tests/telephony/current/src/android/telephony/satellite/cts/SatelliteManagerTestOnMockService.java
@@ -270,6 +270,8 @@
sNtnOnlySubId = getNtnOnlySubscriptionId();
assumeTrue(sNtnOnlySubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID);
setUpNtnOnlySubscription();
+ // Enable CTS mode to ignore the requests from SG-APK and real Pointing UI app.
+ assertTrue(sMockSatelliteServiceManager.setCtsMode(true));
revokeSatellitePermission();
}
@@ -332,6 +334,8 @@
assertTrue(sMockSatelliteServiceManager
.setIsSatelliteCommunicationAllowedForCurrentLocationCache(
"cache_clear_and_not_allowed"));
+ // Disable CTS mode to accept the requests from SG-APK and real Pointing UI app.
+ assertTrue(sMockSatelliteServiceManager.setCtsMode(false));
afterAllTestsBase();
sMockSatelliteServiceManager = null;
sCarrierConfigReceiver = null;