Skip to content

Commit 282f3c8

Browse files
committed
Revert "fix(android): correct TabView fragment manager resolution (#11217)"
This reverts commit fe51a14.
1 parent ceb8ebf commit 282f3c8

1 file changed

Lines changed: 20 additions & 1 deletion

File tree

packages/core/ui/tab-view/index.android.ts

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -383,7 +383,26 @@ export class TabViewItem extends TabViewItemBase {
383383

384384
public _getChildFragmentManager(): androidx.fragment.app.FragmentManager {
385385
const tabView = this.parent as TabView;
386-
return (<any>tabView)._getRootFragmentManager();
386+
let tabFragment = null;
387+
const fragmentManager = tabView._getFragmentManager();
388+
const fragments = fragmentManager.getFragments().toArray();
389+
for (let i = 0; i < fragments.length; i++) {
390+
if (fragments[i].index === this.index) {
391+
tabFragment = fragments[i];
392+
break;
393+
}
394+
}
395+
396+
// TODO: can happen in a modal tabview scenario when the modal dialog fragment is already removed
397+
if (!tabFragment) {
398+
if (Trace.isEnabled()) {
399+
Trace.write(`Could not get child fragment manager for tab item with index ${this.index}`, traceCategory);
400+
}
401+
402+
return (<any>tabView)._getRootFragmentManager();
403+
}
404+
405+
return tabFragment.getChildFragmentManager();
387406
}
388407

389408
[fontSizeProperty.getDefault](): { nativeSize: number } {

0 commit comments

Comments
 (0)