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

Commit 24e3fd66 authored by Sanket Padawe's avatar Sanket Padawe
Browse files

Set default sim name and carrier name for subInfoRecord.

Changes for setting display name and carrier name inside subinforecord
 object when its created and updated.

Bug: 17732079
Bug: 18247211
Change-Id: I5db976d5ed540ce46d4dd236195a7e60d96ae381
parent 504d01e2
Loading
Loading
Loading
Loading
+16 −8
Original line number Diff line number Diff line
@@ -42,6 +42,11 @@ import com.android.internal.telephony.uicc.IccConstants;
import com.android.internal.telephony.uicc.IccFileHandler;
import com.android.internal.telephony.uicc.IccUtils;
import com.android.internal.telephony.uicc.SpnOverride;
import android.provider.Telephony;
import android.content.ContentUris;
import android.net.Uri;
import android.database.Cursor;
import android.text.TextUtils;

import java.util.List;

@@ -146,24 +151,27 @@ public class SubInfoRecordUpdater extends Handler {
                                SubscriptionManager.getSubInfoForSubscriber(subId);

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

                            if (mSpnOverride.containsCarrier(CarrierName)) {
                                nameToSet = mSpnOverride.getSpn(CarrierName) + " 0"
                                        + Integer.toString(slotId + 1);
                                logd("Found, name = " + nameToSet);
                            if (!TextUtils.isEmpty(simCarrierName)) {
                                nameToSet = simCarrierName;
                            } else {
                                nameToSet = "";
                                logd("Not found, name = " + nameToSet);
                                nameToSet = "CARD " + Integer.toString(slotId + 1);
                            }
                            logd("sim name = " + nameToSet + " carrier name = " + simCarrierName);

                            ContentValues name = new ContentValues(1);
                            name.put(SubscriptionManager.DISPLAY_NAME, nameToSet);
                            name.put(SubscriptionManager.CARRIER_NAME,
                                    !TextUtils.isEmpty(simCarrierName) ? simCarrierName :
                                    sContext.getString(com.android.internal.R.string.unknownName));
                            contentResolver.update(SubscriptionManager.CONTENT_URI, name,
                                    SubscriptionManager._ID + "=" + Long.toString(subId), null);
                        }
+19 −10
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import android.os.Message;
import android.os.ServiceManager;
import android.os.UserHandle;
import android.telephony.Rlog;
import android.text.TextUtils;
import android.util.Log;
import android.net.Uri;
import android.database.Cursor;
@@ -260,6 +261,8 @@ public class SubscriptionController extends ISub.Stub {
                    SubscriptionManager.SIM_ID));
            String displayName = cursor.getString(cursor.getColumnIndexOrThrow(
                    SubscriptionManager.DISPLAY_NAME));
            String carrierName = cursor.getString(cursor.getColumnIndexOrThrow(
                    SubscriptionManager.CARRIER_NAME));
            int nameSource = cursor.getInt(cursor.getColumnIndexOrThrow(
                    SubscriptionManager.NAME_SOURCE));
            int color = cursor.getInt(cursor.getColumnIndexOrThrow(
@@ -284,8 +287,8 @@ public class SubscriptionController extends ISub.Stub {
                    + " displayName:" + displayName + " color:" + color + " mcc:" + mcc
                    + " mnc:" + mnc);

            return new SubInfoRecord(id, iccId, simSlotIndex, displayName, nameSource, color,
                    number, dataRoaming, simIconRes, mcc, mnc);
            return new SubInfoRecord(id, iccId, simSlotIndex, displayName, carrierName,
                    nameSource, color, number, dataRoaming, simIconRes, mcc, mnc);
    }

    /**
@@ -335,7 +338,6 @@ public class SubscriptionController extends ISub.Stub {
    private int getUnusedColor() {
        List<SubInfoRecord> availableSubInfos = SubscriptionManager.getActiveSubInfoList();
        colorArr = mContext.getResources().getIntArray(com.android.internal.R.array.sim_colors);

        for (int i = 0; i < colorArr.length; i++) {
            int j;
            for (j = 0; j < availableSubInfos.size(); j++) {
@@ -550,18 +552,18 @@ public class SubscriptionController extends ISub.Stub {
        }

        String nameToSet;
        SpnOverride mSpnOverride = new SpnOverride();

        String CarrierName = TelephonyManager.getDefault().getSimOperator(subIds[0]);
        logdl("[addSubInfoRecord] CarrierName = " + CarrierName);
        String simCarrierName =
                TelephonyManager.getDefault().getSimOperatorName(subIds[0]);

        if (mSpnOverride.containsCarrier(CarrierName)) {
            nameToSet = mSpnOverride.getSpn(CarrierName) + " 0" + Integer.toString(slotId + 1);
            logdl("[addSubInfoRecord] SpnOverride set name=" + nameToSet);
        if (!TextUtils.isEmpty(simCarrierName)) {
            nameToSet = simCarrierName;
        } else {
            nameToSet = "";
            logdl("[addSubInfoRecord] no SpnOverride");
            nameToSet = "CARD " + Integer.toString(slotId + 1);
        }
        logdl("[addSubInfoRecord] sim name = " + nameToSet);
        logdl("[addSubInfoRecord] carrier name = " + simCarrierName);

        ContentResolver resolver = mContext.getContentResolver();
        Cursor cursor = resolver.query(SubscriptionManager.CONTENT_URI,
@@ -579,6 +581,9 @@ public class SubscriptionController extends ISub.Stub {
                value.put(SubscriptionManager.COLOR, color);
                value.put(SubscriptionManager.SIM_ID, slotId);
                value.put(SubscriptionManager.DISPLAY_NAME, nameToSet);
                value.put(SubscriptionManager.CARRIER_NAME,
                        !TextUtils.isEmpty(simCarrierName) ? simCarrierName :
                        mContext.getString(com.android.internal.R.string.unknownName));
                Uri uri = resolver.insert(SubscriptionManager.CONTENT_URI, value);
                logdl("[addSubInfoRecord]- New record created: " + uri);
            } else {
@@ -595,6 +600,10 @@ public class SubscriptionController extends ISub.Stub {
                    value.put(SubscriptionManager.DISPLAY_NAME, nameToSet);
                }

                if (!TextUtils.isEmpty(simCarrierName)) {
                    value.put(SubscriptionManager.CARRIER_NAME, simCarrierName);
                }

                if (value.size() > 0) {
                    resolver.update(SubscriptionManager.CONTENT_URI, value,
                            BaseColumns._ID + "=" + Long.toString(subId), null);