diff options
| author | Eugene Susla <eugenesusla@google.com> | 2018-03-16 14:35:31 -0700 |
|---|---|---|
| committer | Eugene Susla <eugenesusla@google.com> | 2018-03-20 19:39:06 +0000 |
| commit | 18e7fc1114b138e9212db2d034013e40fb2cb7ef (patch) | |
| tree | cd289f140d8858c563b6704607afcc9863c96af4 /core/java | |
| parent | cfa85917798b3b96b49a6c7c9a13bf0e0876f044 (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')
| -rw-r--r-- | core/java/android/util/DebugUtils.java | 12 |
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()); + } } |
