From 0bf6dc2e93fdf22ba8b712af14b9ce261863f122 Mon Sep 17 00:00:00 2001 From: Manol Donev Date: Thu, 4 Oct 2018 14:31:57 +0300 Subject: [PATCH] fix(android): nested frames on app suspend/resume (#6339) --- tns-core-modules/ui/frame/frame.android.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tns-core-modules/ui/frame/frame.android.ts b/tns-core-modules/ui/frame/frame.android.ts index fa0f2bace..e0c8ab556 100644 --- a/tns-core-modules/ui/frame/frame.android.ts +++ b/tns-core-modules/ui/frame/frame.android.ts @@ -755,6 +755,17 @@ class FragmentCallbacksImplementation implements AndroidFragmentCallbacks { if (traceEnabled()) { traceWrite(`${fragment}.onDestroyView()`, traceCategories.NativeLifecycle); } + + // fixes 'java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first'. + // on app resume in nested frame scenarios with support library version greater than 26.0.0 + const view = fragment.getView(); + if (view != null) { + const viewParent = view.getParent(); + if (viewParent instanceof android.view.ViewGroup) { + viewParent.removeView(view); + } + } + superFunc.call(fragment); }