summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans Boehm <hboehm@google.com>2015-08-19 12:32:56 -0700
committerHans Boehm <hboehm@google.com>2015-10-09 23:19:23 +0000
commit4d63cfce55fa71eb208467310277bebc828be07d (patch)
tree44c0344c0086f9ac9692c0d7ab8369e61bb64cff
parent51fc9bddf33616aa8abaf4a37889efa90679e445 (diff)
downloadandroid_packages_apps_ExactCalculator-4d63cfce55fa71eb208467310277bebc828be07d.tar.gz
android_packages_apps_ExactCalculator-4d63cfce55fa71eb208467310277bebc828be07d.tar.bz2
android_packages_apps_ExactCalculator-4d63cfce55fa71eb208467310277bebc828be07d.zip
Announce when formula has been completely deleted.
Bug: 23224425 Bug: 23695835 This adds a "cleared" announcement when last token/character is deleted. Also change the existing "clear" announcements to "cleared". Improve the comments for desc_clr and desc_del to address prior misunderstandings. Improve xml comment formatting consistency. Change-Id: Ibe5197ceac132b73d72f8ace3982238249f5e82b (cherry picked from commit db6f99979b713e491ace2f0cd9315e5c1616269b)
-rw-r--r--res/values/strings.xml15
-rw-r--r--src/com/android/calculator2/Calculator.java13
2 files changed, 20 insertions, 8 deletions
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 959b979..50bc983 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -118,6 +118,10 @@
<string name="eq" translatable="false">=</string>
<!-- Clear button to clear the currently entered expression. [CHAR_LIMIT=4] -->
<string name="clr">clr</string>
+ <!--
+ Announced when all characters are removed from Formula, e.g. after clear. [CHAR_LIMIT=NONE]
+ -->
+ <string name="cleared">cleared</string>
<!-- Delete button to remove last entered token. [CHAR_LIMIT=4] -->
<string name="del">del</string>
<!-- Toggle button to show/hide inverse functions. [CHAR_LIMIT=4] -->
@@ -197,9 +201,12 @@
<!-- Content description for '=' button. [CHAR_LIMIT=NONE] -->
<string name="desc_eq">equals</string>
- <!-- Content description for "clr" button. [CHAR_LIMIT=NONE] -->
+ <!-- Content description for "clr" button. Deletes entire formula. [CHAR_LIMIT=NONE] -->
<string name="desc_clr">clear</string>
- <!-- Content description for "del" button. [CHAR_LIMIT=NONE] -->
+ <!--
+ Content description for "del" button. Deletes single character. Should differ
+ from desc_clr. [CHAR_LIMIT=NONE]
+ -->
<string name="desc_del">delete</string>
<!-- Content description for "inv" button to show inverse functions. [CHAR_LIMIT=NONE] -->
<string name="desc_inv_off">show inverse functions</string>
@@ -221,7 +228,7 @@
be used, e.g. "Division by 0". Exceeding the limit will result in a truncated string.
[CHAR_LIMIT=20]
- -->
+ -->
<string name="error_zero_divide">Can\'t divide by 0</string>
<!-- Toast shown when text is copied to the clipboard. [CHAR_LIMIT=40] -->
@@ -239,7 +246,7 @@
"timing out".
[CHAR_LIMIT=40]
- -->
+ -->
<string name="ok_remove_timeout">Use longer timeouts</string>
<!-- Button label to dismiss informative text message. [CHAR_LIMIT=40] -->
<string name="dismiss">Dismiss</string>
diff --git a/src/com/android/calculator2/Calculator.java b/src/com/android/calculator2/Calculator.java
index 4eecb50..86953ef 100644
--- a/src/com/android/calculator2/Calculator.java
+++ b/src/com/android/calculator2/Calculator.java
@@ -454,7 +454,7 @@ public class Calculator extends Activity
if (KeyMaps.isBinary(id) || KeyMaps.isSuffix(id)) {
mEvaluator.collapse();
} else {
- announceClearForAccessibility();
+ announceClearedForAccessibility();
mEvaluator.clear();
}
setState(CalculatorState.INPUT);
@@ -653,6 +653,11 @@ public class Calculator extends Activity
} else {
mEvaluator.delete();
}
+ if (mEvaluator.getExpr().isEmpty()
+ && (mUnprocessedChars == null || mUnprocessedChars.isEmpty())) {
+ // Resulting formula won't be announced, since it's empty.
+ announceClearedForAccessibility();
+ }
redisplayAfterFormulaChange();
}
@@ -710,8 +715,8 @@ public class Calculator extends Activity
animatorSet.start();
}
- private void announceClearForAccessibility() {
- mResultText.announceForAccessibility(getResources().getString(R.string.desc_clr));
+ private void announceClearedForAccessibility() {
+ mResultText.announceForAccessibility(getResources().getString(R.string.cleared));
}
private void onClear() {
@@ -719,7 +724,7 @@ public class Calculator extends Activity
return;
}
cancelIfEvaluating(true);
- announceClearForAccessibility();
+ announceClearedForAccessibility();
reveal(mCurrentButton, R.color.calculator_accent_color, new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {