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

Commit 05b506ca authored by joonhunshin's avatar joonhunshin
Browse files

Clean up subId as parameter and use highest priority satellite subscription

Bug: 361182572
Test: atest RadioOnStateListener, DatagramDispatcherTest, SatelliteControllerTest, SatelliteSessionControllerTest, SatelliteSOSMessageRecommenderTest
      manual test in demo and real network (b/362834493)
Flag: EXEMPT refactor
Change-Id: Icec3e952ee07b9cb3c83e048deae077aaa2ba2a8
parent 811933be
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -164,7 +164,7 @@ public class RadioOnHelper implements RadioOnStateListener.Callback {
     */
    private void powerOffSatellite(Phone phoneForEmergencyCall) {
        SatelliteController satelliteController = SatelliteController.getInstance();
        satelliteController.requestSatelliteEnabled(phoneForEmergencyCall.getSubId(),
        satelliteController.requestSatelliteEnabled(
                false /* enableSatellite */, false /* enableDemoMode */, false /* isEmergency */,
                new IIntegerConsumer.Stub() {
                    @Override
+3 −9
Original line number Diff line number Diff line
@@ -21,7 +21,6 @@ import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.telephony.ServiceState;
import android.telephony.SubscriptionManager;
import android.telephony.satellite.ISatelliteModemStateCallback;

import com.android.internal.annotations.VisibleForTesting;
@@ -398,7 +397,7 @@ public class RadioOnStateListener {
                mPhone.setRadioPower(true, mForEmergencyCall, mSelectedPhoneForEmergencyCall,
                        false);
                if (mSatelliteController.isSatelliteEnabled()) {
                    mSatelliteController.requestSatelliteEnabled(mPhone.getSubId(),
                    mSatelliteController.requestSatelliteEnabled(
                            false /* enableSatellite */, false /* enableDemoMode */,
                            false /* isEmergency*/,
                            new IIntegerConsumer.Stub() {
@@ -502,16 +501,11 @@ public class RadioOnStateListener {
    }

    private void registerForSatelliteEnabledChanged() {
        mSatelliteController.registerForSatelliteModemStateChanged(
                mPhone.getSubId(), mSatelliteCallback);
        mSatelliteController.registerForSatelliteModemStateChanged(mSatelliteCallback);
    }

    private void unregisterForSatelliteEnabledChanged() {
        int subId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
        if (mPhone != null) {
            subId = mPhone.getSubId();
        }
        mSatelliteController.unregisterForModemStateChanged(subId, mSatelliteCallback);
        mSatelliteController.unregisterForModemStateChanged(mSatelliteCallback);
        mHandler.removeMessages(MSG_SATELLITE_ENABLED_CHANGED);
    }

+3 −2
Original line number Diff line number Diff line
@@ -16,7 +16,6 @@

package com.android.internal.telephony.satellite;

import static android.telephony.SubscriptionManager.DEFAULT_SUBSCRIPTION_ID;
import static android.telephony.satellite.SatelliteManager.DATAGRAM_TYPE_KEEP_ALIVE;
import static android.telephony.satellite.SatelliteManager.DATAGRAM_TYPE_UNKNOWN;
import static android.telephony.satellite.SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_IDLE;
@@ -615,7 +614,9 @@ public class DatagramController {
                        }
                    }
                };
                pollPendingSatelliteDatagrams(DEFAULT_SUBSCRIPTION_ID, internalCallback);
                pollPendingSatelliteDatagrams(
                        SatelliteController.getInstance().getHighestPrioritySubscrption(),
                        internalCallback);
            }
        }
    }
+9 −7
Original line number Diff line number Diff line
@@ -38,7 +38,6 @@ import android.os.Message;
import android.telephony.DropBoxManagerLoggerBackend;
import android.telephony.PersistentLogger;
import android.telephony.Rlog;
import android.telephony.SubscriptionManager;
import android.telephony.satellite.SatelliteDatagram;
import android.telephony.satellite.SatelliteManager;

@@ -780,17 +779,19 @@ public class DatagramDispatcher extends Handler {
        plogd("cleanUpResources");
        mSendingInProgress = false;
        mIsEmergencyCommunicationEstablished = false;

        int subId = SatelliteController.getInstance().getHighestPrioritySubscrption();
        if (getPendingMessagesCount() > 0) {
            mDatagramController.updateSendStatus(SubscriptionManager.DEFAULT_SUBSCRIPTION_ID,
            mDatagramController.updateSendStatus(subId,
                    mLastSendRequestDatagramType,
                    SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_SEND_FAILED,
                    getPendingMessagesCount(), SatelliteManager.SATELLITE_RESULT_REQUEST_ABORTED);
        }
        mDatagramController.updateSendStatus(SubscriptionManager.DEFAULT_SUBSCRIPTION_ID,
        mDatagramController.updateSendStatus(subId,
                mLastSendRequestDatagramType,
                SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_IDLE,
                0, SatelliteManager.SATELLITE_RESULT_SUCCESS);
        abortSendingPendingDatagrams(SubscriptionManager.DEFAULT_SUBSCRIPTION_ID,
        abortSendingPendingDatagrams(subId,
                SatelliteManager.SATELLITE_RESULT_REQUEST_ABORTED);

        stopSatelliteAlignedTimer();
@@ -865,17 +866,18 @@ public class DatagramDispatcher extends Handler {
            @SatelliteManager.DatagramType int datagramType) {
        plogw("Timed out to wait for satellite connected before sending datagrams");
        synchronized (mLock) {
            int subId = SatelliteController.getInstance().getHighestPrioritySubscrption();
            // Update send status
            mDatagramController.updateSendStatus(SubscriptionManager.DEFAULT_SUBSCRIPTION_ID,
            mDatagramController.updateSendStatus(subId,
                    datagramType,
                    SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_SEND_FAILED,
                    getPendingMessagesCount(),
                    SATELLITE_RESULT_NOT_REACHABLE);
            mDatagramController.updateSendStatus(SubscriptionManager.DEFAULT_SUBSCRIPTION_ID,
            mDatagramController.updateSendStatus(subId,
                    datagramType,
                    SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_IDLE,
                    0, SatelliteManager.SATELLITE_RESULT_SUCCESS);
            abortSendingPendingDatagrams(SubscriptionManager.DEFAULT_SUBSCRIPTION_ID,
            abortSendingPendingDatagrams(subId,
                    SATELLITE_RESULT_NOT_REACHABLE);
        }
    }
+4 −3
Original line number Diff line number Diff line
@@ -40,7 +40,6 @@ import android.provider.Telephony;
import android.telephony.DropBoxManagerLoggerBackend;
import android.telephony.PersistentLogger;
import android.telephony.Rlog;
import android.telephony.SubscriptionManager;
import android.telephony.satellite.ISatelliteDatagramCallback;
import android.telephony.satellite.SatelliteDatagram;
import android.telephony.satellite.SatelliteManager;
@@ -695,13 +694,15 @@ public class DatagramReceiver extends Handler {
            }
            stopDatagramWaitForConnectedStateTimer();
        }

        int subId = SatelliteController.getInstance().getHighestPrioritySubscrption();
        if (mDatagramController.isReceivingDatagrams()) {
            mDatagramController.updateReceiveStatus(SubscriptionManager.DEFAULT_SUBSCRIPTION_ID,
            mDatagramController.updateReceiveStatus(subId,
                    SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVE_FAILED,
                    mDatagramController.getReceivePendingCount(),
                    SatelliteManager.SATELLITE_RESULT_REQUEST_ABORTED);
        }
        mDatagramController.updateReceiveStatus(SubscriptionManager.DEFAULT_SUBSCRIPTION_ID,
        mDatagramController.updateReceiveStatus(subId,
                SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_IDLE, 0,
                SatelliteManager.SATELLITE_RESULT_SUCCESS);
        cleanupDemoModeResources();
Loading