diff options
author | Hans Boehm <hboehm@google.com> | 2015-08-19 12:32:56 -0700 |
---|---|---|
committer | Hans Boehm <hboehm@google.com> | 2015-10-09 23:19:23 +0000 |
commit | 4d63cfce55fa71eb208467310277bebc828be07d (patch) | |
tree | 44c0344c0086f9ac9692c0d7ab8369e61bb64cff | |
parent | 51fc9bddf33616aa8abaf4a37889efa90679e445 (diff) | |
download | android_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.xml | 15 | ||||
-rw-r--r-- | src/com/android/calculator2/Calculator.java | 13 |
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) { |