diff options
| author | Mathieu Chartier <mathieuc@google.com> | 2015-03-29 22:42:53 +0000 |
|---|---|---|
| committer | Android Git Automerger <android-git-automerger@android.com> | 2015-03-29 22:42:53 +0000 |
| commit | d9dddea504d717120eaa5e9c15fe484e26511e92 (patch) | |
| tree | 79eef689c7400ae97b4d0e894a16add14c5de3e4 /core/java | |
| parent | d7fb6d26d809775996f70e23213392a3dcf10c8f (diff) | |
| parent | 631565abd6cadd65befe197afa7bac0d44f70fb2 (diff) | |
| download | frameworks_base-d9dddea504d717120eaa5e9c15fe484e26511e92.zip frameworks_base-d9dddea504d717120eaa5e9c15fe484e26511e92.tar.gz frameworks_base-d9dddea504d717120eaa5e9c15fe484e26511e92.tar.bz2 | |
am 631565ab: Merge "Change getDeclaredFieldsUnchecked call to new return value"
* commit '631565abd6cadd65befe197afa7bac0d44f70fb2':
Change getDeclaredFieldsUnchecked call to new return value
Diffstat (limited to 'core/java')
| -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 +} |
