From 4d63cfce55fa71eb208467310277bebc828be07d Mon Sep 17 00:00:00 2001 From: Hans Boehm Date: Wed, 19 Aug 2015 12:32:56 -0700 Subject: 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) --- res/values/strings.xml | 15 +++++++++++---- 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 @@ = clr + + cleared del @@ -197,9 +201,12 @@ equals - + clear - + delete show inverse functions @@ -221,7 +228,7 @@ be used, e.g. "Division by 0". Exceeding the limit will result in a truncated string. [CHAR_LIMIT=20] - --> + --> Can\'t divide by 0 @@ -239,7 +246,7 @@ "timing out". [CHAR_LIMIT=40] - --> + --> Use longer timeouts Dismiss 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) { -- cgit v1.2.3