diff --git a/packages/device_info/device_info/android/src/main/java/io/flutter/plugins/deviceinfo/MethodCallHandlerImpl.java b/packages/device_info/device_info/android/src/main/java/io/flutter/plugins/deviceinfo/MethodCallHandlerImpl.java index 800ca6dcddb7..0f07a846a4c7 100644 --- a/packages/device_info/device_info/android/src/main/java/io/flutter/plugins/deviceinfo/MethodCallHandlerImpl.java +++ b/packages/device_info/device_info/android/src/main/java/io/flutter/plugins/deviceinfo/MethodCallHandlerImpl.java @@ -12,6 +12,7 @@ import android.provider.Settings; import io.flutter.plugin.common.MethodCall; import io.flutter.plugin.common.MethodChannel; +import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.Map; @@ -89,11 +90,13 @@ private String[] getSystemFeatures() { if (featureInfos == null) { return EMPTY_STRING_LIST; } - String[] features = new String[featureInfos.length]; + ArrayList features = new ArrayList<>(featureInfos.length); for (int i = 0; i < featureInfos.length; i++) { - features[i] = featureInfos[i].name; + if (featureInfos[i].name != null) { + features.add(featureInfos[i].name); + } } - return features; + return features.toArray(new String[0]); } /**