Force phone number to LTR in forwarding summary.
This puts the "plus" sign where it's supposed to go.
Bug: 20978985
Change-Id: I2ad2f2848b3c04fdc39ce5144d6244b727ed89b7
diff --git a/src/com/android/phone/CallForwardEditPreference.java b/src/com/android/phone/CallForwardEditPreference.java
index 8d29c84..01097f4 100644
--- a/src/com/android/phone/CallForwardEditPreference.java
+++ b/src/com/android/phone/CallForwardEditPreference.java
@@ -12,6 +12,8 @@
import android.os.AsyncResult;
import android.os.Handler;
import android.os.Message;
+import android.text.BidiFormatter;
+import android.text.TextDirectionHeuristics;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.util.Log;
@@ -152,7 +154,10 @@
CharSequence summaryOn;
final String number = getRawPhoneNumber();
if (number != null && number.length() > 0) {
- String values[] = { number };
+ // Wrap the number to preserve presentation in RTL languages.
+ String wrappedNumber = BidiFormatter.getInstance().unicodeWrap(
+ number, TextDirectionHeuristics.LTR);
+ String values[] = { wrappedNumber };
summaryOn = TextUtils.replace(mSummaryOnTemplate, SRC_TAGS, values);
} else {
summaryOn = getContext().getString(R.string.sum_cfu_enabled_no_number);