From 3cf3e3bd71edf481faa5de2f86d27bb36b62fb97 Mon Sep 17 00:00:00 2001 From: Chris Narkiewicz Date: Wed, 25 Dec 2019 16:38:10 +0000 Subject: [PATCH] Fix crash when adding new ODS file Crash was caused by async task callback firing when Fragment is not attached to activity. Check if fragment is attached before invoking callback logic. Fixes: #5020 Signed-off-by: Chris Narkiewicz --- .../android/ui/dialog/ChooseTemplateDialogFragment.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/owncloud/android/ui/dialog/ChooseTemplateDialogFragment.java b/src/main/java/com/owncloud/android/ui/dialog/ChooseTemplateDialogFragment.java index e06e190b12aa..8dd5e674593a 100644 --- a/src/main/java/com/owncloud/android/ui/dialog/ChooseTemplateDialogFragment.java +++ b/src/main/java/com/owncloud/android/ui/dialog/ChooseTemplateDialogFragment.java @@ -235,9 +235,9 @@ protected String doInBackground(Void... voids) { @Override protected void onPostExecute(String url) { - ChooseTemplateDialogFragment fragment = chooseTemplateDialogFragmentWeakReference.get(); + final ChooseTemplateDialogFragment fragment = chooseTemplateDialogFragmentWeakReference.get(); - if (fragment != null) { + if (fragment != null && fragment.isAdded()) { if (url.isEmpty()) { DisplayUtils.showSnackMessage(fragment.listView, "Error creating file from template"); } else { @@ -247,7 +247,6 @@ protected void onPostExecute(String url) { collaboraWebViewIntent.putExtra(ExternalSiteWebView.EXTRA_SHOW_SIDEBAR, false); collaboraWebViewIntent.putExtra(ExternalSiteWebView.EXTRA_TEMPLATE, Parcels.wrap(template)); fragment.startActivity(collaboraWebViewIntent); - fragment.dismiss(); } } else {