From 887f53cf9553d11a195dd719b04e22f040100883 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Wed, 31 Jul 2019 00:14:04 +0200 Subject: [PATCH] stop crash in TreeUriScannerIntentService.onActivityResult() This might happen if the user denies storage permission. java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=16613, result=0, data=null} to activity {org.fdroid.fdroid/org.fdroid.fdroid.views.main.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.net.Uri android.content.Intent.getData()' on a null object reference at android.app.ActivityThread.deliverResults(ActivityThread.java:4612) at android.app.ActivityThread.handleSendResult(ActivityThread.java:4654) at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:49) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1955) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:214) at android.app.ActivityThread.main(ActivityThread.java:7073) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:964) Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.net.Uri android.content.Intent.getData()' on a null object reference at org.fdroid.fdroid.nearby.TreeUriScannerIntentService.onActivityResult(TreeUriScannerIntentService.java:99) at org.fdroid.fdroid.views.main.MainActivity.onActivityResult(MainActivity.java:270) at android.app.Activity.dispatchActivityResult(Activity.java:7759) at android.app.ActivityThread.deliverResults(ActivityThread.java:4605) ... 11 more java.lang.NullPointerException: Attempt to invoke virtual method 'android.net.Uri android.content.Intent.getData()' on a null object reference at org.fdroid.fdroid.nearby.TreeUriScannerIntentService.onActivityResult(TreeUriScannerIntentService.java:99) at org.fdroid.fdroid.views.main.MainActivity.onActivityResult(MainActivity.java:270) at android.app.Activity.dispatchActivityResult(Activity.java:7759) at android.app.ActivityThread.deliverResults(ActivityThread.java:4605) at android.app.ActivityThread.handleSendResult(ActivityThread.java:4654) at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:49) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1955) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:214) at android.app.ActivityThread.main(ActivityThread.java:7073) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:964) --- .../org/fdroid/fdroid/nearby/TreeUriScannerIntentService.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/src/full/java/org/fdroid/fdroid/nearby/TreeUriScannerIntentService.java b/app/src/full/java/org/fdroid/fdroid/nearby/TreeUriScannerIntentService.java index 11b18a468..3f4023c7b 100644 --- a/app/src/full/java/org/fdroid/fdroid/nearby/TreeUriScannerIntentService.java +++ b/app/src/full/java/org/fdroid/fdroid/nearby/TreeUriScannerIntentService.java @@ -96,6 +96,9 @@ public class TreeUriScannerIntentService extends IntentService { * like an SD Card that can be directly accessed via the file system. */ public static void onActivityResult(Activity activity, Intent intent) { + if (intent == null) { + return; + } Uri uri = intent.getData(); if (uri != null) { if (Build.VERSION.SDK_INT >= 19) {