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);