Skip to content
This repository has been archived by the owner on Feb 20, 2023. It is now read-only.

[Meta] Composify the tabs tray #21318

Closed
8 of 13 tasks
jonalmeida opened this issue Sep 15, 2021 · 1 comment
Closed
8 of 13 tasks

[Meta] Composify the tabs tray #21318

jonalmeida opened this issue Sep 15, 2021 · 1 comment
Labels
compose Tickets involving Composable changes eng:health Improve code health Feature:InactiveTabs Tabs in the tabs tray that have not been used in some time. Feature:SearchTermTabs Tabs in the tabs tray that have the same search term. Feature:SyncTabs Sync tabs Feature:Tabs

Comments

@jonalmeida
Copy link
Contributor

jonalmeida commented Sep 15, 2021

To avoid breaking everything at once, we can incrementally introduce Compose into our tabs tray by following this order of converting the code:

  1. Make TabsFeature return a list of TabSessionState instead a different mapped data class android-components#11012
    • Update TabsFeature to pass in TabSessionState instead of tabstray's Tab.
  2. Move Tabs Tray to compose: Individual tab viewholders: ListViewHolder. #21894
    • Individual tab viewholders: GridViewHolder, ListViewHolder.
  3. Move Tabs Tray to compose: Gesture support #21896
    • Gesture support - how to support swiping to delete by horizontal and vertical directions, see TabsTouchHelper
  4. Move Tabs Tray to compose: Inactive tab list - see InactiveTabsAdapter and it's viewholders. #21897
    • Inactive tab list - see InactiveTabsAdapter and it's viewholders.
  5. Move Tabs Tray to compose: Group lists  #21898
    • Group lists - this is where gesture support can help us too with vertical swiping.
  6. Move Tabs Tray to compose: Browser lists  #21899
    • Browser lists - see NormalBrowserTrayList, PrivateBrowserTrayList, AbstractBrowserTrayList.
  7. Move Tabs Tray to compose: Synced Tabs list  #21900
    • Synced Tabs list - SyncedTabsTrayLayout, SyncedTabsAdapter
    • We can do this async; doesn't have to wait for the normal/private tab list.
  8. Move Tabs Tray to compose: Normal/Private page list  #21901
    • Normal/Private page list - NormalBrowserPageViewHolder, PrivateBrowserPageViewHolder, SyncedTabsPageViewHolder
  9. Move Tabs Tray to compose: Individual tab viewholders: GridViewHolder #25891
  10. Move Tabs Tray to compose: TabsTrayFragment to use ModalBottomSheetLayout #26131
  11. ⚠️ Profile tabs tray performance before/after a full Compose re-write OR during each incremental step.
  12. [UITests] Track ignored tests from when migrating tabs tray to compose #26087
  13. Move Tabs Tray to Compose: Tab Reordering #26476

(file individual tickets and link them here)

┆Issue is synchronized with this Jira Task

@jonalmeida jonalmeida added eng:health Improve code health Feature:Tabs Feature:SyncTabs Sync tabs Feature:InactiveTabs Tabs in the tabs tray that have not been used in some time. compose Tickets involving Composable changes Feature:SearchTermTabs Tabs in the tabs tray that have the same search term. labels Sep 15, 2021
@github-actions github-actions bot added the needs:triage Issue needs triage label Sep 15, 2021
@jonalmeida jonalmeida removed the needs:triage Issue needs triage label Sep 15, 2021
@jonalmeida
Copy link
Contributor Author

Moved to bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1810775

Change performed by the Move to Bugzilla add-on.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
compose Tickets involving Composable changes eng:health Improve code health Feature:InactiveTabs Tabs in the tabs tray that have not been used in some time. Feature:SearchTermTabs Tabs in the tabs tray that have the same search term. Feature:SyncTabs Sync tabs Feature:Tabs
Projects
None yet
Development

No branches or pull requests

1 participant