From bde60282f12a62351f6cde15d33d01c871f6f579 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Wed, 3 Mar 2021 18:44:43 +0100 Subject: [PATCH] fail fast if privService.getInstalledPackages() isn't working If `privService.getInstalledPackages()` throws something other than a `RemoteException`, this should fail as fast as possible. Crashing will give users a prompt to send the crash report. using `finally` will just cause weirdness since it might try to execute `compareToPackageManager()` even when it is in the process of crashing. --- .../fdroid/fdroid/data/InstalledAppProviderService.java | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/org/fdroid/fdroid/data/InstalledAppProviderService.java b/app/src/main/java/org/fdroid/fdroid/data/InstalledAppProviderService.java index cdc415779..8f60f111d 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/InstalledAppProviderService.java +++ b/app/src/main/java/org/fdroid/fdroid/data/InstalledAppProviderService.java @@ -196,10 +196,9 @@ public class InstalledAppProviderService extends JobIntentService { try { packageInfoList = privService.getInstalledPackages(PackageManager.GET_SIGNATURES); } catch (RemoteException e) { - Log.e(TAG, "RemoteException", e); - } finally { - compareToPackageManager(context, packageInfoList); + e.printStackTrace(); } + compareToPackageManager(context, packageInfoList); } @Override @@ -213,9 +212,7 @@ public class InstalledAppProviderService extends JobIntentService { context.getApplicationContext().bindService(serviceIntent, mServiceConnection, Context.BIND_AUTO_CREATE); } else { - List packageInfoList = context.getPackageManager() - .getInstalledPackages(PackageManager.GET_SIGNATURES); - compareToPackageManager(context, packageInfoList); + compareToPackageManager(context, null); } }