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

Commit 5b0136e0 authored by Sarah Chin's avatar Sarah Chin Committed by Automerger Merge Worker
Browse files

Merge "Reset timers when radio is off or unavailable" into rvc-dev am:...

Merge "Reset timers when radio is off or unavailable" into rvc-dev am: 3b2e21f7 am: d8c4f221 am: f2fa9c62

Change-Id: I2d70765746f9c7a2e35b126af10ee9043454007f
parents 66d31eb6 f2fa9c62
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -84,12 +84,13 @@ public class NetworkTypeController extends StateMachine {
    private static final int EVENT_CARRIER_CONFIG_CHANGED = 7;
    private static final int EVENT_PRIMARY_TIMER_EXPIRED = 8;
    private static final int EVENT_SECONDARY_TIMER_EXPIRED = 9;
    private static final int EVENT_RADIO_OFF_OR_UNAVAILABLE = 10;
    private static final int[] ALL_EVENTS = { EVENT_DATA_RAT_CHANGED, EVENT_NR_STATE_CHANGED,
            EVENT_NR_FREQUENCY_CHANGED, EVENT_DATA_ACTIVITY_CHANGED,
            EVENT_PHYSICAL_CHANNEL_CONFIG_NOTIF_CHANGED, EVENT_CARRIER_CONFIG_CHANGED,
            EVENT_PRIMARY_TIMER_EXPIRED, EVENT_SECONDARY_TIMER_EXPIRED };

    private static final String[] sEvents = new String[EVENT_SECONDARY_TIMER_EXPIRED + 1];
    private static final String[] sEvents = new String[EVENT_RADIO_OFF_OR_UNAVAILABLE + 1];
    static {
        sEvents[EVENT_UPDATE] = "EVENT_UPDATE";
        sEvents[EVENT_QUIT] = "EVENT_QUIT";
@@ -102,6 +103,7 @@ public class NetworkTypeController extends StateMachine {
        sEvents[EVENT_CARRIER_CONFIG_CHANGED] = "EVENT_CARRIER_CONFIG_CHANGED";
        sEvents[EVENT_PRIMARY_TIMER_EXPIRED] = "EVENT_PRIMARY_TIMER_EXPIRED";
        sEvents[EVENT_SECONDARY_TIMER_EXPIRED] = "EVENT_SECONDARY_TIMER_EXPIRED";
        sEvents[EVENT_RADIO_OFF_OR_UNAVAILABLE] = "EVENT_RADIO_OFF_OR_UNAVAILABLE";
    }

    private final Phone mPhone;
@@ -170,6 +172,8 @@ public class NetworkTypeController extends StateMachine {
    }

    private void registerForAllEvents() {
        mPhone.registerForRadioOffOrNotAvailable(getHandler(),
                EVENT_RADIO_OFF_OR_UNAVAILABLE, null);
        mPhone.getServiceStateTracker().registerForDataRegStateOrRatChanged(
                AccessNetworkConstants.TRANSPORT_TYPE_WWAN, getHandler(),
                EVENT_DATA_RAT_CHANGED, null);
@@ -188,11 +192,12 @@ public class NetworkTypeController extends StateMachine {
    }

    private void unRegisterForAllEvents() {
        mPhone.unregisterForRadioOffOrNotAvailable(getHandler());
        mPhone.getServiceStateTracker().unregisterForDataRegStateOrRatChanged(
                AccessNetworkConstants.TRANSPORT_TYPE_WWAN, getHandler());
        mPhone.getServiceStateTracker().unregisterForNrStateChanged(getHandler());
        mPhone.getServiceStateTracker().unregisterForNrFrequencyChanged(getHandler());
        mPhone.mDeviceStateMonitor.unregisterForPhysicalChannelConfigNotifChanged(getHandler());
        mPhone.getDeviceStateMonitor().unregisterForPhysicalChannelConfigNotifChanged(getHandler());
        mPhone.getContext().unregisterReceiver(mIntentReceiver);
        if (mTelephonyManager != null) {
            mTelephonyManager.listen(mPhoneStateListener, 0);
@@ -468,6 +473,10 @@ public class NetworkTypeController extends StateMachine {
                    updateTimers();
                    updateOverrideNetworkType();
                    break;
                case EVENT_RADIO_OFF_OR_UNAVAILABLE:
                    resetAllTimers();
                    transitionTo(mLegacyState);
                    break;
                default:
                    throw new RuntimeException("Received invalid event: " + msg.what);
            }