Put SIM locked text in parenthesis

Changes how SIM locked text is assembled in CarrierTextController. The
text is put in parenthesis after the carrier name (or replaces it if the
carrier name is blank). This way, the locked text is easily associated
with the corresponding carrier name.

Test: visual
Fixes: 130857483

Change-Id: I86c5156907b2d245855f8be8158459c30c060495
diff --git a/packages/SystemUI/src/com/android/keyguard/CarrierTextController.java b/packages/SystemUI/src/com/android/keyguard/CarrierTextController.java
index c407ba8..2090748 100644
--- a/packages/SystemUI/src/com/android/keyguard/CarrierTextController.java
+++ b/packages/SystemUI/src/com/android/keyguard/CarrierTextController.java
@@ -481,13 +481,13 @@
                 break;
 
             case SimLocked:
-                carrierText = makeCarrierStringOnEmergencyCapable(
+                carrierText = makeCarrierStringOnLocked(
                         getContext().getText(R.string.keyguard_sim_locked_message),
                         text);
                 break;
 
             case SimPukLocked:
-                carrierText = makeCarrierStringOnEmergencyCapable(
+                carrierText = makeCarrierStringOnLocked(
                         getContext().getText(R.string.keyguard_sim_puk_locked_message),
                         text);
                 break;
@@ -515,6 +515,26 @@
         return simMessage;
     }
 
+    /*
+     * Add "SIM card is locked" in parenthesis after carrier name, so it is easily associated in
+     * DSDS
+     */
+    private CharSequence makeCarrierStringOnLocked(CharSequence simMessage,
+            CharSequence carrierName) {
+        final boolean simMessageValid = !TextUtils.isEmpty(simMessage);
+        final boolean carrierNameValid = !TextUtils.isEmpty(carrierName);
+        if (simMessageValid && carrierNameValid) {
+            return mContext.getString(R.string.keyguard_carrier_name_with_sim_locked_template,
+                    carrierName, simMessage);
+        } else if (simMessageValid) {
+            return simMessage;
+        } else if (carrierNameValid) {
+            return carrierName;
+        } else {
+            return "";
+        }
+    }
+
     /**
      * Determine the current status of the lock screen given the SIM state and other stuff.
      */