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

Commit cb44e007 authored by Sanket Padawe's avatar Sanket Padawe
Browse files

Settings now shows the proper carrier name.

In settings UI, stale values of carrier name are shown up and requires
device wiping for fixing it. This fix handles the case.

Bug: 18538581
Change-Id: I0c981d20124fae6cec544dd40a8f5349b11ab7be
parent 80f67ef9
Loading
Loading
Loading
Loading
+15 −16
Original line number Diff line number Diff line
@@ -149,33 +149,32 @@ public class SubscriptionInfoUpdater extends Handler {

                        SubscriptionInfo subInfo =
                                mSubscriptionManager.getActiveSubscriptionInfo(subId);

                        if (subInfo != null
                                && subInfo.getNameSource() !=
                                SubscriptionManager.NAME_SOURCE_USER_INPUT) {
                        String nameToSet;
                        String CarrierName =
                                TelephonyManager.getDefault().getSimOperator(subId);
                        logd("CarrierName = " + CarrierName);
                        String simCarrierName =
                                TelephonyManager.getDefault().getSimOperatorName(subId);
                        ContentValues name = new ContentValues(1);

                        if (subInfo != null
                                && subInfo.getNameSource() !=
                                SubscriptionManager.NAME_SOURCE_USER_INPUT) {
                            if (!TextUtils.isEmpty(simCarrierName)) {
                                nameToSet = simCarrierName;
                            } else {
                                nameToSet = "CARD " + Integer.toString(slotId + 1);
                            }
                            logd("sim name = " + nameToSet + " carrier name = " + simCarrierName);

                            ContentValues name = new ContentValues(1);
                            name.put(SubscriptionManager.DISPLAY_NAME, nameToSet);
                            logd("sim name = " + nameToSet);
                        }
                        name.put(SubscriptionManager.CARRIER_NAME,
                                !TextUtils.isEmpty(simCarrierName) ? simCarrierName :
                                mContext.getString(com.android.internal.R.string.unknownName));
                        contentResolver.update(SubscriptionManager.CONTENT_URI, name,
                                SubscriptionManager.UNIQUE_KEY_SUBSCRIPTION_ID
                                + "=" + Long.toString(subId), null);
                        }
                        logd("carrier name = " + simCarrierName);

                        /* Update preferred network type and network selection mode on IMSI change.
                         * Storing last IMSI in SharedPreference for now. Can consider making it