diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
index 51d64293d534d..ada26441c4d6e 100755
--- a/core/res/res/values/strings.xml
+++ b/core/res/res/values/strings.xml
@@ -3976,6 +3976,9 @@
you will be asked to unlock your phone using an email account.\n\n
Try again in %d seconds.
+
+ \u2014
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index 05edbcc321564..213d93b45541d 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -1478,6 +1478,7 @@
+
diff --git a/policy/src/com/android/internal/policy/impl/keyguard/CarrierText.java b/policy/src/com/android/internal/policy/impl/keyguard/CarrierText.java
index b031baf738eb2..f3ea9925e4523 100644
--- a/policy/src/com/android/internal/policy/impl/keyguard/CarrierText.java
+++ b/policy/src/com/android/internal/policy/impl/keyguard/CarrierText.java
@@ -27,6 +27,8 @@ import com.android.internal.telephony.IccCardConstants.State;
import com.android.internal.widget.LockPatternUtils;
public class CarrierText extends TextView {
+ private static CharSequence mSeparator;
+
private LockPatternUtils mLockPatternUtils;
private KeyguardUpdateMonitorCallback mCallback = new KeyguardUpdateMonitorCallback() {
@@ -82,6 +84,7 @@ public class CarrierText extends TextView {
@Override
protected void onFinishInflate() {
super.onFinishInflate();
+ mSeparator = getResources().getString(R.string.kg_text_message_separator);
KeyguardUpdateMonitor.getInstance(mContext).registerCallback(mCallback);
setSelected(true); // Allow marquee to work.
}
@@ -202,7 +205,7 @@ public class CarrierText extends TextView {
final boolean plmnValid = !TextUtils.isEmpty(plmn);
final boolean spnValid = !TextUtils.isEmpty(spn);
if (plmnValid && spnValid) {
- return plmn + "|" + spn;
+ return new StringBuilder().append(plmn).append(mSeparator).append(spn).toString();
} else if (plmnValid) {
return plmn;
} else if (spnValid) {
diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardMessageArea.java b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardMessageArea.java
index 5e331e1aafbfc..f6f3fabbe58cf 100644
--- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardMessageArea.java
+++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardMessageArea.java
@@ -43,7 +43,6 @@ class KeyguardMessageArea extends TextView {
static final int SECURITY_MESSAGE_DURATION = 5000;
protected static final int FADE_DURATION = 750;
- static final String SEPARATOR = " ";
// are we showing battery information?
boolean mShowingBatteryInfo = false;
@@ -143,6 +142,8 @@ class KeyguardMessageArea extends TextView {
}
};
+ private CharSequence mSeparator;
+
public KeyguardMessageArea(Context context) {
this(context, null);
}
@@ -158,6 +159,8 @@ class KeyguardMessageArea extends TextView {
mUpdateMonitor.registerCallback(mInfoCallback);
mHandler = new Handler(Looper.myLooper());
+ mSeparator = getResources().getString(R.string.kg_text_message_separator);
+
update();
}
@@ -186,23 +189,23 @@ class KeyguardMessageArea extends TextView {
setText(status);
}
-
- private CharSequence concat(Object... args) {
+ private CharSequence concat(CharSequence... args) {
StringBuilder b = new StringBuilder();
- for (int i = 0; i < args.length; i++) {
- final Object arg = args[i];
- if (arg instanceof CharSequence) {
- b.append((CharSequence)args[i]);
- b.append(SEPARATOR);
- } else if (arg instanceof String) {
- b.append((String)args[i]);
- b.append(SEPARATOR);
+ if (!TextUtils.isEmpty(args[0])) {
+ b.append(args[0]);
+ }
+ for (int i = 1; i < args.length; i++) {
+ CharSequence text = args[i];
+ if (!TextUtils.isEmpty(text)) {
+ if (b.length() > 0) {
+ b.append(mSeparator);
+ }
+ b.append(text);
}
}
return b.toString();
}
-
CharSequence getCurrentMessage() {
return mShowingMessage ? mMessage : null;
}