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

Commit c8004beb authored by android-build-team Robot's avatar android-build-team Robot
Browse files

Snap for 6560464 from e866eed4 to rvc-release

Change-Id: I1620ad285404abba22aef8c6b7652ca9c4cad5c8
parents 0835bc38 e866eed4
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -61,8 +61,8 @@ public class DisplayInfoController extends Handler {
                mPhone.getServiceState().getDataNetworkType(),
                mNetworkTypeController.getOverrideNetworkType());
        if (!newDisplayInfo.equals(mTelephonyDisplayInfo)) {
            Rlog.d(TAG, "TelephonyDisplayInfo changed from " + mTelephonyDisplayInfo + " to "
                    + newDisplayInfo);
            Rlog.d(TAG, "TelephonyDisplayInfo[" + mPhone.getPhoneId() + "] changed from "
                    + mTelephonyDisplayInfo + " to " + newDisplayInfo);
            mTelephonyDisplayInfo = newDisplayInfo;
            mTelephonyDisplayInfoChangedRegistrants.notifyRegistrants();
            mPhone.notifyDisplayInfoChanged(mTelephonyDisplayInfo);
+35 −10
Original line number 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_SECONDARY_TIMER_EXPIRED = 9;
    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,
            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 };
            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 {
        sEvents[EVENT_UPDATE] = "EVENT_UPDATE";
        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_SECONDARY_TIMER_EXPIRED] = "EVENT_SECONDARY_TIMER_EXPIRED";
        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;
@@ -127,6 +130,10 @@ public class NetworkTypeController extends StateMachine {
        public void onDataActivity(int direction) {
            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<>();
@@ -188,7 +195,8 @@ public class NetworkTypeController extends StateMachine {
        filter.addAction(CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED);
        mPhone.getContext().registerReceiver(mIntentReceiver, filter, null, mPhone);
        if (mTelephonyManager != null) {
            mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_DATA_ACTIVITY);
            mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_DATA_ACTIVITY
                    | PhoneStateListener.LISTEN_DATA_CONNECTION_STATE);
        }
    }

@@ -336,6 +344,11 @@ public class NetworkTypeController extends StateMachine {
            if (DBG) log("Skip updating override network type since timer is active.");
            return;
        }
        mOverrideNetworkType = getCurrentOverrideNetworkType();
        mDisplayInfoController.updateTelephonyDisplayInfo();
    }

    private @Annotation.OverrideNetworkType int getCurrentOverrideNetworkType() {
        int displayNetworkType = TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NONE;
        int dataNetworkType = mPhone.getServiceState().getDataNetworkType();
        // NR display is not accurate when physical channel config notifications are off
@@ -352,8 +365,7 @@ public class NetworkTypeController extends StateMachine {
            // Process LTE display network type
            displayNetworkType = getLteDisplayType();
        }
        mOverrideNetworkType = displayNetworkType;
        mDisplayInfoController.updateTelephonyDisplayInfo();
        return displayNetworkType;
    }

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

    private void updateTimers() {
        String currentState = getCurrentState().getName();
        if (mIsPrimaryTimerActive && mPrimaryTimerState.equals(currentState)) {
            // remove primary timer if device goes back to the original state

        if (mIsPrimaryTimerActive && getOverrideNetworkType() == getCurrentOverrideNetworkType()) {
            // remove primary timer if device goes back to the original icon
            if (DBG) {
                log("Remove primary timer since primary state and current state equal: "
                log("Remove primary timer since icon of primary state and current icon equal: "
                        + mPrimaryTimerState);
            }
            removeMessages(EVENT_PRIMARY_TIMER_EXPIRED);
@@ -833,6 +853,10 @@ public class NetworkTypeController extends StateMachine {
            mIsSecondaryTimerActive = false;
            mSecondaryTimerState = "";
        }

        if (currentState.equals(STATE_CONNECTED_MMWAVE)) {
            resetAllTimers();
        }
    }

    private void resetAllTimers() {
@@ -965,11 +989,11 @@ public class NetworkTypeController extends StateMachine {
    }

    protected void log(String s) {
        Rlog.d(TAG, s);
        Rlog.d(TAG, "[" + mPhone.getPhoneId() + "] " + s);
    }

    protected void loge(String s) {
        Rlog.e(TAG, s);
        Rlog.e(TAG, "[" + mPhone.getPhoneId() + "] " + s);
    }

    @Override
@@ -991,6 +1015,7 @@ public class NetworkTypeController extends StateMachine {
        super.dump(fd, pw, args);
        pw.flush();
        pw.increaseIndent();
        pw.println("mSubId=" + mPhone.getSubId());
        pw.println("mOverrideTimerRules=" + mOverrideTimerRules.toString());
        pw.println("mLteEnhancedPattern=" + mLteEnhancedPattern);
        pw.println("mIsPhysicalChannelConfigOn=" + mIsPhysicalChannelConfigOn);