Visitar URL original
refactor: use fragment.getFragmentManager · NativeScript/NativeScript@b20ec86 · GitHub
Skip to content

Commit b20ec86

Browse files
author
vakrilov
committed
refactor: use fragment.getFragmentManager
1 parent 9fd77fb commit b20ec86

1 file changed

Lines changed: 3 additions & 28 deletions

File tree

‎nativescript-core/ui/frame/frame.android.ts‎

Lines changed: 3 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -87,16 +87,6 @@ function getAttachListener(): android.view.View.OnAttachStateChangeListener {
8787
return attachStateChangeListener;
8888
}
8989

90-
function nativeArrayIncludes<T>(arr: native.Array<T>, what: T): boolean {
91-
for (let i = 0; i < arr.length; i++) {
92-
if (arr[i] === what) {
93-
return true;
94-
}
95-
}
96-
97-
return false;
98-
}
99-
10090
export class Frame extends FrameBase {
10191
public _originalBackground: any;
10292
private _android: AndroidFrame;
@@ -274,24 +264,9 @@ export class Frame extends FrameBase {
274264
!this._currentEntry.fragment.isAdded()) {
275265
return;
276266
}
277-
const fragmentManager: androidx.fragment.app.FragmentManager = this._getFragmentManager();
267+
const fragment: androidx.fragment.app.Fragment = this._currentEntry.fragment;
268+
const fragmentManager: androidx.fragment.app.FragmentManager = fragment.getFragmentManager();
278269

279-
// Check if manager contains the fragment to be removed
280-
// This might happen when a dialog is already closed with android back btn
281-
const fragment = this._currentEntry.fragment;
282-
const fragmentFound = nativeArrayIncludes(fragmentManager.getFragments().toArray(), fragment);
283-
284-
if (traceEnabled()) {
285-
const message = fragmentFound ?
286-
`Frame.disposeCurrentFragment - fragment(${fragment}) found in fragmentManager(${fragmentManager}). Removing ...` :
287-
`Frame.disposeCurrentFragment - fragment(${fragment}) NOT found in fragmentManager(${fragmentManager}). Skipping remove`;
288-
traceWrite(message, traceCategories.NativeLifecycle);
289-
}
290-
291-
if (!fragmentFound) {
292-
return;
293-
}
294-
295270
const transaction = fragmentManager.beginTransaction();
296271
const fragmentExitTransition = fragment.getExitTransition();
297272

@@ -662,7 +637,7 @@ function clearEntry(entry: BackstackEntry): void {
662637
entry.recreated = false;
663638
entry.fragment = null;
664639
const page = entry.resolvedPage;
665-
if (page._context) {
640+
if (page && page._context) {
666641
entry.resolvedPage._tearDownUI(true);
667642
}
668643
}

0 commit comments

Comments
 (0)