summaryrefslogtreecommitdiffstats
path: root/src/com/android/calculator2/Calculator.java
diff options
context:
space:
mode:
authorHans Boehm <hboehm@google.com>2015-07-08 03:08:22 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2015-07-08 03:08:22 +0000
commit792e83889ce52ac36f02e615edab100a65a44967 (patch)
treef8bdc82def994259198ba48dcfb7b69e72230bf4 /src/com/android/calculator2/Calculator.java
parent16171454f5c71955b765e8ab9bd9adbc094dca72 (diff)
parent63b085642dfd5e27ac29b330f5f6718a35c93a91 (diff)
downloadandroid_packages_apps_ExactCalculator-792e83889ce52ac36f02e615edab100a65a44967.tar.gz
android_packages_apps_ExactCalculator-792e83889ce52ac36f02e615edab100a65a44967.tar.bz2
android_packages_apps_ExactCalculator-792e83889ce52ac36f02e615edab100a65a44967.zip
am 63b08564: am a8f47d36: Merge "Have TalkBack announce results and formula changes" into mnc-dev
* commit '63b085642dfd5e27ac29b330f5f6718a35c93a91': Have TalkBack announce results and formula changes
Diffstat (limited to 'src/com/android/calculator2/Calculator.java')
-rw-r--r--src/com/android/calculator2/Calculator.java14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/com/android/calculator2/Calculator.java b/src/com/android/calculator2/Calculator.java
index 28d3312..5cb6685 100644
--- a/src/com/android/calculator2/Calculator.java
+++ b/src/com/android/calculator2/Calculator.java
@@ -444,13 +444,13 @@ public class Calculator extends Activity
// Add the given button id to input expression.
// If appropriate, clear the expression before doing so.
private void addKeyToExpr(int id) {
- // FIXME: Other states?
if (mCurrentState == CalculatorState.ERROR) {
setState(CalculatorState.INPUT);
} else if (mCurrentState == CalculatorState.RESULT) {
if (KeyMaps.isBinary(id) || KeyMaps.isSuffix(id)) {
mEvaluator.collapse();
} else {
+ announceClearForAccessibility();
mEvaluator.clear();
}
setState(CalculatorState.INPUT);
@@ -544,9 +544,9 @@ public class Calculator extends Activity
formatted.setSpan(new ForegroundColorSpan(Color.RED),
formula.length(), formatted.length(),
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
- mFormulaText.setText(formatted);
+ mFormulaText.changeTextTo(formatted);
} else {
- mFormulaText.setText(formula);
+ mFormulaText.changeTextTo(formula);
}
}
@@ -711,11 +711,16 @@ public class Calculator extends Activity
animatorSet.start();
}
+ private void announceClearForAccessibility() {
+ mResultText.announceForAccessibility(getResources().getString(R.string.desc_clr));
+ }
+
private void onClear() {
if (mEvaluator.getExpr().isEmpty()) {
return;
}
cancelIfEvaluating(true);
+ announceClearForAccessibility();
reveal(mCurrentButton, R.color.calculator_accent_color, new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
@@ -732,6 +737,7 @@ public class Calculator extends Activity
void onError(final int errorResourceId) {
if (mCurrentState == CalculatorState.EVALUATE) {
setState(CalculatorState.ANIMATE);
+ mResultText.announceForAccessibility(getResources().getString(errorResourceId));
reveal(mCurrentButton, R.color.calculator_error_color,
new AnimatorListenerAdapter() {
@Override
@@ -783,6 +789,8 @@ public class Calculator extends Activity
final int formulaTextColor = mFormulaText.getCurrentTextColor();
if (animate) {
+ mResultText.announceForAccessibility(getResources().getString(R.string.desc_eq));
+ mResultText.announceForAccessibility(mResultText.getText());
setState(CalculatorState.ANIMATE);
final AnimatorSet animatorSet = new AnimatorSet();
animatorSet.playTogether(