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

Commit 7f2efe4b authored by Hyosun Kim's avatar Hyosun Kim Committed by Automerger Merge Worker
Browse files

Merge "Pass emergency session information to modem" into 24D1-dev am: 388ab1fb

parents 5f6f1678 388ab1fb
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