mirror of
https://github.com/f-droid/fdroidclient.git
synced 2026-04-21 15:29:18 -04:00
fix crasher caused by wrong init
Also, app.installedApk.sig is set in App.initInstalledApk()
from 3a5ecc5e8e
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)
This commit is contained in:
@@ -381,6 +381,7 @@ public class App extends ValueObject implements Comparable<App>, 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<App>, 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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user