From 18a35b5efddd06f9f1de3f5ddd976ea9090e1274 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=80lex=20Magaz=20Gra=C3=A7a?= Date: Mon, 15 Jun 2015 20:48:54 +0200 Subject: [PATCH] Fix crash if no application is selected to choose a file to import accounts. Fixes #341 --- .../android/ui/settings/SettingsActivity.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/org/gnucash/android/ui/settings/SettingsActivity.java b/app/src/main/java/org/gnucash/android/ui/settings/SettingsActivity.java index 5f351e854..a4ef751e5 100644 --- a/app/src/main/java/org/gnucash/android/ui/settings/SettingsActivity.java +++ b/app/src/main/java/org/gnucash/android/ui/settings/SettingsActivity.java @@ -573,12 +573,14 @@ public void onClick(DialogInterface dialog, int which) { public void onActivityResult(int requestCode, int resultCode, Intent data) { switch (requestCode) { case AccountsActivity.REQUEST_PICK_ACCOUNTS_FILE: - try { - InputStream accountInputStream = getContentResolver().openInputStream(data.getData()); - new ImportAsyncTask(this).execute(accountInputStream); - } catch (FileNotFoundException e) { - Crashlytics.logException(e); - Toast.makeText(this, R.string.toast_error_importing_accounts, Toast.LENGTH_SHORT).show(); + if (resultCode == Activity.RESULT_OK && data != null) { + try { + InputStream accountInputStream = getContentResolver().openInputStream(data.getData()); + new ImportAsyncTask(this).execute(accountInputStream); + } catch (FileNotFoundException e) { + Crashlytics.logException(e); + Toast.makeText(this, R.string.toast_error_importing_accounts, Toast.LENGTH_SHORT).show(); + } } break; case PasscodePreferenceFragment.PASSCODE_REQUEST_CODE: