From 9ce8aa343d62308369a9d820ef8c475770108169 Mon Sep 17 00:00:00 2001 From: mar-v-in Date: Thu, 15 Oct 2015 03:20:01 +0200 Subject: [PATCH] Fix defect on some devices/emulators --- .../org/microg/gms/common/DeviceConfiguration.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/play-services-core/src/main/java/org/microg/gms/common/DeviceConfiguration.java b/play-services-core/src/main/java/org/microg/gms/common/DeviceConfiguration.java index 543b677e..f1087f9c 100644 --- a/play-services-core/src/main/java/org/microg/gms/common/DeviceConfiguration.java +++ b/play-services-core/src/main/java/org/microg/gms/common/DeviceConfiguration.java @@ -24,7 +24,6 @@ import android.content.pm.PackageManager; import android.content.res.Configuration; import android.opengl.GLES10; import android.os.Build; -import android.support.annotation.NonNull; import android.util.DisplayMetrics; import java.util.ArrayList; @@ -69,7 +68,9 @@ public class DeviceConfiguration { densityDpi = displayMetrics.densityDpi; glEsVersion = configurationInfo.reqGlEsVersion; PackageManager packageManager = context.getPackageManager(); - sharedLibraries = new ArrayList(Arrays.asList(packageManager.getSystemSharedLibraryNames())); + String[] systemSharedLibraryNames = packageManager.getSystemSharedLibraryNames(); + sharedLibraries = new ArrayList(); + if (systemSharedLibraryNames != null) sharedLibraries.addAll(Arrays.asList(systemSharedLibraryNames)); for (String s : new String[]{"com.google.android.maps", "com.google.android.media.effects", "com.google.widevine.software.drm"}) { if (!sharedLibraries.contains(s)) { sharedLibraries.add(s); @@ -77,8 +78,10 @@ public class DeviceConfiguration { } Collections.sort(sharedLibraries); availableFeatures = new ArrayList(); - for (FeatureInfo featureInfo : packageManager.getSystemAvailableFeatures()) { - if (featureInfo.name != null) availableFeatures.add(featureInfo.name); + if (packageManager.getSystemAvailableFeatures() != null) { + for (FeatureInfo featureInfo : packageManager.getSystemAvailableFeatures()) { + if (featureInfo != null && featureInfo.name != null) availableFeatures.add(featureInfo.name); + } } Collections.sort(availableFeatures); this.nativePlatforms = getNativePlatforms();