Prevent crash

This commit is contained in:
M66B 2022-07-05 18:27:30 +02:00
parent 9c759e310f
commit a1d45a2684
1 changed files with 17 additions and 9 deletions

View File

@ -183,7 +183,7 @@ public class FragmentDialogBase extends DialogFragment {
targetRequestCode = requestCode;
}
public void setTargetActivity(ActivityBase activity, int requestCode){
public void setTargetActivity(ActivityBase activity, int requestCode) {
targetRequestKey = activity.getRequestKey();
targetRequestCode = requestCode;
}
@ -197,14 +197,22 @@ public class FragmentDialogBase extends DialogFragment {
if (!hasResult || resultCode == RESULT_OK) {
hasResult = true;
if (targetRequestKey != null) {
Bundle args = getArguments();
if (args == null) // onDismiss
args = new Bundle();
args.putInt("requestCode", targetRequestCode);
args.putInt("resultCode", resultCode);
getParentFragmentManager().setFragmentResult(targetRequestKey, args);
}
if (targetRequestKey != null)
try {
Bundle args = getArguments();
if (args == null) // onDismiss
args = new Bundle();
args.putInt("requestCode", targetRequestCode);
args.putInt("resultCode", resultCode);
getParentFragmentManager().setFragmentResult(targetRequestKey, args);
} catch (Throwable ex) {
Log.w(ex);
/*
java.lang.IllegalStateException: Fragment FragmentDialog... not associated with a fragment manager.
at androidx.fragment.app.Fragment.getParentFragmentManager(SourceFile:2)
at eu.faircode.email.FragmentDialogBase.sendResult(SourceFile:9)
*/
}
}
}