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

Commit dcd0bf72 authored by Meng Wang's avatar Meng Wang
Browse files

Show ICCID in SIM status, if CarrierConfigManager allows.

Bug: 27574058
Change-Id: I5c08d31b5e8ea3c3ad79361e660256b070ff7284
parent 0bd0bb04
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -2302,6 +2302,8 @@
    <string name="status_imei">IMEI</string>
    <!-- Do not translate. About phone, status item title -->
    <string name="status_imei_sv">IMEI SV</string>
    <!-- Do not translate. About phone, status item title -->
    <string name="status_iccid">ICCID</string>
    <!-- About tablet, status item title.  The Mobile Directory Number [CHAR LIMIT=30] -->
    <string name="status_number" product="tablet">MDN</string>
    <!-- About phone, status item title.  The phone number of the current device [CHAR LIMIT=30] -->
+7 −0
Original line number Diff line number Diff line
@@ -87,4 +87,11 @@
        android:summary="@string/device_info_not_available"
        android:persistent="false" />

    <Preference android:key="iccid"
        android:enabled="false"
        android:shouldDisableView="false"
        android:title="@string/status_iccid"
        android:summary="@string/device_info_not_available"
        android:persistent="false" />

</PreferenceScreen>
+18 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import android.content.IntentFilter;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.res.Resources;
import android.os.Bundle;
import android.os.PersistableBundle;
import android.os.UserHandle;
import android.os.UserManager;
import android.support.v7.preference.Preference;
@@ -34,6 +35,7 @@ import android.telephony.SignalStrength;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.telephony.CarrierConfigManager;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
@@ -78,6 +80,7 @@ public class SimStatus extends InstrumentedPreferenceActivity {
    private static final String KEY_SIGNAL_STRENGTH = "signal_strength";
    private static final String KEY_IMEI = "imei";
    private static final String KEY_IMEI_SV = "imei_sv";
    private static final String KEY_ICCID = "iccid";
    private static final String COUNTRY_ABBREVIATION_BRAZIL = "br";

    static final String CB_AREA_INFO_RECEIVED_ACTION =
@@ -92,11 +95,13 @@ public class SimStatus extends InstrumentedPreferenceActivity {


    private TelephonyManager mTelephonyManager;
    private CarrierConfigManager mCarrierConfigManager;
    private Phone mPhone = null;
    private Resources mRes;
    private Preference mSignalStrength;
    private SubscriptionInfo mSir;
    private boolean mShowLatestAreaInfo;
    private boolean mShowICCID;

    // Default summary for items
    private String mDefaultText;
@@ -129,6 +134,7 @@ public class SimStatus extends InstrumentedPreferenceActivity {
    protected void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        mTelephonyManager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
        mCarrierConfigManager = (CarrierConfigManager) getSystemService(CARRIER_CONFIG_SERVICE);

        mSelectableSubInfos = SubscriptionManager.from(this).getActiveSubscriptionInfoList();

@@ -356,6 +362,10 @@ public class SimStatus extends InstrumentedPreferenceActivity {
                mShowLatestAreaInfo = true;
            }
        }
        PersistableBundle carrierConfig = mCarrierConfigManager.getConfig(
                mSir.getSubscriptionId());
        mShowICCID = carrierConfig.getBoolean(
                CarrierConfigManager.KEY_SHOW_ICCID_IN_SIM_STATUS_BOOL);

        String rawNumber = mTelephonyManager.getLine1Number(mSir.getSubscriptionId());
        String formattedNumber = null;
@@ -367,6 +377,14 @@ public class SimStatus extends InstrumentedPreferenceActivity {
        setSummaryText(KEY_IMEI, mPhone.getImei());
        setSummaryText(KEY_IMEI_SV, mPhone.getDeviceSvn());

        if (!mShowICCID) {
            removePreferenceFromScreen(KEY_ICCID);
        } else {
            // Get ICCID, which is SIM serial number
            String iccid = mTelephonyManager.getSimSerialNumber(mSir.getSubscriptionId());
            setSummaryText(KEY_ICCID, iccid);
        }

        if (!mShowLatestAreaInfo) {
            removePreferenceFromScreen(KEY_LATEST_AREA_INFO);
        }