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)
This commit is contained in:
Hans-Christoph Steiner 2019-07-31 00:14:04 +02:00
parent df818b0aed
commit 887f53cf95
No known key found for this signature in database
GPG Key ID: 3E177817BA1B9BFA

View File

@ -96,6 +96,9 @@ public class TreeUriScannerIntentService extends IntentService {
* like an SD Card that can be directly accessed via the file system. * like an SD Card that can be directly accessed via the file system.
*/ */
public static void onActivityResult(Activity activity, Intent intent) { public static void onActivityResult(Activity activity, Intent intent) {
if (intent == null) {
return;
}
Uri uri = intent.getData(); Uri uri = intent.getData();
if (uri != null) { if (uri != null) {
if (Build.VERSION.SDK_INT >= 19) { if (Build.VERSION.SDK_INT >= 19) {