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

Commit 125614a0 authored by Jack Yu's avatar Jack Yu Committed by Automerger Merge Worker
Browse files

Merge "Fix empty signal strength bar shows after turning radio on" am: d217974c

Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/telephony/+/1550235

Change-Id: I92638f08af401b3ce6305c1ceaad3b5d718cd5cc
parents 704f2295 d217974c
Loading
Loading
Loading
Loading
+15 −2
Original line number Diff line number Diff line
@@ -3381,6 +3381,9 @@ public class ServiceStateTracker extends Handler {
        boolean hasAirplaneModeOnChanged =
                mSS.getState() != ServiceState.STATE_POWER_OFF
                        && mNewSS.getState() == ServiceState.STATE_POWER_OFF;
        boolean hasAirplaneModeOffChanged =
                mSS.getState() == ServiceState.STATE_POWER_OFF
                        && mNewSS.getState() != ServiceState.STATE_POWER_OFF;

        SparseBooleanArray hasDataAttached = new SparseBooleanArray(
                mTransportManager.getAvailableTransports().length);
@@ -3738,6 +3741,14 @@ public class ServiceStateTracker extends Handler {
            }
        }

        // Before starting to poll network state, the signal strength will be
        // reset under radio power off, so here expects to query it again
        // because the signal strength might come earlier RAT and radio state
        // changed.
        if (hasAirplaneModeOffChanged) {
            mCi.getSignalStrength(obtainMessage(EVENT_GET_SIGNAL_STRENGTH));
        }

        if (shouldLogAttachedChange) {
            logAttachChange();
        }
@@ -5087,8 +5098,10 @@ public class ServiceStateTracker extends Handler {

        // This signal is used for both voice and data radio signal so parse
        // all fields

        if ((ar.exception == null) && (ar.result != null)) {
        // Under power off, let's suppress valid signal strength report, which is
        // beneficial to avoid icon flickering.
        if ((ar.exception == null) && (ar.result != null)
                && mSS.getState() != ServiceState.STATE_POWER_OFF) {
            mSignalStrength = (SignalStrength) ar.result;

            PersistableBundle config = getCarrierConfig();