Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 388ab1fb authored by Hyosun Kim's avatar Hyosun Kim Committed by Android (Google) Code Review
Browse files

Merge "Pass emergency session information to modem" into 24D1-dev

parents 4d271641 b7c17d8e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -153,7 +153,7 @@ public class RadioOnHelper implements RadioOnStateListener.Callback {
    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) {
+1 −0
Original line number Diff line number Diff line
@@ -395,6 +395,7 @@ public class RadioOnStateListener {
                if (mSatelliteController.isSatelliteEnabled()) {
                    mSatelliteController.requestSatelliteEnabled(mPhone.getSubId(),
                            false /* enableSatellite */, false /* enableDemoMode */,
                            false /* isEmergency*/,
                            new IIntegerConsumer.Stub() {
                                @Override
                                public void accept(int result) {
+13 −8
Original line number Diff line number Diff line
@@ -758,13 +758,15 @@ public class SatelliteController extends Handler {
    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 @@ public class SatelliteController extends Handler {
     * @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 @@ public class SatelliteController extends Handler {
        }

        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 @@ public class SatelliteController extends Handler {

        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 @@ public class SatelliteController extends Handler {

        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 @@ public class SatelliteController extends Handler {
                            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 @@ public class SatelliteController extends Handler {
                            + "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 @@ public class SatelliteController extends Handler {
                    Consumer<Integer> result =
                            FunctionalUtils.ignoreRemoteException(callback::accept);
                    RequestSatelliteEnabledArgument request = new RequestSatelliteEnabledArgument(
                            false, false, result);
                            false, false, false, result);
                    synchronized (mSatelliteEnabledRequestLock) {
                        mSatelliteEnabledRequest = request;
                    }
+8 −7
Original line number Diff line number Diff line
@@ -619,14 +619,15 @@ public class SatelliteModemInterface {
     *
     * @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() {
                        isEmergency, new IIntegerConsumer.Stub() {
                            @Override
                            public void accept(int result) {
                                int error = SatelliteServiceUtils.fromSatelliteError(result);
+3 −3
Original line number Diff line number Diff line
@@ -205,7 +205,7 @@ public class RadioOnStateListenerTest extends TelephonyTest {
        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 @@ public class RadioOnStateListenerTest extends TelephonyTest {
        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 @@ public class RadioOnStateListenerTest extends TelephonyTest {
        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
Loading