diff options
| author | Mathieu Chartier <mathieuc@google.com> | 2015-03-30 00:26:46 +0000 |
|---|---|---|
| committer | Android Git Automerger <android-git-automerger@android.com> | 2015-03-30 00:26:46 +0000 |
| commit | 2169c68aa330670ab340ec7faaedb5e5a9a59360 (patch) | |
| tree | 8002cd5974256495e892476042ff18e711f77c57 | |
| parent | 3fa46a0f79f35ca32ce102d4bbb1138c517ee754 (diff) | |
| parent | d9dddea504d717120eaa5e9c15fe484e26511e92 (diff) | |
| download | frameworks_base-2169c68aa330670ab340ec7faaedb5e5a9a59360.zip frameworks_base-2169c68aa330670ab340ec7faaedb5e5a9a59360.tar.gz frameworks_base-2169c68aa330670ab340ec7faaedb5e5a9a59360.tar.bz2 | |
am d9dddea5: am 631565ab: Merge "Change getDeclaredFieldsUnchecked call to new return value"
* commit 'd9dddea504d717120eaa5e9c15fe484e26511e92':
Change getDeclaredFieldsUnchecked call to new return value
| -rw-r--r-- | core/java/android/view/ViewDebug.java | 38 |
1 files changed, 15 insertions, 23 deletions
diff --git a/core/java/android/view/ViewDebug.java b/core/java/android/view/ViewDebug.java index 50e64c6..a237afd 100644 --- a/core/java/android/view/ViewDebug.java +++ b/core/java/android/view/ViewDebug.java @@ -1005,31 +1005,23 @@ public class ViewDebug { return fields; } - final ArrayList<Field> declaredFields = new ArrayList(); - klass.getDeclaredFieldsUnchecked(false, declaredFields); - - final ArrayList<Field> foundFields = new ArrayList<Field>(); - final int count = declaredFields.size(); - for (int i = 0; i < count; i++) { - final Field field = declaredFields.get(i); - - // Ensure the field type can be resolved. - try { - field.getType(); - } catch (NoClassDefFoundError e) { - continue; - } - - if (field.isAnnotationPresent(ExportedProperty.class)) { - field.setAccessible(true); - foundFields.add(field); - sAnnotations.put(field, field.getAnnotation(ExportedProperty.class)); + try { + final Field[] declaredFields = klass.getDeclaredFieldsUnchecked(false); + final ArrayList<Field> foundFields = new ArrayList<Field>(); + for (final Field field : declaredFields) { + // Fields which can't be resolved have a null type. + if (field.getType() != null && field.isAnnotationPresent(ExportedProperty.class)) { + field.setAccessible(true); + foundFields.add(field); + sAnnotations.put(field, field.getAnnotation(ExportedProperty.class)); + } } + fields = foundFields.toArray(new Field[foundFields.size()]); + map.put(klass, fields); + } catch (NoClassDefFoundError e) { + throw new AssertionError(e); } - fields = foundFields.toArray(new Field[foundFields.size()]); - map.put(klass, fields); - return fields; } @@ -1651,4 +1643,4 @@ public class ViewDebug { } }); } -}
\ No newline at end of file +} |
