Show IMSI in RadioInfo.

Needs to know IMSI in some carrier testing.

Test: manual
Change-Id: I020fc0806a65abfa6af43a512c814ea0aa562b88
diff --git a/res/layout/radio_info.xml b/res/layout/radio_info.xml
index e7d08cc..502505c 100644
--- a/res/layout/radio_info.xml
+++ b/res/layout/radio_info.xml
@@ -37,6 +37,12 @@
             <TextView android:id="@+id/number" style="@style/info_value" />
         </LinearLayout>
 
+        <!-- IMSI -->
+        <LinearLayout style="@style/entry_layout">
+            <TextView android:text="@string/radio_info_imsi_label" style="@style/info_label" />
+            <TextView android:id="@+id/imsi" style="@style/info_value" />
+        </LinearLayout>
+
         <!-- Network Identifier -->
         <LinearLayout style="@style/entry_layout">
             <TextView android:text="@string/radio_info_current_network_label" style="@style/info_label" />
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 4cefbd6..e608207 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -462,6 +462,8 @@
     <string name="radio_info_roaming_label">Roaming:</string>
     <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
     <string name="radio_info_imei_label">IMEI:</string>
+    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, DO NOT TRANSLATE. -->
+    <string name="radio_info_imsi_label">IMSI:</string>
     <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
     <string name="radio_info_call_redirect_label">Call Redirect:</string>
     <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
diff --git a/src/com/android/settings/RadioInfo.java b/src/com/android/settings/RadioInfo.java
index 406d293..e0ddbcc 100644
--- a/src/com/android/settings/RadioInfo.java
+++ b/src/com/android/settings/RadioInfo.java
@@ -173,6 +173,7 @@
 
     private TextView mDeviceId; //DeviceId is the IMEI in GSM and the MEID in CDMA
     private TextView number;
+    private TextView mSubscriberId;
     private TextView callState;
     private TextView operatorName;
     private TextView roamingState;
@@ -371,8 +372,9 @@
         mImsManager = ImsManager.getInstance(getApplicationContext(),
                 SubscriptionManager.getDefaultVoicePhoneId());
 
-        mDeviceId= (TextView) findViewById(R.id.imei);
+        mDeviceId = (TextView) findViewById(R.id.imei);
         number = (TextView) findViewById(R.id.number);
+        mSubscriberId = (TextView) findViewById(R.id.imsi);
         callState = (TextView) findViewById(R.id.call);
         operatorName = (TextView) findViewById(R.id.operator);
         roamingState = (TextView) findViewById(R.id.roaming);
@@ -896,6 +898,10 @@
         if (s == null) s = r.getString(R.string.radioInfo_unknown);
         mDeviceId.setText(s);
 
+        s = phone.getSubscriberId();
+        if (s == null) s = r.getString(R.string.radioInfo_unknown);
+        mSubscriberId.setText(s);
+
         //FIXME: Replace with a TelephonyManager call
         s = phone.getLine1Number();
         if (s == null) s = r.getString(R.string.radioInfo_unknown);