From 7b66ad4920f0078a131f4630e572b0e583868d45 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Wed, 25 Apr 2018 11:12:18 +0200 Subject: [PATCH] don't crash if installerPackageName is null #1436 This will instead lead users with Privileged Extension to the F-Droid uninstall screen which will probably fail. But that's better than crashing in my opinion. Introduced in c095a85c3dd3c505951bebb52e4ae010c69cc9f9 --- .../main/java/org/fdroid/fdroid/installer/Installer.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/fdroid/fdroid/installer/Installer.java b/app/src/main/java/org/fdroid/fdroid/installer/Installer.java index bb0735b4b..7d39269ba 100644 --- a/app/src/main/java/org/fdroid/fdroid/installer/Installer.java +++ b/app/src/main/java/org/fdroid/fdroid/installer/Installer.java @@ -144,9 +144,10 @@ public abstract class Installer { } PackageManager pm = context.getPackageManager(); - if (Build.VERSION.SDK_INT >= 24 && ( - pm.getInstallerPackageName(apk.packageName).equals("com.android.packageinstaller") - || pm.getInstallerPackageName(apk.packageName).equals("com.google.android.packageinstaller"))) { + String installerPackageName = pm.getInstallerPackageName(apk.packageName); + if (Build.VERSION.SDK_INT >= 24 && + ("com.android.packageinstaller".equals(installerPackageName) + || "com.google.android.packageinstaller".equals(installerPackageName))) { Utils.debugLog(TAG, "Falling back to default installer for uninstall"); Intent intent = new Intent(context, DefaultInstallerActivity.class); intent.setAction(DefaultInstallerActivity.ACTION_UNINSTALL_PACKAGE);