Get rid of manual translations for numbers.

Use DecimalFormat instead. Also, carry over the old rule
that these numbers are localized only for "FA".

Change-Id: I0d743dc7387510ab1481dc2b365ea45911bcc141
diff --git a/res/values/strings.xml b/res/values/strings.xml
index eb6dbdb..069a049 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -15,26 +15,6 @@
   ~ limitations under the License
   -->
 <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- The digit to be displayed on the 0 key of the dialpad [TRANSLATE FOR FA ONLY] [CHAR LIMIT=1]-->
-    <string name="dialpad_0_number">0</string>
-    <!-- The digit to be displayed on the 1 key of the dialpad [TRANSLATE FOR FA ONLY] [CHAR LIMIT=1]-->
-    <string name="dialpad_1_number">1</string>
-    <!-- The digit to be displayed on the 2 key of the dialpad [TRANSLATE FOR FA ONLY] [CHAR LIMIT=1]-->
-    <string name="dialpad_2_number">2</string>
-    <!-- The digit to be displayed on the 3 key of the dialpad [TRANSLATE FOR FA ONLY] [CHAR LIMIT=1]-->
-    <string name="dialpad_3_number">3</string>
-    <!-- The digit to be displayed on the 4 key of the dialpad [TRANSLATE FOR FA ONLY] [CHAR LIMIT=1]-->
-    <string name="dialpad_4_number">4</string>
-    <!-- The digit to be displayed on the 5 key of the dialpad [TRANSLATE FOR FA ONLY] [CHAR LIMIT=1]-->
-    <string name="dialpad_5_number">5</string>
-    <!-- The digit to be displayed on the 6 key of the dialpad [TRANSLATE FOR FA ONLY] [CHAR LIMIT=1]-->
-    <string name="dialpad_6_number">6</string>
-    <!-- The digit to be displayed on the 7 key of the dialpad [TRANSLATE FOR FA ONLY] [CHAR LIMIT=1]-->
-    <string name="dialpad_7_number">7</string>
-    <!-- The digit to be displayed on the 8 key of the dialpad [TRANSLATE FOR FA ONLY] [CHAR LIMIT=1]-->
-    <string name="dialpad_8_number">8</string>
-    <!-- The digit to be displayed on the 9 key of the dialpad [TRANSLATE FOR FA ONLY] [CHAR LIMIT=1]-->
-    <string name="dialpad_9_number">9</string>
     <!--  Do not translate. -->
     <string name="dialpad_star_number">*</string>
     <!--  Do not translate. -->
diff --git a/src/com/android/phone/common/dialpad/DialpadView.java b/src/com/android/phone/common/dialpad/DialpadView.java
index 3cdc30e..3f404ee 100644
--- a/src/com/android/phone/common/dialpad/DialpadView.java
+++ b/src/com/android/phone/common/dialpad/DialpadView.java
@@ -37,6 +37,8 @@
 import com.android.phone.common.R;
 import com.android.phone.common.animation.AnimUtils;
 
+import java.text.DecimalFormat;
+import java.text.NumberFormat;
 import java.util.Locale;
 
 /**
@@ -107,12 +109,6 @@
     }
 
     private void setupKeypad() {
-        final int[] numberIds = new int[] {R.string.dialpad_0_number, R.string.dialpad_1_number,
-                R.string.dialpad_2_number, R.string.dialpad_3_number, R.string.dialpad_4_number,
-                R.string.dialpad_5_number, R.string.dialpad_6_number, R.string.dialpad_7_number,
-                R.string.dialpad_8_number, R.string.dialpad_9_number, R.string.dialpad_star_number,
-                R.string.dialpad_pound_number};
-
         final int[] letterIds = new int[] {R.string.dialpad_0_letters, R.string.dialpad_1_letters,
                 R.string.dialpad_2_letters, R.string.dialpad_3_letters, R.string.dialpad_4_letters,
                 R.string.dialpad_5_letters, R.string.dialpad_6_letters, R.string.dialpad_7_letters,
@@ -125,11 +121,30 @@
         TextView numberView;
         TextView lettersView;
 
+        final Locale currentLocale = resources.getConfiguration().locale;
+        final NumberFormat nf;
+        // We translate dialpad numbers only for "fa" and not any other locale
+        // ("ar" anybody ?).
+        if ("fa".equals(currentLocale.getLanguage())) {
+            nf = DecimalFormat.getInstance(resources.getConfiguration().locale);
+        } else {
+            nf = DecimalFormat.getInstance(Locale.ENGLISH);
+        }
+
         for (int i = 0; i < mButtonIds.length; i++) {
             dialpadKey = (DialpadKeyButton) findViewById(mButtonIds[i]);
             numberView = (TextView) dialpadKey.findViewById(R.id.dialpad_key_number);
             lettersView = (TextView) dialpadKey.findViewById(R.id.dialpad_key_letters);
-            final String numberString = resources.getString(numberIds[i]);
+
+            final String numberString;
+            if (mButtonIds[i] == R.id.pound) {
+                numberString = resources.getString(R.string.dialpad_pound_number);
+            } else if (mButtonIds[i] == R.id.star) {
+                numberString = resources.getString(R.string.dialpad_star_number);
+            } else {
+                numberString = nf.format(i);
+            }
+
             final RippleDrawable rippleBackground =
                     (RippleDrawable) getContext().getDrawable(R.drawable.btn_dialpad_key);
             if (mRippleColor != null) {