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

Commit 3cf4a357 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: Ib5b7ef0fc374efd2a898dd58b753dc297bb3032e
parents b11846e2 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;