From ae42cd7e43488aead5310c5fcb7467b8ce9c2dd6 Mon Sep 17 00:00:00 2001 From: "Tadashi G. Takaoka" Date: Thu, 19 Jun 2014 11:50:37 -0700 Subject: [PATCH] Disable empty suggestion word on the suggestions strip It should be disabled when it is empty. But should be enabled even when it is empty with accessibility exploration on to avoid announcing "disabled". Note that this CL may not be able to handle "suspending talk back" state correctly. It should be handled by registering TouchExplorationStateChangeListener that is available from API 19. Bug: 15738513 Bug: 14849593 Change-Id: Id9ad89f770840f74a106f53833060407b20c1e24 --- .../latin/suggestions/SuggestionStripLayoutHelper.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripLayoutHelper.java b/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripLayoutHelper.java index 19b48f081..46f5cdee0 100644 --- a/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripLayoutHelper.java +++ b/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripLayoutHelper.java @@ -44,6 +44,7 @@ import android.view.ViewGroup; import android.widget.LinearLayout; import android.widget.TextView; +import com.android.inputmethod.accessibility.AccessibilityUtils; import com.android.inputmethod.latin.LatinImeLogger; import com.android.inputmethod.latin.PunctuationSuggestions; import com.android.inputmethod.latin.R; @@ -386,6 +387,12 @@ final class SuggestionStripLayoutHelper { final float scaleX = getTextScaleX(word, width, wordView.getPaint()); wordView.setText(text); // TextView.setText() resets text scale x to 1.0. wordView.setTextScaleX(Math.max(scaleX, MIN_TEXT_XSCALE)); + // A wordView should be disabled when word is empty in order to + // make it unclickable. + // With accessibility touch exploration on, wordView should be enabled even + // when it is empty to avoid announcing as "disabled". + wordView.setEnabled(!TextUtils.isEmpty(word) + || AccessibilityUtils.getInstance().isTouchExplorationEnabled()); return wordView; }