summaryrefslogtreecommitdiff
path: root/core/java/android/util
diff options
context:
space:
mode:
authorEugene Susla <eugenesusla@google.com>2018-03-16 14:35:31 -0700
committerEugene Susla <eugenesusla@google.com>2018-03-20 19:39:06 +0000
commit18e7fc1114b138e9212db2d034013e40fb2cb7ef (patch)
treecd289f140d8858c563b6704607afcc9863c96af4 /core/java/android/util
parentcfa85917798b3b96b49a6c7c9a13bf0e0876f044 (diff)
[DO NOT MERGE] Eliminate duplicate layers in A11yService#getWindows()
Fixes: 73904014 Test: using TestBack, ensure the attached bug is fixed Change-Id: I097ca47563420d658cea083a3b6f8d5e7d02991c (cherry picked from commit 8f0124190ac0386a9429724b5fdf8f491b8cad05)
Diffstat (limited to 'core/java/android/util')
-rw-r--r--core/java/android/util/DebugUtils.java12
1 files changed, 10 insertions, 2 deletions
diff --git a/core/java/android/util/DebugUtils.java b/core/java/android/util/DebugUtils.java
index c44f42b19ced..46e316931935 100644
--- a/core/java/android/util/DebugUtils.java
+++ b/core/java/android/util/DebugUtils.java
@@ -219,7 +219,7 @@ public class DebugUtils {
&& field.getType().equals(int.class) && field.getName().startsWith(prefix)) {
try {
if (value == field.getInt(null)) {
- return field.getName().substring(prefix.length());
+ return constNameWithoutPrefix(prefix, field);
}
} catch (IllegalAccessException ignored) {
}
@@ -236,6 +236,7 @@ public class DebugUtils {
*/
public static String flagsToString(Class<?> clazz, String prefix, int flags) {
final StringBuilder res = new StringBuilder();
+ boolean flagsWasZero = flags == 0;
for (Field field : clazz.getDeclaredFields()) {
final int modifiers = field.getModifiers();
@@ -243,9 +244,12 @@ public class DebugUtils {
&& field.getType().equals(int.class) && field.getName().startsWith(prefix)) {
try {
final int value = field.getInt(null);
+ if (value == 0 && flagsWasZero) {
+ return constNameWithoutPrefix(prefix, field);
+ }
if ((flags & value) != 0) {
flags &= ~value;
- res.append(field.getName().substring(prefix.length())).append('|');
+ res.append(constNameWithoutPrefix(prefix, field)).append('|');
}
} catch (IllegalAccessException ignored) {
}
@@ -258,4 +262,8 @@ public class DebugUtils {
}
return res.toString();
}
+
+ private static String constNameWithoutPrefix(String prefix, Field field) {
+ return field.getName().substring(prefix.length());
+ }
}