Merge "Fix TestRcsApp for use_resource_processor: true" into main
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 44ef30a..9106796 100644
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -13004,34 +13004,41 @@
public void requestSatelliteEnabled(int subId, boolean enableSatellite, boolean enableDemoMode,
@NonNull IIntegerConsumer callback) {
enforceSatelliteCommunicationPermission("requestSatelliteEnabled");
- ResultReceiver resultReceiver = new ResultReceiver(mMainThreadHandler) {
- @Override
- protected void onReceiveResult(int resultCode, Bundle resultData) {
- Log.d(LOG_TAG, "Satellite access restriction resultCode=" + resultCode
- + ", resultData=" + resultData);
- boolean isAllowed = false;
- Consumer<Integer> result = FunctionalUtils.ignoreRemoteException(callback::accept);
- if (resultCode == SATELLITE_RESULT_SUCCESS) {
- if (resultData != null
- && resultData.containsKey(KEY_SATELLITE_COMMUNICATION_ALLOWED)) {
- isAllowed = resultData.getBoolean(KEY_SATELLITE_COMMUNICATION_ALLOWED);
+ if (enableSatellite) {
+ ResultReceiver resultReceiver = new ResultReceiver(mMainThreadHandler) {
+ @Override
+ protected void onReceiveResult(int resultCode, Bundle resultData) {
+ Log.d(LOG_TAG, "Satellite access restriction resultCode=" + resultCode
+ + ", resultData=" + resultData);
+ boolean isAllowed = false;
+ Consumer<Integer> result = FunctionalUtils.ignoreRemoteException(
+ callback::accept);
+ if (resultCode == SATELLITE_RESULT_SUCCESS) {
+ if (resultData != null
+ && resultData.containsKey(KEY_SATELLITE_COMMUNICATION_ALLOWED)) {
+ isAllowed = resultData.getBoolean(KEY_SATELLITE_COMMUNICATION_ALLOWED);
+ } else {
+ loge("KEY_SATELLITE_COMMUNICATION_ALLOWED does not exist.");
+ }
} else {
- loge("KEY_SATELLITE_COMMUNICATION_ALLOWED does not exist.");
+ result.accept(resultCode);
+ return;
}
- } else {
- result.accept(resultCode);
- return;
+ if (isAllowed) {
+ mSatelliteController.requestSatelliteEnabled(
+ subId, enableSatellite, enableDemoMode, callback);
+ } else {
+ result.accept(SATELLITE_RESULT_ACCESS_BARRED);
+ }
}
- if (isAllowed) {
- mSatelliteController.requestSatelliteEnabled(
- subId, enableSatellite, enableDemoMode, callback);
- } else {
- result.accept(SATELLITE_RESULT_ACCESS_BARRED);
- }
- }
- };
- mSatelliteAccessController.requestIsSatelliteCommunicationAllowedForCurrentLocation(
- subId, resultReceiver);
+ };
+ mSatelliteAccessController.requestIsSatelliteCommunicationAllowedForCurrentLocation(
+ subId, resultReceiver);
+ } else {
+ // No need to check if satellite is allowed at current location when disabling satellite
+ mSatelliteController.requestSatelliteEnabled(
+ subId, enableSatellite, enableDemoMode, callback);
+ }
}
/**
diff --git a/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/TestSatelliteWrapper.java b/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/TestSatelliteWrapper.java
index 792c984..cbbd621 100644
--- a/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/TestSatelliteWrapper.java
+++ b/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/TestSatelliteWrapper.java
@@ -23,7 +23,6 @@
import android.os.OutcomeReceiver;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
-import android.telephony.satellite.SatelliteManager;
import android.telephony.satellite.wrapper.NtnSignalStrengthCallbackWrapper;
import android.telephony.satellite.wrapper.NtnSignalStrengthWrapper;
import android.telephony.satellite.wrapper.SatelliteCapabilitiesCallbackWrapper;
@@ -41,7 +40,6 @@
import java.util.concurrent.Executors;
import java.util.stream.Collectors;
-
/**
* Activity related to SatelliteControl APIs for satellite.
*/
@@ -148,7 +146,7 @@
try {
mSatelliteManagerWrapper.requestNtnSignalStrength(mExecutor, receiver);
- } catch (SecurityException | IllegalStateException ex) {
+ } catch (SecurityException ex) {
String errorMessage = "requestNtnSignalStrength: " + ex.getMessage();
Log.d(TAG, errorMessage);
addLogMessage(errorMessage);
@@ -167,18 +165,10 @@
mSatelliteManagerWrapper.registerForNtnSignalStrengthChanged(mExecutor,
mNtnSignalStrengthCallback);
} catch (Exception ex) {
- String errorMessage;
- if (ex instanceof SatelliteManager.SatelliteException) {
- errorMessage =
- "registerForNtnSignalStrengthChanged: " + translateResultCodeToString(
- ((SatelliteManager.SatelliteException) ex).getErrorCode());
- } else {
- errorMessage = "registerForNtnSignalStrengthChanged: " + ex.getMessage();
- }
+ String errorMessage = "registerForNtnSignalStrengthChanged: " + ex.getMessage();
Log.d(TAG, errorMessage);
addLogMessage(errorMessage);
mNtnSignalStrengthCallback = null;
-
}
}
@@ -317,6 +307,8 @@
return "SATELLITE_RESULT_REQUEST_IN_PROGRESS";
case SatelliteManagerWrapper.SATELLITE_RESULT_MODEM_BUSY:
return "SATELLITE_RESULT_MODEM_BUSY";
+ case SatelliteManagerWrapper.SATELLITE_RESULT_ILLEGAL_STATE:
+ return "SATELLITE_RESULT_ILLEGAL_STATE";
default:
return "INVALID CODE: " + result;
}