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

Commit 8a7a8f50 authored by Jorge Ruesga's avatar Jorge Ruesga
Browse files

systemui: don't use SIM display name if there isn't available info



If there is no SIM info, then don't try to use SIM name.
Also don't try to process all the network info data to obtain a network name, if we
are able to extract it from SIM.

Change-Id: I9b4ab296b7647ebab50925b8614beb820d2c6ace
JIRA: BUGDUMP-1081990
Signed-off-by: default avatarJorge Ruesga <jorge@ruesga.com>
parent db8cbad9
Loading
Loading
Loading
Loading
+43 −34
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ package com.android.systemui.statusbar.policy;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.database.ContentObserver;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
@@ -949,14 +950,25 @@ public class MSimNetworkControllerImpl extends NetworkControllerImpl {

    void updateNetworkName(boolean showSpn, String spn, boolean showPlmn, String plmn,
                           int phoneId) {
        final Resources res = mContext.getResources();
        if (DEBUG) {
            Slog.d(TAG, "updateNetworkName showSpn=" + showSpn + " spn=" + spn
                    + " showPlmn=" + showPlmn + " plmn=" + plmn);
        }
        try {
            if (mPhoneIdSubIdMapping.indexOfKey(phoneId) >= 0) {
                long sub = mPhoneIdSubIdMapping.get(phoneId);
                SubInfoRecord sir = SubscriptionManager.getSubInfoForSubscriber(sub);
                if (sir != null) {
                    mMSimNetworkName[phoneId] = sir.displayName;
                    return;
                }
            }

            StringBuilder str = new StringBuilder();
            boolean something = false;
            if (showPlmn && plmn != null) {
            if (mContext.getResources().getBoolean(com.android.internal.R.bool.config_display_rat)
                if (res.getBoolean(com.android.internal.R.bool.config_display_rat)
                        && mMSimServiceState[phoneId] != null) {
                    plmn = appendRatToNetworkName(plmn, mMSimServiceState[phoneId]);
                }
@@ -964,8 +976,7 @@ public class MSimNetworkControllerImpl extends NetworkControllerImpl {
                something = true;
            }
            if (showSpn && spn != null) {
            if (mContext.getResources().getBoolean(
                    com.android.internal.R.bool.config_spn_display_control)
                if (res.getBoolean(com.android.internal.R.bool.config_spn_display_control)
                        && something) {
                    Slog.d(TAG, "Do not display spn string when showPlmn and showSpn are both true"
                            + "and plmn string is not null");
@@ -973,26 +984,24 @@ public class MSimNetworkControllerImpl extends NetworkControllerImpl {
                    if (something) {
                        str.append(mNetworkNameSeparator);
                    }
                if (mContext.getResources().getBoolean(com.android.internal.R.bool.
                        config_display_rat) && mMSimServiceState[phoneId] != null) {
                    if (res.getBoolean(com.android.internal.R.bool.config_display_rat)
                            && mMSimServiceState[phoneId] != null) {
                        spn = appendRatToNetworkName(spn, mMSimServiceState[phoneId]);
                    }
                    str.append(spn);
                    something = true;
                }
            }
        if (mPhoneIdSubIdMapping.indexOfKey(phoneId) >= 0) {
            long sub = mPhoneIdSubIdMapping.get(phoneId);
            SubInfoRecord sir = SubscriptionManager.getSubInfoForSubscriber(sub);
            mMSimNetworkName[phoneId] = sir.displayName;
        } else if (something) {
            if (something) {
                mMSimNetworkName[phoneId] = str.toString();
            } else {
                mMSimNetworkName[phoneId] = mNetworkNameDefault;
            }
        } finally {
            Slog.d(TAG, "mMSimNetworkName[phoneId] " + mMSimNetworkName[phoneId]
                    + "phoneId " + phoneId);
        }
    }

    // ===== Full or limited Internet connectivity ==================================
    @Override