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

Commit 15b2b2b6 authored by Malcolm Chen's avatar Malcolm Chen Committed by android-build-merger
Browse files

Fix bug that phone crashes when switching data.

am: 4c39af46

Change-Id: Ia29ba75b6d134474ed96323480d4a1b538e7de8e
parents b16993d2 4c39af46
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -258,11 +258,12 @@ public class PhoneSwitcher extends Handler {
        public int mExpectedSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
        public int mSwitchReason = TelephonyEvent.DataSwitch.Reason.DATA_SWITCH_REASON_UNKNOWN;
        @Override
        public void onAvailable(Network network) {
            NetworkCapabilities nc = mConnectivityManager.getNetworkCapabilities(network);
            if (nc.hasTransport(TRANSPORT_CELLULAR)
        public void onCapabilitiesChanged(Network network,
                NetworkCapabilities networkCapabilities) {
            if (networkCapabilities.hasTransport(TRANSPORT_CELLULAR)
                    && SubscriptionManager.isValidSubscriptionId(mExpectedSubId)
                    && mExpectedSubId == getSubIdFromNetworkSpecifier(nc.getNetworkSpecifier())) {
                    && mExpectedSubId == getSubIdFromNetworkSpecifier(
                            networkCapabilities.getNetworkSpecifier())) {
                logDataSwitchEvent(
                        mExpectedSubId,
                        TelephonyEvent.EventState.EVENT_STATE_END,
@@ -1273,6 +1274,7 @@ public class PhoneSwitcher extends Handler {
    }

    private void logDataSwitchEvent(int subId, int state, int reason) {
        log("logDataSwitchEvent subId " + subId + " state " + state + " reason " + reason);
        DataSwitch dataSwitch = new DataSwitch();
        dataSwitch.state = state;
        dataSwitch.reason = reason;