From 6bcc1f2e6812e97cf2fb7924e129f8949b45ea52 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 12 Jul 2018 10:22:51 +0200 Subject: [PATCH] fix crasher caused by wrong init Also, app.installedApk.sig is set in App.initInstalledApk() from 3a5ecc5e8ec6c820dbfdb788dc06f7dbb0699c18 refs #1305 refs #855 java.lang.NullPointerException at org.fdroid.fdroid.data.App.getInstance(App.java:390) at org.fdroid.fdroid.localrepo.CacheSwapAppsService.onHandleIntent(CacheSwapAppsService.java:77) at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.os.HandlerThread.run(HandlerThread.java:60) --- app/src/main/java/org/fdroid/fdroid/data/App.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/src/main/java/org/fdroid/fdroid/data/App.java b/app/src/main/java/org/fdroid/fdroid/data/App.java index 33b6b5ee4..75d7d5b1b 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/App.java +++ b/app/src/main/java/org/fdroid/fdroid/data/App.java @@ -381,6 +381,7 @@ public class App extends ValueObject implements Comparable, Parcelable { App app = new App(); PackageInfo packageInfo = pm.getPackageInfo(packageName, PackageManager.GET_PERMISSIONS); SanitizedFile apkFile = SanitizedFile.knownSanitized(packageInfo.applicationInfo.publicSourceDir); + app.installedApk = new Apk(); if (apkFile.canRead()) { String hashType = "SHA-256"; String hash = Utils.getBinaryHash(apkFile, hashType); @@ -389,11 +390,9 @@ public class App extends ValueObject implements Comparable, Parcelable { } app.installedApk.hashType = hashType; app.installedApk.hash = hash; - app.installedApk.sig = Utils.getPackageSig(packageInfo); } app.setFromPackageInfo(pm, packageInfo); - app.installedApk = new Apk(); app.initInstalledApk(context, app.installedApk, packageInfo, apkFile); return app; }