diff options
| author | Svetoslav Ganov <svetoslavganov@google.com> | 2012-03-09 16:01:18 -0800 |
|---|---|---|
| committer | Svetoslav Ganov <svetoslavganov@google.com> | 2012-03-09 16:01:23 -0800 |
| commit | c6c25f9e28a4de73261106a80ae098347524dd2a (patch) | |
| tree | ae82f0784f47e5a45682dae37071a4c87cbfa179 /core | |
| parent | 4b97257979034a8031040b84d8f016d8f3175313 (diff) | |
| download | frameworks_base-c6c25f9e28a4de73261106a80ae098347524dd2a.zip frameworks_base-c6c25f9e28a4de73261106a80ae098347524dd2a.tar.gz frameworks_base-c6c25f9e28a4de73261106a80ae098347524dd2a.tar.bz2 | |
AccessibilityServiceInfo does not convert correctly feedback type to string.
1. When the feedback type is set to TYPES_ALL_MASK the method
feedbackTypeToString was not generating a string with all
feedback types. Also the generated string sometimes could
have a comma appended after the last feedback type name
- this happens if the feedback type contains unknown type
flag.
Change-Id: I848c520cf7dae16dcd882f68275869c7ab656dd7
Diffstat (limited to 'core')
| -rw-r--r-- | core/java/android/accessibilityservice/AccessibilityServiceInfo.java | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/core/java/android/accessibilityservice/AccessibilityServiceInfo.java b/core/java/android/accessibilityservice/AccessibilityServiceInfo.java index eae0a4c..b55fda4 100644 --- a/core/java/android/accessibilityservice/AccessibilityServiceInfo.java +++ b/core/java/android/accessibilityservice/AccessibilityServiceInfo.java @@ -503,26 +503,38 @@ public class AccessibilityServiceInfo implements Parcelable { public static String feedbackTypeToString(int feedbackType) { StringBuilder builder = new StringBuilder(); builder.append("["); - while (feedbackType > 0) { + while (feedbackType != 0) { final int feedbackTypeFlag = 1 << Integer.numberOfTrailingZeros(feedbackType); feedbackType &= ~feedbackTypeFlag; - if (builder.length() > 1) { - builder.append(", "); - } switch (feedbackTypeFlag) { case FEEDBACK_AUDIBLE: + if (builder.length() > 1) { + builder.append(", "); + } builder.append("FEEDBACK_AUDIBLE"); break; case FEEDBACK_HAPTIC: + if (builder.length() > 1) { + builder.append(", "); + } builder.append("FEEDBACK_HAPTIC"); break; case FEEDBACK_GENERIC: + if (builder.length() > 1) { + builder.append(", "); + } builder.append("FEEDBACK_GENERIC"); break; case FEEDBACK_SPOKEN: + if (builder.length() > 1) { + builder.append(", "); + } builder.append("FEEDBACK_SPOKEN"); break; case FEEDBACK_VISUAL: + if (builder.length() > 1) { + builder.append(", "); + } builder.append("FEEDBACK_VISUAL"); break; } |
