diff options
Diffstat (limited to 'core/java/android/util/DebugUtils.java')
| -rw-r--r-- | core/java/android/util/DebugUtils.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/core/java/android/util/DebugUtils.java b/core/java/android/util/DebugUtils.java index 6d5e830346cd..ece6b3516f7a 100644 --- a/core/java/android/util/DebugUtils.java +++ b/core/java/android/util/DebugUtils.java @@ -271,6 +271,26 @@ public class DebugUtils { return res.toString(); } + /** + * Gets human-readable representation of constants (static final values). + * + * @hide + */ + public static String constantToString(Class<?> clazz, String prefix, int value) { + for (Field field : clazz.getDeclaredFields()) { + final int modifiers = field.getModifiers(); + try { + if (Modifier.isStatic(modifiers) && Modifier.isFinal(modifiers) + && field.getType().equals(int.class) && field.getName().startsWith(prefix) + && field.getInt(null) == value) { + return constNameWithoutPrefix(prefix, field); + } + } catch (IllegalAccessException ignored) { + } + } + return prefix + Integer.toString(value); + } + private static String constNameWithoutPrefix(String prefix, Field field) { return field.getName().substring(prefix.length()); } |
