From 6822115cffb3315e65fb4785378bb02c59633670 Mon Sep 17 00:00:00 2001 From: Nathan Walker Date: Sun, 15 Aug 2021 11:31:50 -0700 Subject: [PATCH] fix(android): nested dialog/fragment handling --- packages/core/ui/core/view/index.android.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/core/ui/core/view/index.android.ts b/packages/core/ui/core/view/index.android.ts index e7a2910d5..c54065fb3 100644 --- a/packages/core/ui/core/view/index.android.ts +++ b/packages/core/ui/core/view/index.android.ts @@ -356,6 +356,9 @@ export class View extends ViewCommon { } public _getFragmentManager(): androidx.fragment.app.FragmentManager { + if ((global)._dialogFragment) { + return (global)._dialogFragment.getChildFragmentManager(); + } let manager = this._manager; if (!manager) { let view: View = this; @@ -708,18 +711,20 @@ export class View extends ViewCommon { saveModal(dialogOptions); this._dialogFragment = df; + (global)._dialogFragment = df; this._raiseShowingModallyEvent(); this._dialogFragment.show(parent._getRootFragmentManager(), this._domId.toString()); } protected _hideNativeModalView(parent: View, whenClosedCallback: () => void) { - const manager = this._dialogFragment.getFragmentManager(); + const manager = this._dialogFragment.getParentFragmentManager(); if (manager) { this._dialogFragment.dismissAllowingStateLoss(); } this._dialogFragment = null; + (global)._dialogFragment = null; whenClosedCallback(); }