Commit Graph

27 Commits (382ca721c4788c348da1bc4c24f702a26fdbe707)

Author SHA1 Message Date
t-p-white ca7896ad4b Bug 1874861 - Removed redundant LongParameterList suppression's 5 months ago
Ryan VanderMeulen 71c3287f1c Bug 1862658 - Fix OutdatedDocumentation errors
Behavior change from https://github.com/detekt/detekt/pull/6372.
8 months ago
David Bar-On 6fa2539b61 Fix for Bug 1812875 - Do not allow closing tab during tabs selection 9 months ago
Gabriel Luong 978871c859 Bug 1848527 - Part 1: Enable OutdatedDocumentation detekt rule in Fenix 9 months ago
Matthew Tighe 55aa05e843 Bug 1721904 - update thumbnail caching on app open 10 months ago
Noah Bond 99bd7f92b1 Bug 1833757 - Merge `onTabMultiSelectClick` and `onTabClick` lambdas 1 year ago
Noah Bond 05ae128d81 Bug 1822878 - Refactor `SelectionHolder` out of `TabsTrayController` 1 year ago
Jonathan Almeida 75f31d534e [fenix] Bug 1815306 - Truncate tabs tray title to mitigate scroll performance
We truncate the URL as well if we use that, but unlike the url TextView,
we do not need to shorten it first.

Co-authored-by: Matt Tighe <mtighe@mozilla.com>
Co-authored-by: Noah Bond <nbond@mozilla.com>
1 year ago
Noah Bond 6ed5a569c8 [fenix] For https://github.com/mozilla-mobile/fenix/issues/28266 - Merge `BrowserTrayInteractor` into `TabsTrayInteractor` 1 year ago
Noah Bond 5a507fbb92 [fenix] For https://github.com/mozilla-mobile/fenix/issues/28261 - Rename solo `xInteractor` parameters in the Tabs Tray to `interactor` 1 year ago
Alexandru2909 6f8dbbcc3c [fenix] For https://github.com/mozilla-mobile/fenix/issues/22770 - Use String.toShortUrl from A-C 2 years ago
Jonathan Almeida 2cd60894c7 [fenix] Bug 1795105: Remove usages of ContentState.thumbnail 2 years ago
DreVla c9eedb7965 [fenix] For https://github.com/mozilla-mobile/fenix/issues/10344 - Enable tab reordering in beta/release 2 years ago
sarah541 3a5ee72817 [fenix] Truncate urls to prevent slowing down of UI 2 years ago
mcarare 932823c871 [fenix] For https://github.com/mozilla-mobile/fenix/issues/26844: Fix ktlint issues and remove them from baseline. 2 years ago
Noah Bond 4f3fe06977 [fenix] For https://github.com/mozilla-mobile/fenix/issues/21898 - Remove search term tab groups from the Tabs Tray 2 years ago
Arturo Mejia c80ac7102a [fenix] For https://github.com/mozilla-mobile/fenix/issues/21894: Move Tabs Tray to compose: Individual tab viewholders: ListViewHolder. 2 years ago
Alexandru2909 1486f490bd [fenix] For https://github.com/mozilla-mobile/fenix/issues/24599 - Remove Event.wrapper for Tab telemetry 2 years ago
Alexandru2909 1c34e0d4ef [fenix] For https://github.com/mozilla-mobile/fenix/issues/24099 - Remove Event.wrapper for Collections telemetry 2 years ago
Alexandru2909 9f6664cb3a [fenix] For https://github.com/mozilla-mobile/fenix/issues/14954 - Use TabSessionState.id to check if tab is selected 2 years ago
Jonathan Almeida 4d889b852a [fenix] Issue https://github.com/mozilla-mobile/fenix/issues/22757: Check the parent cast to AbstractBrowserTrayList first
We re-use the same ViewHolders in search term groups, so when we need to
cast to a AbstractBrowserTrayList for tab reordering, we need to check
our parent correctly first.
3 years ago
Christian Sadilek f32aab496e [fenix] Support tab movement/reordering (https://github.com/mozilla-mobile/fenix/pull/22751)
* Adds basic support for tab reordering via drag-and-drop selected tabs

* ktlint/detekt formatting

* Use defaultTabsFilter (now not private) instead of getter

* Convert from position+filter API to target+placeAfter
Unfortunately I still need the filter passed around a bit

* Handle inactive tabs' holder being children of the RecyclerView of the normal tabs
Don't go through LayoutManager needlessly

* Non-working use tabID the whole way. Does not compile.

* Fix to do direct tab ID and use grid setting directly

* Remove non-null assertion. Now fully works for "other" tabs.

* Prevent grouped tabs from being dragged

* Remove unused import

* Add/fix comments

* Do API version check and use deprecated startDrag if too old.

* Build process fails: both outdated and too new, so reverting to just too new

* Use deprecated function and suppress warning

* fix space

* Suppress "TooManyFunctions" on DefaultTabsTrayController

* Repeatedly update tab movement during drag

* Remove multi-tab movement, only allow dragging if tab groups disabled, fix tab positioning during movement
I'm forced to suppress LongParameterList to get the settings information where it needs to go though

* Remove settings argument and corresponding long args suppression: instead get settings from parent AbstractBrowserTrayList's context

* New UI: Select a tab and then, while holding down, start dragging

* Revert to using before/after boolean to accomodate delays
Move drag transparency to start of drag

* Use new BlankDragShadowBuilder and DraggableItemAnimator to handle tab movement

* Replace Pair<>s with data classes

* Only drag if exactly 1 tab selected, don't consume drag event if not used

* Auto-scroll tab tray while dragging near top/bottom edge

* Remove unexpected scrolling on tab bind (triggered when tab is selected)

* Fix broken scroll behavior during dragging

* Cleanup for ktlint/detekt

* Constantly set elevation during drag in case of update
Clean code at drag start

* Add custom drag start behavior

* Add drag distance constant, do all touch-drag behavior in OnTouchListener

* Disable parent vertical scrolling on drag start, fix detekt ComplexCondition

* Minor cleanup/comments

* Revert removal of scroll on bind, this was related to something different

* Correction to prepareForDrop to match documentation- doesn't seem to have any effect

* Simplify via unchecked typecast, use ViewCompat

* Use ViewConfiguration.scaledTouchSlop instead of arbitrary 30px

* Added tabReorderingFeature flag, split drag interactor to separate function to satisfy complexity requirement

Co-authored-by: Steven Knipe <ssk97@case.edu>
Co-authored-by: ssk97 <knipesteven@gmail.com>
Co-authored-by: Sebastian Kaspari <s.kaspari@gmail.com>
3 years ago
Gabriel Luong 999f0ab3c1 [fenix] For https://github.com/mozilla-mobile/fenix/issues/21776 - Replace 'isEmpty' with 'ifEmpty' 3 years ago
Jonathan Almeida a6d7128c7e [fenix] No issue: Replace TabsTray.Tab with TabSessionState
Co-authored-by: Arturo Mejia <arturomejiamarmol@gmail.com>
3 years ago
Mugurell 7b7a252ecf [fenix] For https://github.com/mozilla-mobile/fenix/issues/20507 - Inactive tabs telemetry
Two new events are added:
- "inactive_tabs_expanded" for when the inactive tabs section is expanded
- "inactive_tabs_collapsed" for when the inactive tabs section is collapsed

For tracking when an inactive tab is opened / closed I've repurposed the
existing tabs tray telemetry (since the functionality uses the same code)
- tabs_tray.opened_existing_tab
- tabs_tray.closed_existing_tab
to support an extra "source" key indicating the feature from which a tab was
opened or closed. The current values for this new key are:
- "Tabs tray" for when a tab was opened/closed from tabs tray
- "Inactive tabs" for when a tab was openes/closed from the Inactive tabs
section of the tabs tray.
3 years ago
codrut.topliceanu 4e917c5eac [fenix] For https://github.com/mozilla-mobile/fenix/issues/17917: Use View binding in tabs tray 3 years ago
Jonathan Almeida 9ace0c8551 [fenix] Issue https://github.com/mozilla-mobile/fenix/issues/19002: Correct browser viewholder naming 3 years ago