summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorSvetoslav Ganov <svetoslavganov@google.com>2012-03-09 16:01:18 -0800
committerSvetoslav Ganov <svetoslavganov@google.com>2012-03-09 16:01:23 -0800
commitc6c25f9e28a4de73261106a80ae098347524dd2a (patch)
treeae82f0784f47e5a45682dae37071a4c87cbfa179 /core
parent4b97257979034a8031040b84d8f016d8f3175313 (diff)
downloadframeworks_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.java20
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;
}