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)
This commit is contained in:
parent
11c28bff2c
commit
6bcc1f2e68
@ -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;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user