From 8e6fba68524bf80eac7cc7c4ace06df85f560960 Mon Sep 17 00:00:00 2001 From: LoveSy Date: Sun, 30 Jan 2022 12:57:57 +0800 Subject: [PATCH] Fix IllegalStateException (#1585) Fragment may have detached and does not have parent fragment manager --- .../ui/fragment/CompileDialogFragment.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/org/lsposed/manager/ui/fragment/CompileDialogFragment.java b/app/src/main/java/org/lsposed/manager/ui/fragment/CompileDialogFragment.java index 9b2009bc..939b2010 100644 --- a/app/src/main/java/org/lsposed/manager/ui/fragment/CompileDialogFragment.java +++ b/app/src/main/java/org/lsposed/manager/ui/fragment/CompileDialogFragment.java @@ -100,18 +100,21 @@ public class CompileDialogFragment extends AppCompatDialogFragment { if (result instanceof UnknownError) { text = context.getString(R.string.compile_failed); } else { - text = context.getString(R.string.compile_failed_with_info) + result.toString(); + text = context.getString(R.string.compile_failed_with_info) + result; } } else { text = context.getString(R.string.compile_done); } - CompileDialogFragment fragment = outerRef.get(); - if (fragment != null) { - fragment.dismissAllowingStateLoss(); - var parent = fragment.getParentFragment(); - if (parent instanceof BaseFragment) { - ((BaseFragment) parent).showHint(text, true); + try { + CompileDialogFragment fragment = outerRef.get(); + if (fragment != null) { + fragment.dismissAllowingStateLoss(); + var parent = fragment.getParentFragment(); + if (parent instanceof BaseFragment) { + ((BaseFragment) parent).showHint(text, true); + } } + } catch (IllegalStateException ignored) { } } }