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

Commit 15a3a733 authored by kaiyiz's avatar kaiyiz Committed by Gerrit - the friendly Code Review server
Browse files

StatusBar: show only one tier bar under Evdo only mode

Under Evdo only mode, only data is active and voice is
unregistered, it should show only one tier signal bar.

Add Evdo network type into data only mode check.
Make sure to refresh signal cluster when voice network type changes.

CRs-Fixed: 716551

Change-Id: Ieacb010ecc40b5b9df8ba2d0ac2c623c59b63232
parent a1d84cdd
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -276,7 +276,7 @@ public class MSimSignalClusterView
                    mMobileCdma3gId = strengthIcon;
                    mMobileCdma1xId = getCdma2gId(mMobileCdma3gId);

                    if (subscription == 0 && isLteOnlyMode(subscription)) {
                    if (isCdmaDataOnlyMode(subscription)) {
                        mMobileCdmaVisible = false;
                        mMobileCdma1xOnlyVisible = false;
                        mMobileStrengthId[subscription] = convertMobileStrengthIcon(strengthIcon);
@@ -489,7 +489,7 @@ public class MSimSignalClusterView
        return ret;
    }

    private boolean isLteOnlyMode(int sub) {
    private boolean isCdmaDataOnlyMode(int sub) {
        if (mStyle != STATUS_BAR_STYLE_CDMA_1X_COMBINED) {
            return false;
        }
@@ -498,7 +498,9 @@ public class MSimSignalClusterView
        }
        int dataType = mMSimNC.getDataNetworkType(sub);
        int voiceType = mMSimNC.getVoiceNetworkType(sub);
        return dataType == TelephonyManager.NETWORK_TYPE_LTE
        return ((dataType == TelephonyManager.NETWORK_TYPE_LTE)
                || (dataType == TelephonyManager.NETWORK_TYPE_EVDO_0)
                || (dataType == TelephonyManager.NETWORK_TYPE_EVDO_A))
                && voiceType == TelephonyManager.NETWORK_TYPE_UNKNOWN;
    }

+5 −3
Original line number Diff line number Diff line
@@ -210,7 +210,7 @@ public class SignalClusterView

                mMobileCdma3gId = strengthIcon;
                mMobileCdma1xId = getCdma2gId(mMobileCdma3gId);
                if (isLteOnlyMode()) {
                if (isCdmaDataOnlyMode()) {
                    mMobileCdmaVisible = false;
                    mMobileCdma1xOnlyVisible = false;
                    mMobileStrengthId = convertMobileStrengthIcon(strengthIcon);
@@ -428,7 +428,7 @@ public class SignalClusterView
        return ret;
    }

    private boolean isLteOnlyMode() {
    private boolean isCdmaDataOnlyMode() {
        if (mStyle != STATUS_BAR_STYLE_CDMA_1X_COMBINED) {
            return false;
        }
@@ -437,7 +437,9 @@ public class SignalClusterView
        }
        int dataType = mNC.getDataNetworkType();
        int voiceType = mNC.getVoiceNetworkType();
        return dataType == TelephonyManager.NETWORK_TYPE_LTE
        return ((dataType == TelephonyManager.NETWORK_TYPE_LTE)
                || (dataType == TelephonyManager.NETWORK_TYPE_EVDO_0)
                || (dataType == TelephonyManager.NETWORK_TYPE_EVDO_A))
                && voiceType == TelephonyManager.NETWORK_TYPE_UNKNOWN;
    }

+10 −1
Original line number Diff line number Diff line
@@ -69,6 +69,7 @@ public class MSimNetworkController extends NetworkController {
    int[] mMSimDataActivity;
    int[] mMSimDataServiceState;
    ServiceState[] mMSimServiceState;
    ServiceState[] mMSimLastServiceState;
    SignalStrength[] mMSimSignalStrength;
    private PhoneStateListener[] mMSimPhoneStateListener;
    private CharSequence[] mCarrierTextSub;
@@ -124,6 +125,7 @@ public class MSimNetworkController extends NetworkController {
        mMSimSignalStrength = new SignalStrength[numPhones];
        mMSimDataServiceState = new int[numPhones];
        mMSimServiceState = new ServiceState[numPhones];
        mMSimLastServiceState = new ServiceState[numPhones];
        mMSimState = new IccCardConstants.State[numPhones];
        mMSimIconId = new int[numPhones];
        mMSimPhoneSignalIconId = new int[numPhones];
@@ -157,6 +159,7 @@ public class MSimNetworkController extends NetworkController {
        for (int i=0; i < numPhones; i++) {
            mMSimSignalStrength[i] = new SignalStrength();
            mMSimServiceState[i] = new ServiceState();
            mMSimLastServiceState[i] = new ServiceState();
            mMSimState[i] = IccCardConstants.State.READY;
            // phone_signal
            mMSimPhoneSignalIconId[i] = 0;
@@ -1158,7 +1161,9 @@ public class MSimNetworkController extends NetworkController {
         || mLastAirplaneMode               != mAirplaneMode
         || mMSimLastSimIconId[subscription] != mNoMSimIconId[subscription]
         || mMSimLastcombinedActivityIconId[subscription]
                != mMSimcombinedActivityIconId[subscription])
                != mMSimcombinedActivityIconId[subscription]
         || mMSimLastServiceState[subscription].getVoiceNetworkType()
                != getVoiceNetworkType(subscription))
        {
            // NB: the mLast*s will be updated later
            for (MSimSignalCluster cluster : mSimSignalClusters) {
@@ -1170,6 +1175,10 @@ public class MSimNetworkController extends NetworkController {
            mLastAirplaneMode = mAirplaneMode;
        }

        if (mMSimLastServiceState[subscription] != mMSimServiceState[subscription]) {
            mMSimLastServiceState[subscription] = mMSimServiceState[subscription];
        }

        // the phone icon on phones
        if (mMSimLastPhoneSignalIconId[subscription] != mMSimPhoneSignalIconId[subscription]) {
            mMSimLastPhoneSignalIconId[subscription] = mMSimPhoneSignalIconId[subscription];
+8 −1
Original line number Diff line number Diff line
@@ -76,6 +76,7 @@ public class NetworkController extends BroadcastReceiver implements DemoMode {
    int mDataState = TelephonyManager.DATA_DISCONNECTED;
    int mDataActivity = TelephonyManager.DATA_ACTIVITY_NONE;
    ServiceState mServiceState;
    ServiceState mLastServiceState = new ServiceState();
    SignalStrength mSignalStrength;
    int[] mDataIconList = TelephonyIcons.DATA_G[0];
    String mNetworkName;
@@ -1314,7 +1315,8 @@ public class NetworkController extends BroadcastReceiver implements DemoMode {
         || mLastAirplaneMode               != mAirplaneMode
         || mLastLocale                     != mLocale
         || mLastSimIconId                  != mNoSimIconId
         || mLastMobileActivityIconId       != mMobileActivityIconId)
         || mLastMobileActivityIconId       != mMobileActivityIconId
         || mLastServiceState.getVoiceNetworkType() != getVoiceNetworkType())
        {
            // NB: the mLast*s will be updated later
            for (SignalCluster cluster : mSignalClusters) {
@@ -1366,6 +1368,11 @@ public class NetworkController extends BroadcastReceiver implements DemoMode {
            mLastDataTypeIconId = mDataTypeIconId;
        }

        // the service state
        if (mLastServiceState != mServiceState) {
            mLastServiceState = mServiceState;
        }

        // the combinedLabel in the notification panel
        if (!mLastCombinedLabel.equals(combinedLabel)) {
            mLastCombinedLabel = combinedLabel;