Items should follow the following ordering:
- current session open tabs
- collections options - currently the "Select tabs" button
- synced tabs items
This order should also be kept after returning from Multiselect mode.
* For #15761 - Part 1: Turn ON the showGridViewInTabsSettings feature flag
* For #15761 - Part 2: Remove the showGridViewInTabsSettings feature flag and show the Tab view preference category
To get the index of the current selected browser tab when using reverse layout
we should also account for items placed below of the browser tabs.
The patch here unifies the logic already used for some calls but not all.
STATE_HALF_EXPANDED cannot be disabled while also keeping fitToContents = true
based on which the tabs tray layout is currently set.
To work around this we'll set a a minuscule height for the tab tray when in
this state and then immediately advance to STATE_HIDDEN so to make it
imperceptible to the users.
Since I couldn't write unit tests because of InflateExceptions in Robolectric
I've written UI tests to protect against regressions.
Items should have a 16dp all around padding.
Have them have a 8dp padding that will add to 16 when placed together.
Have the parent have another 8dp that will add to 16 for when items are placed
to the edge of the available screen.
* Add github actions workflows
* Add github actions for CI
* Fix lint and detekt errors
* Add caching to the github actions
* Add the workflow statuses to the README
* Give the jobs more descriptive names
* Consolidate github actions workflows to a single workflow
* Give the steps meaningful names, save detekt and lint results
Following issues fixed in tabs tray:
* Place the tab indicator at the top for top tabs tray layout
* Disable reverse layout for compact tabs as it messes with the layout
* Make the new tab button visible in private mode in light theme
The third issue is a bug in upstream Fenix! They did not do sufficient
UI testing of the tabs tray!