From 942cfd3cd1ad243c7440110f1f974ba715b5d526 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Sat, 23 Apr 2016 15:29:13 +0100 Subject: [PATCH] AppDetails: guard against null fragment on destroy Fixes a crash reported by ACRA: java.lang.RuntimeException: Unable to destroy activity {org.fdroid.fdroid/org.fdroid.fdroid.AppDetails}: java.lang.NullPointerException at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3281) at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3299) at android.app.ActivityThread.access$1200(ActivityThread.java:133) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4812) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:792) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:559) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.NullPointerException at org.fdroid.fdroid.AppDetails.cleanUpFinishedDownload(AppDetails.java:442) at org.fdroid.fdroid.AppDetails.onDestroy(AppDetails.java:567) at android.app.Activity.performDestroy(Activity.java:5366) at android.app.Instrumentation.callActivityOnDestroy(Instrumentation.java:1124) at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3268) ... 11 more --- app/src/main/java/org/fdroid/fdroid/AppDetails.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/fdroid/fdroid/AppDetails.java b/app/src/main/java/org/fdroid/fdroid/AppDetails.java index 149065263..a431bd01b 100644 --- a/app/src/main/java/org/fdroid/fdroid/AppDetails.java +++ b/app/src/main/java/org/fdroid/fdroid/AppDetails.java @@ -439,7 +439,9 @@ public class AppDetails extends AppCompatActivity { */ private void cleanUpFinishedDownload() { activeDownloadUrlString = null; - headerFragment.removeProgress(); + if (headerFragment != null) { + headerFragment.removeProgress(); + } unregisterDownloaderReceivers(); }