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

Commit 526eb1f2 authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 11959661 from c08d1e35 to 24Q3-release

Change-Id: I67ae89d8ff75a3167213ca97ea9bd8e2f13f413c
parents c4a06235 c08d1e35
Loading
Loading
Loading
Loading
+24 −12
Original line number Diff line number Diff line
@@ -318,6 +318,8 @@ public class SatelliteController extends Handler {
    private final Object mIsSatelliteEnabledLock = new Object();
    @GuardedBy("mIsSatelliteEnabledLock")
    private Boolean mIsSatelliteEnabled = null;
    private final Object mIsRadioOnLock = new Object();
    @GuardedBy("mIsRadioOnLock")
    private boolean mIsRadioOn = false;
    private final Object mSatelliteViaOemProvisionLock = new Object();
    @GuardedBy("mSatelliteViaOemProvisionLock")
@@ -514,7 +516,10 @@ public class SatelliteController extends Handler {
                mContext, looper, mFeatureFlags, mPointingAppController);

        mCi.registerForRadioStateChanged(this, EVENT_RADIO_STATE_CHANGED, null);
        synchronized (mIsRadioOnLock) {
            mIsRadioOn = phone.isRadioOn();
        }

        registerForSatelliteProvisionStateChanged();
        registerForPendingDatagramCount();
        registerForSatelliteModemStateChanged();
@@ -1218,12 +1223,14 @@ public class SatelliteController extends Handler {
            }

            case EVENT_RADIO_STATE_CHANGED: {
                synchronized (mIsRadioOnLock) {
                    logd("EVENT_RADIO_STATE_CHANGED: radioState=" + mCi.getRadioState());
                    if (mCi.getRadioState() == TelephonyManager.RADIO_POWER_ON) {
                        mIsRadioOn = true;
                    } else if (mCi.getRadioState() == TelephonyManager.RADIO_POWER_OFF) {
                    mIsRadioOn = false;
                        resetCarrierRoamingSatelliteModeParams();
                    }
                }

                if (mCi.getRadioState() != TelephonyManager.RADIO_POWER_UNAVAILABLE) {
                    if (mSatelliteModemInterface.isSatelliteServiceConnected()) {
@@ -1498,12 +1505,14 @@ public class SatelliteController extends Handler {
        }

        if (enableSatellite) {
            synchronized (mIsRadioOnLock) {
                if (!mIsRadioOn) {
                    ploge("Radio is not on, can not enable satellite");
                    sendErrorAndReportSessionMetrics(
                            SatelliteManager.SATELLITE_RESULT_INVALID_MODEM_STATE, result);
                    return;
                }
            }
        } else {
            /* if disable satellite, always assume demo is also disabled */
            enableDemoMode = false;
@@ -2644,12 +2653,15 @@ public class SatelliteController extends Handler {
     * modem. {@link SatelliteController} will then power off the satellite modem.
     */
    public void onCellularRadioPowerOffRequested() {
        logd("onCellularRadioPowerOffRequested()");
        if (!mFeatureFlags.oemEnabledSatelliteFlag()) {
            plogd("onCellularRadioPowerOffRequested: oemEnabledSatelliteFlag is disabled");
            return;
        }

        synchronized (mIsRadioOnLock) {
            mIsRadioOn = false;
        }
        requestSatelliteEnabled(SubscriptionManager.DEFAULT_SUBSCRIPTION_ID,
                false /* enableSatellite */, false /* enableDemoMode */, false /* isEmergency */,
                new IIntegerConsumer.Stub() {