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

Commit d5ef6397 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Reset TelephonyDisplayInfo and timer when data connection state changed"

parents 8a98350d 2bdebcdb
Loading
Loading
Loading
Loading
+18 −3
Original line number Original line Diff line number Diff line
@@ -86,12 +86,14 @@ public class NetworkTypeController extends StateMachine {
    private static final int EVENT_PRIMARY_TIMER_EXPIRED = 8;
    private static final int EVENT_PRIMARY_TIMER_EXPIRED = 8;
    private static final int EVENT_SECONDARY_TIMER_EXPIRED = 9;
    private static final int EVENT_SECONDARY_TIMER_EXPIRED = 9;
    private static final int EVENT_RADIO_OFF_OR_UNAVAILABLE = 10;
    private static final int EVENT_RADIO_OFF_OR_UNAVAILABLE = 10;
    private static final int EVENT_DATA_CONNECTION_STATE_CHANGED = 11;
    private static final int[] ALL_EVENTS = { EVENT_DATA_RAT_CHANGED, EVENT_NR_STATE_CHANGED,
    private static final int[] ALL_EVENTS = { EVENT_DATA_RAT_CHANGED, EVENT_NR_STATE_CHANGED,
            EVENT_NR_FREQUENCY_CHANGED, EVENT_DATA_ACTIVITY_CHANGED,
            EVENT_NR_FREQUENCY_CHANGED, EVENT_DATA_ACTIVITY_CHANGED,
            EVENT_PHYSICAL_CHANNEL_CONFIG_NOTIF_CHANGED, EVENT_CARRIER_CONFIG_CHANGED,
            EVENT_PHYSICAL_CHANNEL_CONFIG_NOTIF_CHANGED, EVENT_CARRIER_CONFIG_CHANGED,
            EVENT_PRIMARY_TIMER_EXPIRED, EVENT_SECONDARY_TIMER_EXPIRED };
            EVENT_PRIMARY_TIMER_EXPIRED, EVENT_SECONDARY_TIMER_EXPIRED,
            EVENT_DATA_CONNECTION_STATE_CHANGED};


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


    private final Phone mPhone;
    private final Phone mPhone;
@@ -127,6 +130,10 @@ public class NetworkTypeController extends StateMachine {
        public void onDataActivity(int direction) {
        public void onDataActivity(int direction) {
            sendMessage(EVENT_DATA_ACTIVITY_CHANGED);
            sendMessage(EVENT_DATA_ACTIVITY_CHANGED);
        }
        }
        @Override
        public void onDataConnectionStateChanged(int state, int networkType) {
            sendMessage(EVENT_DATA_CONNECTION_STATE_CHANGED);
        }
    };
    };


    private Map<String, OverrideTimerRule> mOverrideTimerRules = new HashMap<>();
    private Map<String, OverrideTimerRule> mOverrideTimerRules = new HashMap<>();
@@ -188,7 +195,8 @@ public class NetworkTypeController extends StateMachine {
        filter.addAction(CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED);
        filter.addAction(CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED);
        mPhone.getContext().registerReceiver(mIntentReceiver, filter, null, mPhone);
        mPhone.getContext().registerReceiver(mIntentReceiver, filter, null, mPhone);
        if (mTelephonyManager != null) {
        if (mTelephonyManager != null) {
            mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_DATA_ACTIVITY);
            mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_DATA_ACTIVITY
                    | PhoneStateListener.LISTEN_DATA_CONNECTION_STATE);
        }
        }
    }
    }


@@ -482,6 +490,13 @@ public class NetworkTypeController extends StateMachine {
                    resetAllTimers();
                    resetAllTimers();
                    transitionTo(mLegacyState);
                    transitionTo(mLegacyState);
                    break;
                    break;
                case EVENT_DATA_CONNECTION_STATE_CHANGED:
                    if (mPhone.getServiceState().getDataNetworkType()
                            != mDisplayInfoController.getTelephonyDisplayInfo().getNetworkType()) {
                        resetAllTimers();
                        transitionToCurrentState();
                    }
                    break;
                default:
                default:
                    throw new RuntimeException("Received invalid event: " + msg.what);
                    throw new RuntimeException("Received invalid event: " + msg.what);
            }
            }