Merge "Pass emergency session information to modem" into 24D1-dev am: 388ab1fb8e
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/opt/telephony/+/26786723
Change-Id: I466f330370763e33f5d500224f7123007fe93715
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/src/java/com/android/internal/telephony/emergency/RadioOnHelper.java b/src/java/com/android/internal/telephony/emergency/RadioOnHelper.java
index 384112d..306f6bb 100644
--- a/src/java/com/android/internal/telephony/emergency/RadioOnHelper.java
+++ b/src/java/com/android/internal/telephony/emergency/RadioOnHelper.java
@@ -153,7 +153,7 @@
private void powerOffSatellite(Phone phoneForEmergencyCall) {
SatelliteController satelliteController = SatelliteController.getInstance();
satelliteController.requestSatelliteEnabled(phoneForEmergencyCall.getSubId(),
- false /* enableSatellite */, false /* enableDemoMode */,
+ false /* enableSatellite */, false /* enableDemoMode */, false /* isEmergency */,
new IIntegerConsumer.Stub() {
@Override
public void accept(int result) {
diff --git a/src/java/com/android/internal/telephony/emergency/RadioOnStateListener.java b/src/java/com/android/internal/telephony/emergency/RadioOnStateListener.java
index 5949f66..fa0610a 100644
--- a/src/java/com/android/internal/telephony/emergency/RadioOnStateListener.java
+++ b/src/java/com/android/internal/telephony/emergency/RadioOnStateListener.java
@@ -395,6 +395,7 @@
if (mSatelliteController.isSatelliteEnabled()) {
mSatelliteController.requestSatelliteEnabled(mPhone.getSubId(),
false /* enableSatellite */, false /* enableDemoMode */,
+ false /* isEmergency*/,
new IIntegerConsumer.Stub() {
@Override
public void accept(int result) {
diff --git a/src/java/com/android/internal/telephony/satellite/SatelliteController.java b/src/java/com/android/internal/telephony/satellite/SatelliteController.java
index abaef23..b0ed7f9 100644
--- a/src/java/com/android/internal/telephony/satellite/SatelliteController.java
+++ b/src/java/com/android/internal/telephony/satellite/SatelliteController.java
@@ -758,13 +758,15 @@
private static final class RequestSatelliteEnabledArgument {
public boolean enableSatellite;
public boolean enableDemoMode;
+ public boolean isEmergency;
@NonNull public Consumer<Integer> callback;
public long requestId;
RequestSatelliteEnabledArgument(boolean enableSatellite, boolean enableDemoMode,
- Consumer<Integer> callback) {
+ boolean isEmergency, Consumer<Integer> callback) {
this.enableSatellite = enableSatellite;
this.enableDemoMode = enableDemoMode;
+ this.isEmergency = isEmergency;
this.callback = callback;
this.requestId = sNextSatelliteEnableRequestId.getAndUpdate(
n -> ((n + 1) % Long.MAX_VALUE));
@@ -1384,12 +1386,13 @@
* @param enableSatellite {@code true} to enable the satellite modem and
* {@code false} to disable.
* @param enableDemoMode {@code true} to enable demo mode and {@code false} to disable.
+ * @param isEmergency {@code true} to enable emergency mode, {@code false} otherwise.
* @param callback The callback to get the error code of the request.
*/
public void requestSatelliteEnabled(int subId, boolean enableSatellite, boolean enableDemoMode,
- @NonNull IIntegerConsumer callback) {
+ boolean isEmergency, @NonNull IIntegerConsumer callback) {
logd("requestSatelliteEnabled subId: " + subId + " enableSatellite: " + enableSatellite
- + " enableDemoMode: " + enableDemoMode);
+ + " enableDemoMode: " + enableDemoMode + " isEmergency: " + isEmergency);
Consumer<Integer> result = FunctionalUtils.ignoreRemoteException(callback::accept);
int error = evaluateOemSatelliteRequestAllowed(true);
if (error != SATELLITE_RESULT_SUCCESS) {
@@ -1430,7 +1433,8 @@
}
RequestSatelliteEnabledArgument request =
- new RequestSatelliteEnabledArgument(enableSatellite, enableDemoMode, result);
+ new RequestSatelliteEnabledArgument(enableSatellite, enableDemoMode, isEmergency,
+ result);
/**
* Multiple satellite enabled requests are handled as below:
* 1. If there are no ongoing requests, store current request in mSatelliteEnabledRequest
@@ -2495,7 +2499,7 @@
mIsRadioOn = false;
requestSatelliteEnabled(SubscriptionManager.DEFAULT_SUBSCRIPTION_ID,
- false /* enableSatellite */, false /* enableDemoMode */,
+ false /* enableSatellite */, false /* enableDemoMode */, false /* isEmergency */,
new IIntegerConsumer.Stub() {
@Override
public void accept(int result) {
@@ -2980,7 +2984,7 @@
Message onCompleted = obtainMessage(EVENT_SET_SATELLITE_ENABLED_DONE, request);
mSatelliteModemInterface.requestSatelliteEnabled(argument.enableSatellite,
- argument.enableDemoMode, onCompleted);
+ argument.enableDemoMode, argument.isEmergency, onCompleted);
startWaitForSatelliteEnablingResponseTimer(argument);
}
@@ -3020,7 +3024,7 @@
logd("requestIsSatelliteProvisioned: resultCode=" + resultCode
+ ", resultData=" + resultData);
requestSatelliteEnabled(SubscriptionManager.DEFAULT_SUBSCRIPTION_ID,
- false, false,
+ false, false, false,
new IIntegerConsumer.Stub() {
@Override
public void accept(int result) {
@@ -3252,6 +3256,7 @@
+ "mIsSatelliteEnabled=true");
requestSatelliteEnabled(SubscriptionManager.DEFAULT_SUBSCRIPTION_ID,
false /* enableSatellite */, false /* enableDemoMode */,
+ false /* isEmergency */,
new IIntegerConsumer.Stub() {
@Override
public void accept(int result) {
@@ -4093,7 +4098,7 @@
Consumer<Integer> result =
FunctionalUtils.ignoreRemoteException(callback::accept);
RequestSatelliteEnabledArgument request = new RequestSatelliteEnabledArgument(
- false, false, result);
+ false, false, false, result);
synchronized (mSatelliteEnabledRequestLock) {
mSatelliteEnabledRequest = request;
}
diff --git a/src/java/com/android/internal/telephony/satellite/SatelliteModemInterface.java b/src/java/com/android/internal/telephony/satellite/SatelliteModemInterface.java
index 7432d91..2e99ae6 100644
--- a/src/java/com/android/internal/telephony/satellite/SatelliteModemInterface.java
+++ b/src/java/com/android/internal/telephony/satellite/SatelliteModemInterface.java
@@ -619,19 +619,20 @@
*
* @param enableSatellite True to enable the satellite modem and false to disable.
* @param enableDemoMode True to enable demo mode and false to disable.
+ * @param isEmergency {@code true} to enable emergency mode, {@code false} otherwise.
* @param message The Message to send to result of the operation to.
*/
public void requestSatelliteEnabled(boolean enableSatellite, boolean enableDemoMode,
- @NonNull Message message) {
+ boolean isEmergency, @NonNull Message message) {
if (mSatelliteService != null) {
try {
mSatelliteService.requestSatelliteEnabled(enableSatellite, enableDemoMode,
- new IIntegerConsumer.Stub() {
- @Override
- public void accept(int result) {
- int error = SatelliteServiceUtils.fromSatelliteError(result);
- logd("setSatelliteEnabled: " + error);
- Binder.withCleanCallingIdentity(() ->
+ isEmergency, new IIntegerConsumer.Stub() {
+ @Override
+ public void accept(int result) {
+ int error = SatelliteServiceUtils.fromSatelliteError(result);
+ logd("setSatelliteEnabled: " + error);
+ Binder.withCleanCallingIdentity(() ->
sendMessageWithResult(message, null, error));
}
});
diff --git a/tests/telephonytests/src/com/android/internal/telephony/emergency/RadioOnStateListenerTest.java b/tests/telephonytests/src/com/android/internal/telephony/emergency/RadioOnStateListenerTest.java
index 5a6fdc2..037f82c 100644
--- a/tests/telephonytests/src/com/android/internal/telephony/emergency/RadioOnStateListenerTest.java
+++ b/tests/telephonytests/src/com/android/internal/telephony/emergency/RadioOnStateListenerTest.java
@@ -205,7 +205,7 @@
verify(mCallback).onComplete(eq(mListener), eq(false));
verify(mMockPhone, times(2)).setRadioPower(eq(true), eq(false), eq(false), eq(false));
verify(mSatelliteController, never()).requestSatelliteEnabled(
- anyInt(), eq(false), eq(false), any());
+ anyInt(), eq(false), eq(false), eq(false), any());
}
@Test
@@ -225,7 +225,7 @@
verify(mCallback).onComplete(eq(mListener), eq(false));
verify(mMockPhone, times(2)).setRadioPower(eq(true), eq(true), eq(true), eq(false));
verify(mSatelliteController, never()).requestSatelliteEnabled(
- anyInt(), eq(false), eq(false), any());
+ anyInt(), eq(false), eq(false), eq(false), any());
}
@Test
@@ -246,7 +246,7 @@
verify(mCallback).onComplete(eq(mListener), eq(false));
verify(mMockPhone, times(2)).setRadioPower(eq(true), eq(true), eq(true), eq(false));
verify(mSatelliteController, times(2)).requestSatelliteEnabled(
- anyInt(), eq(false), eq(false), any());
+ anyInt(), eq(false), eq(false), eq(false), any());
}
@Test
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 b6e4b6b..137e57a 100644
--- a/tests/telephonytests/src/com/android/internal/telephony/satellite/SatelliteControllerTest.java
+++ b/tests/telephonytests/src/com/android/internal/telephony/satellite/SatelliteControllerTest.java
@@ -691,7 +691,8 @@
// Fail to enable satellite when SatelliteController is not fully loaded yet.
mIIntegerConsumerResults.clear();
- mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, false, mIIntegerConsumer);
+ mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, false, false,
+ mIIntegerConsumer);
processAllMessages();
assertTrue(waitForIIntegerConsumerResult(1));
assertEquals(SATELLITE_RESULT_INVALID_TELEPHONY_STATE,
@@ -701,7 +702,8 @@
mIIntegerConsumerResults.clear();
setUpResponseForRequestIsSatelliteSupported(false, SATELLITE_RESULT_SUCCESS);
verifySatelliteSupported(false, SATELLITE_RESULT_SUCCESS);
- mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, false, mIIntegerConsumer);
+ mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, false, false,
+ mIIntegerConsumer);
processAllMessages();
assertTrue(waitForIIntegerConsumerResult(1));
assertEquals(SATELLITE_RESULT_NOT_SUPPORTED, (long) mIIntegerConsumerResults.get(0));
@@ -716,7 +718,8 @@
verifySatelliteSupported(true, SATELLITE_RESULT_SUCCESS);
setUpResponseForRequestIsSatelliteProvisioned(false, SATELLITE_RESULT_SUCCESS);
verifySatelliteProvisioned(false, SATELLITE_RESULT_SUCCESS);
- mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, false, mIIntegerConsumer);
+ mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, false, false,
+ mIIntegerConsumer);
processAllMessages();
assertTrue(waitForIIntegerConsumerResult(1));
assertEquals(SATELLITE_RESULT_SERVICE_NOT_PROVISIONED,
@@ -729,8 +732,9 @@
// Successfully enable satellite
mIIntegerConsumerResults.clear();
mSatelliteControllerUT.setSettingsKeyForSatelliteModeCalled = false;
- setUpResponseForRequestSatelliteEnabled(true, false, SATELLITE_RESULT_SUCCESS);
- mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, false, mIIntegerConsumer);
+ setUpResponseForRequestSatelliteEnabled(true, false, false, SATELLITE_RESULT_SUCCESS);
+ mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, false, false,
+ mIIntegerConsumer);
processAllMessages();
assertTrue(waitForIIntegerConsumerResult(1));
assertEquals(SATELLITE_RESULT_SUCCESS, (long) mIIntegerConsumerResults.get(0));
@@ -746,7 +750,7 @@
// Successfully disable satellite when radio is turned off.
mSatelliteControllerUT.setSettingsKeyForSatelliteModeCalled = false;
- setUpResponseForRequestSatelliteEnabled(false, false, SATELLITE_RESULT_SUCCESS);
+ setUpResponseForRequestSatelliteEnabled(false, false, false, SATELLITE_RESULT_SUCCESS);
setRadioPower(false);
mSatelliteControllerUT.onCellularRadioPowerOffRequested();
processAllMessages();
@@ -763,8 +767,9 @@
// Fail to enable satellite when radio is off.
mIIntegerConsumerResults.clear();
- setUpResponseForRequestSatelliteEnabled(true, false, SATELLITE_RESULT_SUCCESS);
- mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, false, mIIntegerConsumer);
+ setUpResponseForRequestSatelliteEnabled(true, false, false, SATELLITE_RESULT_SUCCESS);
+ mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, false, false,
+ mIIntegerConsumer);
processAllMessages();
assertTrue(waitForIIntegerConsumerResult(1));
// Radio is not on, can not enable satellite
@@ -778,8 +783,10 @@
mIIntegerConsumerResults.clear();
clearInvocations(mMockPointingAppController);
mSatelliteControllerUT.setSettingsKeyForSatelliteModeCalled = false;
- setUpResponseForRequestSatelliteEnabled(true, false, SATELLITE_RESULT_INVALID_MODEM_STATE);
- mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, false, mIIntegerConsumer);
+ setUpResponseForRequestSatelliteEnabled(true, false, false,
+ SATELLITE_RESULT_INVALID_MODEM_STATE);
+ mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, false, false,
+ mIIntegerConsumer);
processAllMessages();
assertTrue(waitForIIntegerConsumerResult(1));
assertEquals(SATELLITE_RESULT_INVALID_MODEM_STATE, (long) mIIntegerConsumerResults.get(0));
@@ -791,8 +798,9 @@
// Successfully enable satellite when radio is on.
mIIntegerConsumerResults.clear();
mSatelliteControllerUT.setSettingsKeyForSatelliteModeCalled = false;
- setUpResponseForRequestSatelliteEnabled(true, false, SATELLITE_RESULT_SUCCESS);
- mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, false, mIIntegerConsumer);
+ setUpResponseForRequestSatelliteEnabled(true, false, false, SATELLITE_RESULT_SUCCESS);
+ mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, false, false,
+ mIIntegerConsumer);
processAllMessages();
assertTrue(waitForIIntegerConsumerResult(1));
assertEquals(SATELLITE_RESULT_SUCCESS, (long) mIIntegerConsumerResults.get(0));
@@ -810,7 +818,8 @@
// Successfully enable satellite when it is already enabled.
mIIntegerConsumerResults.clear();
- mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, false, mIIntegerConsumer);
+ mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, false, false,
+ mIIntegerConsumer);
processAllMessages();
assertTrue(waitForIIntegerConsumerResult(1));
assertEquals(SATELLITE_RESULT_SUCCESS, (long) mIIntegerConsumerResults.get(0));
@@ -818,7 +827,8 @@
// Fail to enable satellite with a different demo mode when it is already enabled.
mIIntegerConsumerResults.clear();
- mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, true, mIIntegerConsumer);
+ mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, true, false,
+ mIIntegerConsumer);
processAllMessages();
assertTrue(waitForIIntegerConsumerResult(1));
assertEquals(SATELLITE_RESULT_INVALID_ARGUMENTS, (long) mIIntegerConsumerResults.get(0));
@@ -826,8 +836,9 @@
// Successfully disable satellite.
mIIntegerConsumerResults.clear();
- setUpResponseForRequestSatelliteEnabled(false, false, SATELLITE_RESULT_SUCCESS);
- mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, false, false, mIIntegerConsumer);
+ setUpResponseForRequestSatelliteEnabled(false, false, false, SATELLITE_RESULT_SUCCESS);
+ mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, false, false, false,
+ mIIntegerConsumer);
processAllMessages();
assertTrue(waitForIIntegerConsumerResult(1));
assertEquals(SATELLITE_RESULT_SUCCESS, (long) mIIntegerConsumerResults.get(0));
@@ -835,7 +846,8 @@
// Disable satellite when satellite is already disabled.
mIIntegerConsumerResults.clear();
- mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, false, false, mIIntegerConsumer);
+ mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, false, false, false,
+ mIIntegerConsumer);
processAllMessages();
assertTrue(waitForIIntegerConsumerResult(1));
assertEquals(SATELLITE_RESULT_SUCCESS, (long) mIIntegerConsumerResults.get(0));
@@ -843,7 +855,8 @@
// Disable satellite with a different demo mode when satellite is already disabled.
mIIntegerConsumerResults.clear();
- mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, false, true, mIIntegerConsumer);
+ mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, false, true, false,
+ mIIntegerConsumer);
processAllMessages();
assertTrue(waitForIIntegerConsumerResult(1));
assertEquals(SATELLITE_RESULT_SUCCESS, (long) mIIntegerConsumerResults.get(0));
@@ -851,11 +864,13 @@
// Send a second request while the first request in progress
mIIntegerConsumerResults.clear();
- setUpNoResponseForRequestSatelliteEnabled(true, false);
- mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, false, mIIntegerConsumer);
+ setUpNoResponseForRequestSatelliteEnabled(true, false, false);
+ mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, false, false,
+ mIIntegerConsumer);
processAllMessages();
assertFalse(waitForIIntegerConsumerResult(1));
- mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, false, mIIntegerConsumer);
+ mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, false, false,
+ mIIntegerConsumer);
processAllMessages();
assertTrue(waitForIIntegerConsumerResult(1));
assertEquals(SATELLITE_RESULT_REQUEST_IN_PROGRESS, (long) mIIntegerConsumerResults.get(0));
@@ -867,14 +882,16 @@
assertEquals(SATELLITE_RESULT_INVALID_MODEM_STATE, (long) mIIntegerConsumerResults.get(0));
// Move to satellite-disabling in progress.
- setUpNoResponseForRequestSatelliteEnabled(false, false);
- mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, false, false, mIIntegerConsumer);
+ setUpNoResponseForRequestSatelliteEnabled(false, false, false);
+ mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, false, false, false,
+ mIIntegerConsumer);
processAllMessages();
assertFalse(waitForIIntegerConsumerResult(1));
// Disable is in progress. Thus, a new request to enable satellite will be rejected.
mIIntegerConsumerResults.clear();
- mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, false, mIIntegerConsumer);
+ mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, false, false,
+ mIIntegerConsumer);
processAllMessages();
assertTrue(waitForIIntegerConsumerResult(1));
assertEquals(SATELLITE_RESULT_ERROR, (long) mIIntegerConsumerResults.get(0));
@@ -890,15 +907,17 @@
* will lead to no response for requestSatelliteEnabled.
*/
mSatelliteControllerUT.allRadiosDisabled = false;
- setUpResponseForRequestSatelliteEnabled(true, false, SATELLITE_RESULT_SUCCESS);
- mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, false, mIIntegerConsumer);
+ setUpResponseForRequestSatelliteEnabled(true, false, false, SATELLITE_RESULT_SUCCESS);
+ mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, false, false,
+ mIIntegerConsumer);
processAllMessages();
assertFalse(waitForIIntegerConsumerResult(1));
resetSatelliteControllerUTEnabledState();
mIIntegerConsumerResults.clear();
- setUpResponseForRequestSatelliteEnabled(false, false, SATELLITE_RESULT_SUCCESS);
- mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, false, false, mIIntegerConsumer);
+ setUpResponseForRequestSatelliteEnabled(false, false, false, SATELLITE_RESULT_SUCCESS);
+ mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, false, false, false,
+ mIIntegerConsumer);
processAllMessages();
// We should receive 2 callbacks for the above 2 requests.
assertTrue(waitForIIntegerConsumerResult(2));
@@ -909,15 +928,17 @@
// Repeat the same test as above but with error response from modem for the second request
mSatelliteControllerUT.allRadiosDisabled = false;
- setUpResponseForRequestSatelliteEnabled(true, false, SATELLITE_RESULT_SUCCESS);
- mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, false, mIIntegerConsumer);
+ setUpResponseForRequestSatelliteEnabled(true, false, false, SATELLITE_RESULT_SUCCESS);
+ mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, false, false,
+ mIIntegerConsumer);
processAllMessages();
assertFalse(waitForIIntegerConsumerResult(1));
resetSatelliteControllerUTEnabledState();
mIIntegerConsumerResults.clear();
- setUpResponseForRequestSatelliteEnabled(false, false, SATELLITE_RESULT_NO_RESOURCES);
- mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, false, false, mIIntegerConsumer);
+ setUpResponseForRequestSatelliteEnabled(false, false, false, SATELLITE_RESULT_NO_RESOURCES);
+ mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, false, false, false,
+ mIIntegerConsumer);
processAllMessages();
// We should receive 2 callbacks for the above 2 requests.
assertTrue(waitForIIntegerConsumerResult(2));
@@ -1201,7 +1222,7 @@
setUpResponseForRequestIsSatelliteSupported(true, SATELLITE_RESULT_SUCCESS);
setUpResponseForRequestIsSatelliteProvisioned(true, SATELLITE_RESULT_SUCCESS);
- setUpResponseForRequestSatelliteEnabled(false, false, SATELLITE_RESULT_SUCCESS);
+ setUpResponseForRequestSatelliteEnabled(false, false, false, SATELLITE_RESULT_SUCCESS);
setUpResponseForRequestIsSatelliteEnabled(false, SATELLITE_RESULT_SUCCESS);
mSatelliteControllerUT.onSatelliteServiceConnected();
@@ -2698,7 +2719,7 @@
mSatelliteControllerUT.onSatelliteEntitlementStatusUpdated(SUB_ID, false,
entitlementPlmnList, mIIntegerConsumer);
verify(mMockSatelliteModemInterface, never()).requestSatelliteEnabled(anyBoolean(),
- anyBoolean(), any(Message.class));
+ anyBoolean(), anyBoolean(), any(Message.class));
// If the entitlement plmn list and the overlay config plmn list are available and the
// carrier plmn list is empty verify passing to the modem.
@@ -3125,8 +3146,9 @@
// Successfully disable satellite
mIIntegerConsumerResults.clear();
- setUpResponseForRequestSatelliteEnabled(false, false, SATELLITE_RESULT_SUCCESS);
- mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, false, false, mIIntegerConsumer);
+ setUpResponseForRequestSatelliteEnabled(false, false, false, SATELLITE_RESULT_SUCCESS);
+ mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, false, false, false,
+ mIIntegerConsumer);
processAllMessages();
assertTrue(waitForIIntegerConsumerResult(1));
assertEquals(SATELLITE_RESULT_SUCCESS, (long) mIIntegerConsumerResults.get(0));
@@ -3135,11 +3157,12 @@
// Time out to enable satellite
ArgumentCaptor<Message> enableSatelliteResponse = ArgumentCaptor.forClass(Message.class);
mIIntegerConsumerResults.clear();
- setUpNoResponseForRequestSatelliteEnabled(true, false);
- mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, false, mIIntegerConsumer);
+ setUpNoResponseForRequestSatelliteEnabled(true, false, false);
+ mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, false, false,
+ mIIntegerConsumer);
processAllMessages();
assertFalse(waitForIIntegerConsumerResult(1));
- verify(mMockSatelliteModemInterface).requestSatelliteEnabled(eq(true), eq(false),
+ verify(mMockSatelliteModemInterface).requestSatelliteEnabled(eq(true), eq(false), eq(false),
enableSatelliteResponse.capture());
clearInvocations(mMockSatelliteModemInterface);
@@ -3147,8 +3170,8 @@
processAllMessages();
assertTrue(waitForIIntegerConsumerResult(1));
assertEquals(SATELLITE_RESULT_MODEM_TIMEOUT, (long) mIIntegerConsumerResults.get(0));
- verify(mMockSatelliteModemInterface).requestSatelliteEnabled(eq(false), eq(false), any(
- Message.class));
+ verify(mMockSatelliteModemInterface).requestSatelliteEnabled(eq(false), eq(false),
+ eq(false), any(Message.class));
verifySatelliteEnabled(false, SATELLITE_RESULT_SUCCESS);
// Send the response for the above request to enable satellite. SatelliteController should
@@ -3161,8 +3184,9 @@
// Successfully enable satellite
mIIntegerConsumerResults.clear();
- setUpResponseForRequestSatelliteEnabled(true, false, SATELLITE_RESULT_SUCCESS);
- mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, false, mIIntegerConsumer);
+ setUpResponseForRequestSatelliteEnabled(true, false, false, SATELLITE_RESULT_SUCCESS);
+ mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, false, false,
+ mIIntegerConsumer);
processAllMessages();
assertTrue(waitForIIntegerConsumerResult(1));
assertEquals(SATELLITE_RESULT_SUCCESS, (long) mIIntegerConsumerResults.get(0));
@@ -3172,11 +3196,13 @@
ArgumentCaptor<Message> disableSatelliteResponse = ArgumentCaptor.forClass(Message.class);
mIIntegerConsumerResults.clear();
clearInvocations(mMockSatelliteModemInterface);
- setUpNoResponseForRequestSatelliteEnabled(false, false);
- mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, false, false, mIIntegerConsumer);
+ setUpNoResponseForRequestSatelliteEnabled(false, false, false);
+ mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, false, false, false,
+ mIIntegerConsumer);
processAllMessages();
assertFalse(waitForIIntegerConsumerResult(1));
verify(mMockSatelliteModemInterface).requestSatelliteEnabled(eq(false), eq(false),
+ eq(false),
disableSatelliteResponse.capture());
clearInvocations(mMockSatelliteModemInterface);
@@ -3185,7 +3211,7 @@
assertTrue(waitForIIntegerConsumerResult(1));
assertEquals(SATELLITE_RESULT_MODEM_TIMEOUT, (long) mIIntegerConsumerResults.get(0));
verify(mMockSatelliteModemInterface, never()).requestSatelliteEnabled(anyBoolean(),
- anyBoolean(), any(Message.class));
+ anyBoolean(), anyBoolean(), any(Message.class));
verifySatelliteEnabled(false, SATELLITE_RESULT_SUCCESS);
// Send the response for the above request to disable satellite. SatelliteController should
@@ -3218,8 +3244,9 @@
// startSendingNtnSignalStrength should be invoked when satellite is enabled
mSatelliteControllerUT.setSettingsKeyForSatelliteModeCalled = false;
- setUpResponseForRequestSatelliteEnabled(true, false, SATELLITE_RESULT_SUCCESS);
- mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, false, mIIntegerConsumer);
+ setUpResponseForRequestSatelliteEnabled(true, false, false, SATELLITE_RESULT_SUCCESS);
+ mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, false, false,
+ mIIntegerConsumer);
processAllMessages();
assertTrue(waitForIIntegerConsumerResult(1));
assertEquals(SATELLITE_RESULT_SUCCESS, (long) mIIntegerConsumerResults.get(0));
@@ -3233,7 +3260,8 @@
// Ignore request ntn signal strength for redundant enable request
reset(mMockSatelliteModemInterface);
doReturn(true).when(mMockSatelliteModemInterface).isSatelliteServiceSupported();
- mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, false, mIIntegerConsumer);
+ mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, false, false,
+ mIIntegerConsumer);
processAllMessages();
assertTrue(waitForIIntegerConsumerResult(1));
assertEquals(SATELLITE_RESULT_SUCCESS, (long) mIIntegerConsumerResults.get(0));
@@ -3245,8 +3273,9 @@
mIIntegerConsumerResults.clear();
reset(mMockSatelliteModemInterface);
doReturn(true).when(mMockSatelliteModemInterface).isSatelliteServiceSupported();
- setUpResponseForRequestSatelliteEnabled(false, false, SATELLITE_RESULT_SUCCESS);
- mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, false, false, mIIntegerConsumer);
+ setUpResponseForRequestSatelliteEnabled(false, false, false, SATELLITE_RESULT_SUCCESS);
+ mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, false, false, false,
+ mIIntegerConsumer);
processAllMessages();
assertTrue(waitForIIntegerConsumerResult(1));
assertEquals(SATELLITE_RESULT_SUCCESS, (long) mIIntegerConsumerResults.get(0));
@@ -3259,8 +3288,9 @@
reset(mMockSatelliteModemInterface);
doReturn(true).when(mMockSatelliteModemInterface).isSatelliteServiceSupported();
mIIntegerConsumerResults.clear();
- setUpResponseForRequestSatelliteEnabled(false, false, SATELLITE_RESULT_SUCCESS);
- mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, false, false, mIIntegerConsumer);
+ setUpResponseForRequestSatelliteEnabled(false, false, false, SATELLITE_RESULT_SUCCESS);
+ mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, false, false, false,
+ mIIntegerConsumer);
processAllMessages();
assertTrue(waitForIIntegerConsumerResult(1));
assertEquals(SATELLITE_RESULT_SUCCESS, (long) mIIntegerConsumerResults.get(0));
@@ -3273,8 +3303,9 @@
reset(mMockSatelliteModemInterface);
doReturn(true).when(mMockSatelliteModemInterface).isSatelliteServiceSupported();
mSatelliteControllerUT.setSettingsKeyForSatelliteModeCalled = false;
- setUpResponseForRequestSatelliteEnabled(true, false, SATELLITE_RESULT_SUCCESS);
- mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, false, mIIntegerConsumer);
+ setUpResponseForRequestSatelliteEnabled(true, false, false, SATELLITE_RESULT_SUCCESS);
+ mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, false, false,
+ mIIntegerConsumer);
processAllMessages();
assertTrue(waitForIIntegerConsumerResult(1));
assertEquals(SATELLITE_RESULT_SUCCESS, (long) mIIntegerConsumerResults.get(0));
@@ -3349,15 +3380,16 @@
processAllMessages();
verifySatelliteProvisioned(true, SATELLITE_RESULT_SUCCESS);
mIIntegerConsumerResults.clear();
- setUpResponseForRequestSatelliteEnabled(true, false, SATELLITE_RESULT_SUCCESS);
- mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, false, mIIntegerConsumer);
+ setUpResponseForRequestSatelliteEnabled(true, false, false, SATELLITE_RESULT_SUCCESS);
+ mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, false, false,
+ mIIntegerConsumer);
processAllMessages();
assertTrue(waitForIIntegerConsumerResult(1));
assertEquals(SATELLITE_RESULT_SUCCESS, (long) mIIntegerConsumerResults.get(0));
verifySatelliteEnabled(true, SATELLITE_RESULT_SUCCESS);
// Send satellite is not supported state from modem to disable satellite
- setUpResponseForRequestSatelliteEnabled(false, false, SATELLITE_RESULT_SUCCESS);
+ setUpResponseForRequestSatelliteEnabled(false, false, false, SATELLITE_RESULT_SUCCESS);
sendSatelliteSupportedStateChangedEvent(false, null);
processAllMessages();
assertTrue(waitForForEvents(
@@ -3454,8 +3486,9 @@
setRadioPower(true);
processAllMessages();
- setUpResponseForRequestSatelliteEnabled(true, false, SATELLITE_RESULT_SUCCESS);
- mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, false, mIIntegerConsumer);
+ setUpResponseForRequestSatelliteEnabled(true, false, false, SATELLITE_RESULT_SUCCESS);
+ mSatelliteControllerUT.requestSatelliteEnabled(SUB_ID, true, false, false,
+ mIIntegerConsumer);
processAllMessages();
assertTrue(waitForIIntegerConsumerResult(1));
assertEquals(SATELLITE_RESULT_SUCCESS, (long) mIIntegerConsumerResults.get(0));
@@ -3528,19 +3561,21 @@
}
private void setUpResponseForRequestSatelliteEnabled(
- boolean enabled, boolean demoMode, @SatelliteManager.SatelliteResult int error) {
+ boolean enabled, boolean demoMode, boolean emergency,
+ @SatelliteManager.SatelliteResult int error) {
SatelliteException exception = (error == SATELLITE_RESULT_SUCCESS)
? null : new SatelliteException(error);
doAnswer(invocation -> {
if (exception == null && !enabled) {
sendSatelliteModemStateChangedEvent(SATELLITE_MODEM_STATE_OFF, null);
}
- Message message = (Message) invocation.getArguments()[2];
+ Message message = (Message) invocation.getArguments()[3];
AsyncResult.forMessage(message, null, exception);
message.sendToTarget();
return null;
}).when(mMockSatelliteModemInterface)
- .requestSatelliteEnabled(eq(enabled), eq(demoMode), any(Message.class));
+ .requestSatelliteEnabled(eq(enabled), eq(demoMode), eq(emergency),
+ any(Message.class));
}
private void setUpResponseForRequestSetSatelliteEnabledForCarrier(
@@ -3556,9 +3591,11 @@
.requestSetSatelliteEnabledForCarrier(anyInt(), eq(enabled), any(Message.class));
}
- private void setUpNoResponseForRequestSatelliteEnabled(boolean enabled, boolean demoMode) {
+ private void setUpNoResponseForRequestSatelliteEnabled(boolean enabled, boolean demoMode,
+ boolean emergency) {
doNothing().when(mMockSatelliteModemInterface)
- .requestSatelliteEnabled(eq(enabled), eq(demoMode), any(Message.class));
+ .requestSatelliteEnabled(eq(enabled), eq(demoMode), eq(emergency),
+ any(Message.class));
}
private void setUpResponseForProvisionSatelliteService(