summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNarayan Kamath <narayan@google.com>2014-11-14 16:22:47 +0000
committerNarayan Kamath <narayan@google.com>2014-11-27 11:53:16 +0000
commitaeddfaa0be943a6ca70e7610537e7cce4fdfde0a (patch)
tree49b98d6dcfdba2a27d4fddbcfa05fa255a7d359b /src
parent7834c021fe44f211cccbcd880e11a85c3cc2a0d3 (diff)
downloadandroid_packages_apps_PhoneCommon-aeddfaa0be943a6ca70e7610537e7cce4fdfde0a.tar.gz
android_packages_apps_PhoneCommon-aeddfaa0be943a6ca70e7610537e7cce4fdfde0a.tar.bz2
android_packages_apps_PhoneCommon-aeddfaa0be943a6ca70e7610537e7cce4fdfde0a.zip
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
Diffstat (limited to 'src')
-rw-r--r--src/com/android/phone/common/dialpad/DialpadView.java29
1 files changed, 22 insertions, 7 deletions
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 android.widget.TextView;
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 @@ public class DialpadView extends LinearLayout {
}
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 @@ public class DialpadView extends LinearLayout {
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) {