summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans Boehm <hboehm@google.com>2015-05-22 01:19:39 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2015-05-22 01:19:39 +0000
commitfbcae61c65ee2e4eaadc2da1c36a3ccf669bd8a8 (patch)
treeea8ff356274ddd7be2c82c778d3b36254ac3c963
parent98d607c5ee12eff701dfffdbcd2a9c5fc47f1681 (diff)
parentb75677481375e48ab6e6365fdc343b103f9ec02a (diff)
downloadandroid_packages_apps_ExactCalculator-fbcae61c65ee2e4eaadc2da1c36a3ccf669bd8a8.tar.gz
android_packages_apps_ExactCalculator-fbcae61c65ee2e4eaadc2da1c36a3ccf669bd8a8.tar.bz2
android_packages_apps_ExactCalculator-fbcae61c65ee2e4eaadc2da1c36a3ccf669bd8a8.zip
am b7567748: Merge "Use correct decimal separator in result." into mnc-dev
* commit 'b75677481375e48ab6e6365fdc343b103f9ec02a': Use correct decimal separator in result.
-rw-r--r--src/com/android/calculator2/KeyMaps.java19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/com/android/calculator2/KeyMaps.java b/src/com/android/calculator2/KeyMaps.java
index 0f0f54d..670f895 100644
--- a/src/com/android/calculator2/KeyMaps.java
+++ b/src/com/android/calculator2/KeyMaps.java
@@ -164,13 +164,13 @@ public class KeyMaps {
}
}
- private static char mDecimalPt =
- DecimalFormatSymbols.getInstance().getDecimalSeparator();
+ // The following two are only used for recognizing additional
+ // input characters from a physical keyboard. They are not used
+ // for output internationalization.
+ private static char mDecimalPt;
private static char mPiChar;
- private static char mFactChar;
-
/**
* Character used as a placeholder for digits that are currently unknown
* in a result that is being computed. We initially generate blanks, and
@@ -205,7 +205,7 @@ public class KeyMaps {
}
// Return the button id corresponding to the supplied character
- // or NO_ID
+ // or return NO_ID.
// Called only by UI thread.
public static int keyForChar(char c) {
validateMaps();
@@ -215,6 +215,7 @@ public class KeyMaps {
}
switch (c) {
case '.':
+ case ',':
return R.id.dec_point;
case '-':
return R.id.op_sub;
@@ -297,17 +298,16 @@ public class KeyMaps {
// Set locale-dependent character "constants"
mDecimalPt =
DecimalFormatSymbols.getInstance().getDecimalSeparator();
+ // We recognize this in keyboard input, even if we use
+ // a different character.
Resources res = mActivity.getResources();
- mPiChar = mFactChar = 0;
+ mPiChar = 0;
String piString = res.getString(R.string.const_pi);
if (piString.length() == 1) mPiChar = piString.charAt(0);
- String factString = res.getString(R.string.op_fact);
- if (factString.length() == 1) mFactChar = factString.charAt(0);
sOutputForResultChar = new HashMap<Character, String>();
sOutputForResultChar.put('e', "E");
sOutputForResultChar.put('E', "E");
- sOutputForResultChar.put('.', String.valueOf(mDecimalPt));
sOutputForResultChar.put(' ', String.valueOf(CHAR_DIGIT_UNKNOWN));
sOutputForResultChar.put(ELLIPSIS.charAt(0), ELLIPSIS);
sOutputForResultChar.put('/', "/");
@@ -315,6 +315,7 @@ public class KeyMaps {
// the separating slash, which appears to be
// universal.
addButtonToOutputMap('-', R.id.op_sub);
+ addButtonToOutputMap('.', R.id.dec_point);
for (int i = 0; i <= 9; ++i) {
addButtonToOutputMap((char)('0' + i), keyForDigVal(i));
}