Commit Graph

637 Commits (48ea10cd9d62ae924757a528656265f5805019f1)

Author SHA1 Message Date
Jeff Boek 2dd0a3cb9e
Implement tab tray design improvements and fix close functionality. 4 years ago
ValentinTimisica 591e2c9a6f Fixes #9696: Adds Add-ons menu item to the home menu 4 years ago
mcarare c4f7a32eae For #9583: Increase touch targets for onboarding elements. 4 years ago
Vishwa Patel 4da22c605a For #10834 - Adding Sync Tabs Feature in Fenix 4 years ago
Jeff Boek 8662164b8a
Refactors the TabTrayDialogFragment to ditch that weird interactor (#11061)
* For #11056 - Removes unused argument when navigating to the collection creation fragment

* For #11056 - Moved the collection creation navigation logic to the TabTrayDialogFragment

* For #11056 - Moves navigating to the share screen from home/browser to the TabTrayDialogFragment

* For #11056 - We moved tab selection logic from home/browser to the tab tray dialog

* For #11056 - Moved new tab tapped logic to the tab tray dialog fragment

* For #11056 - Removes all interactor logic for the TabTrayDialogFragment

* For #11056 - Migrates the presentation / navigation around the TabTrayDialog to the androidx navigation library
4 years ago
Jeff Boek 3946ec11de
Polish homescreen (#11065)
* For #10505 - Adjusts wordmark margins

* For #10505 - Removes topsite header, fixes collections header size and removes divider

* For #10505 - Restyle the top site items on the homescreen
4 years ago
ValentinTimisica 9f265fd62f Fixes #10064: Open help articles in normal tab instead of custom tab 4 years ago
David Walsh 267cf35edb For 11001 - Show close all tabs above tab tray 4 years ago
Sawyer Blatz 94d741864e For #9488: Add search widget CFR 4 years ago
David Walsh 4fdac4d608
For 10734 - Open tab tray when collection is opened from Home (#10751)
* For 10734 - Open tab tray when collection is opened from Home

* Update to work with tab tray drawer
4 years ago
David Walsh 248237290e
For #10865 - Implement 3 dot menu for tab tray (#10869) 4 years ago
David Walsh 5e4fd460f8 Remove onTabClosed from interactor 4 years ago
David Walsh 8b843ac9e5 Fix elevation for snackbar and fab 4 years ago
David Walsh e9bcc9bb1e Move snackbar to TabTrayDialogFragment 4 years ago
David Walsh f653964ee1 For #10864 - Display snack bar to undo closing tabs 4 years ago
Tiger Oakes 2397695fe5
For #10596 - Redirect moz://a URL (#10688) 4 years ago
Grisha Kruglov b26ac51e90 For #10494: Process HomeMenu builder changes on the main thread
Problem was that we were trying to process menu changes (in response to account manager events) on some background thread as that's what account manager emits them on, so some code internally in PopupWindow's dismiss handling (i think, didn't dig very deeply here) was silently giving up and we'd get into a bad state.

The reason this seemingly only happened if you quickly opened a menu on startup is because account manager isn't initialized until sometime after the startup finished. So the trick was to open the menu (and register account manager state callbacks) before it got initialized, so that the callbacks are invoked.

This should also reproduce in other, much more obscure ways, e.g. if you open the menu right before sync is scheduled to run in the background, change FxA password on another connected client, and then eventually receive a onAuthenticationProblem callback.
4 years ago
Sawyer Blatz 7067e5c000
For #8125: Add default top site telemetry (#10752) 4 years ago
Jeff Boek 601aedda46 For #10504 - Removes "old" TabTrayFragment 4 years ago
Jeff Boek a674c5dfe7 For #10504 - cleans up tabLayout colors 4 years ago
Jeff Boek 4e499e7a48 For #10504 - Adds tabTrayDialogInteractor to browserfragment 4 years ago
Jeff Boek 97d66cce56 For #10504 - Creates the TabTrayDialogFragment 4 years ago
ekager 516a6fe9f7 For #6832 - Only emit session changes if fragment is attached 4 years ago
Christian Sadilek 4e25f41a41 For #1824: Prevent extremely long URLs from locking up HomeFragment 4 years ago
codrut.topliceanu 7feae98944 For #9044 - Replace DownloadNotificationBottomSheetDialog with unobtrusive view
- Renamed DownloadNotification and removed DownloadState.dismissed dependency
- Improved DynamicDownloadDialog behaviour when scrolling
- DynamicDownloadDialog remains attached to tab until dismissed
- Fixed onTryAgain not working for resumed DownloadDialogs
4 years ago
Tiger Oakes f7b4f1c959
Cache findViewById calls in session control (#10575) 4 years ago
ValentinTimisica b2e5820364 For #10343: Remove 'Library' functionality from the app
Also adds Bookmarks and History items to browser menu.
4 years ago
Jeff Boek 58ca5d0e3a For #10341 - Always show collections placeholder with new tab tray enabled 4 years ago
Simon Chae a851b76ea3
Update Android Components version to 41.0.20200506130132 (#10443) 4 years ago
Mihai Branescu 6f97e75579 For #8643 and #7606 - illustrations are now connected to their radio buttons 4 years ago
Mihai Branescu cde31cf785 For #8643 and #7606 - Changed toolbar picker illustrations according to theme 4 years ago
Mihai Branescu 16b7a9399b For #8643 and #7606 - Changed theme picker illustrations according to theme 4 years ago
Mihai Branescu 4c0af91b7b For #8643 and #7606 - Changed tint for onboarding icons 4 years ago
Jeff Boek a8a90bd4d6
For #1063: Put tab tray behind a feature flag and hidden pref (#10313)
* For #1063 - Adds feature flag and pref for new tab tray

* For #1063 - Swaps add tab to tab tray button when newTabTray is enabled

* For #1063 - Creates hidden preference to use new tab tray

* For #1063 - Hides tabs on home screen when setting is enabled

* For #1063 - Navigate to new tab tray from browser with setting enabled

* For #1063 - Fixes regression where we dont show the new tab message with no tabs and no collections

* For #1063 - Fixes crash when toggling to private mode on the home screen

* For #1063 - combines both settings. Cleans up lint errors
4 years ago
ekager 2e27bbd15d No issue - Remove unused data class TopSiteItem 4 years ago
mcarare 1aa473b112 For #9913, For #9914: Remove touch delegate when button is disabled. 4 years ago
mcarare e830da59b7 For #10180: Remove touch delegate when button is disabled.
Also refactored multiple if's into a when.
4 years ago
mcarare 2edd4b39a4 For #9913, For #9914: Remove button when disabling it.
Setting visibility to GONE allows clicks to parent view in that space.
4 years ago
mcarare cc67de29bf For #10091 Also disable play/pause button when hiding it. 4 years ago
ValentinTimisica da3fca0f29 Fixes #10109: Adds content description for browse privately card content 4 years ago
ekager c4e83367f6 For #6832 - Fix various fragment not attached to a context crashes 4 years ago
Sawyer Blatz dce16964c0
For #9208: Adds in-product prompt to homescreen (#9836) 4 years ago
ekager 66d9a24b28 Closes #9928 - Updates private browsing text description 4 years ago
ekager 5d51c4f059 Don't use ProcessLifecycleOwner for view-tied consume 4 years ago
ekager 5014cd78ec No issue: Fix leaking sessionControlInteractor 4 years ago
ekager 6f77ec5951 Use HomeFragment viewLifecycleOwner for BrowserSessionsObserver 4 years ago
Grisha Kruglov 0ec6d266e8 Use HomeFragment's viewLifecycleOwner as the lifecycle for accountManager observer registry
If we just use the HomeFragment itself, we end up with a memory leak since the lifecycle events
that would clean up the registry (e.g. destroy) won't run (if the fragment is retained in the backstack, for example).
4 years ago
Sawyer Blatz 8185ba793e
For #9857: Create button style (#9858)
* For #9857: Creates text button style

* Adds lint check

* Fixes onboarding cards
4 years ago
ekager 5b1cdbd8bf For #3194 - Pause media while undo snackbar appears 4 years ago
Jeff Boek 4cbb9aebaf
Cleans up nav_graph.xml (#9829)
* For #9751 - Cleans up homeFragment directions

* For #9751 - Uses global actions for fragments not owned by homeFragment

* For #9751 - Cleans up SearchFragment directions

* For #9751 - Removes settings action from DeleteBrowsingDataFragment

* For #9751 - Removes browser action from SettingsFragment

* For #9751 - Adds ManagePhoneFeature global action

* For #9751 - Clean up unused deletebrowsingfragment actions

* For #9751 - Cleans Up HistoryFragment actions

* For #9751 - Removes Home -> Search action

* For #9751 - Removes the Bookmark -> Browser action

* For #9751 - Cleans up bookmark fragment actions

* For #9751 - Cleans up actions from ShareController

* For #9751 - Removes defaultBrowserFragment to browserFragment action

* For #9751 - Removes about -> browser action

* For #9751 - Adds global action to TrackingProtectionFragment

* For #9751 - Removes exception -> browser action

* For #9751 - Removes login -> browser action

* For #9751 - Fixes LoginFragment directions

* For #9751 - Removes ExternalAppBrowser directions

* for #9751 - Cleans up actions

* For #9751 - Fixes unit tests

* For #9751 - Addresses nits in PR
4 years ago
ekager b8fba63be4 For #9890 - Do not display full screen snackbar with toolbar padding 4 years ago
mcarare 177baf58a8 For #9798: Disable buttons on hiding and enable on showing.
This is triggered on collection expanding or shrinking that is animated.
The animation has android:fillEnabled="true" android:fillAfter="true".
This interferes with set visibility to gone and the click still triggers.
Disabling button avoids changing animation or force clearing it.
4 years ago
Mihai Adrian dfded8e69c
For #9687: Refactor onboarding cards to follow app architecture (#9743)
* For #9687: Refactor onboarding cards to follow app architecture

* For #9687: Update unit test to new controller parameters
4 years ago
Sawyer Blatz e3ed7ed268
Issue #9128 & #9222 & #9499: Refactors snackbar creation and fixes placement (#9628) 4 years ago
ekager 96c6401457 For #8125 - Send top sites count with metrics ping 4 years ago
mcarare 8c398c86ef For #9365: Partially reverse menu items order when using top toolbar 4 years ago
mcarare b119700820 For #9365: Update naming to reflect history item 4 years ago
codrut.topliceanu 3d1d146c94 For #9549 - Scrolling to top sites now includes header. 4 years ago
Mihai Branescu 24596fd3cd For #9109 - remove the sync error highlight from three-dot menu 4 years ago
Grisha Kruglov 54b7fd8834 Make sure reconnect item is displayed in HomeMenu in case of account problems
AccountObserver listeners were being triggered correctly, however, during every time
we open HomeFragment, home menu gets re-created, which causes us to re-run the initialization
block. Before this patch, the init block would never touch the account manager.
After this patch, it will query it if account manager has already been initialized.
4 years ago
Grisha Kruglov 60943df6d9 Closes #9561: Fix initialization order in HomeMenu
`init` blocks are executed before `val` initialization which is declared afterwards
in the class. In this case, we had `quitItem` and `reconnectToSyncItem` as lazy,
but declared after the `init` block which may need them. And so, while this compiles
just fine, in practice we run into an NPE as the `init` block tries to get the lazy's value.

Simply re-ordering initialization fixes the problem.
4 years ago
Grisha Kruglov 057e28d4e4 Part 5: Refactor HomeMenu<->HomeFragment interaction
This refactor "reverses" relationship between these two classes, allowing
HomeMenu to inform its parent, HomeFragment, of any changes to the menu.

Once that's in place, we start observing account manager changes (once its ready)
for account problems.

This solves two problems:
- initialization of the account manager is no longer necessary to build a home menu
- home menu now starts observing changes to the account manager's state (before it was static)
4 years ago
Grisha Kruglov 029fae4559 Part 4: Make sure 'sync is on' snackbar does not initialize account manager 4 years ago
Grisha Kruglov eb98df4edd Part 3: Mark accountManager as 'lazy' in Mode.kt
This is enough to cause it to be initialized only if we're going through onboarding.
4 years ago
Sawyer Blatz 4ac29530cd
Issue #9132: Update to search animation for top toolbar (#9524)
* let animation in top toolbar mode play nicely.

* remove duplicate methods, make code readable.

* migrate getToolbarNavOptions method to BrowserAnimator, one method to rule them all.

* Update linting

Co-authored-by: ahmedmamdouh13 <ahmedmamdouh13196@gmail.com>
4 years ago
David Walsh d989616f62 Add top sites heading to home screen 4 years ago
mcarare f52fa44207 For #9498: Replace navargs with viewModel to remember if scroll to tab 4 years ago
mcarare ab78951146 For #9496: Vertically align collection name and icons to collection icon 4 years ago
Sebastian Kaspari 02aabea14a Update to new feature-media API. 4 years ago
mcarare 18533d3434 For #8764: Use list component for items in collections 4 years ago
mcarare 62bbbd9e37 For #8764: Update collection design, including list elements 4 years ago
mcarare e8ad2389ac For #7356: Scroll to selected tab when pressing tab overview 4 years ago
Sebastian Kaspari 0f0d56e60a Issue #5208: Use new tab/collection restore API. 4 years ago
Mihai Branescu 494db56ea5 For #9207 - changed status bar color in home fragment to match gradient background 4 years ago
Mihai Branescu ab04155222 For #8653 - changed menu strings 4 years ago
mcarare 756b1fbadd For #9140: Remove drawable from title in empty state panes 4 years ago
Jonathan Almeida ffd4cdd970 For #7661: Add variant-specific schemas for deep links
In order to target specific variants of Fenix, we're adding schemas that
are specific that app in order to avoid collisions with the other
variants and with other forks of fenix that may have the same schemas.

The current schema for variants:
 - Fenix Nightly: `fenix-nightly://`
 - Fenix Beta: `fenix-beta://`
 - Everything else: `fenix://`
4 years ago
codrut.topliceanu 030bd38631 For #8561 - Scroll to topSites on app cold start 4 years ago
Jeff Boek c862ca93ba No issue - Fixes shadow on top layout 4 years ago
Jeff Boek 74ce62b5c3 For #8949 - Removes old motionlayout code, fixes how shadow is drawn 4 years ago
David Walsh fc67747409 Show the collections header when there are no collections 4 years ago
Arturo Mejia ce4293c8c8 For issue #8908 Notify users when previously unsupported add-ons
become available
4 years ago
mcarare 320fc4e4ae For #8788 Use Flexbox instead of Grid manager for top sites 4 years ago
Sawyer Blatz 28f58eb025
For #7158: Improves home to search animation (#9008) 4 years ago
Sebastian 7b170c4428 Update IntentProcessor implementation to comply with new interface. 4 years ago
mcarare f9e85e78af For #6607 Update button theming in no tab pane 4 years ago
mcarare cfe4f11864 For #6607 Update button theming in no tab pane 4 years ago
Harshal Lele e318cd7d15 fix #8135 - remove getColorFromAttr 4 years ago
Michael Comella db57e123b9 For #8797: Do not allow nested scrolling on top sites. 4 years ago
mcarare 2bb2061931 For #8766: Show collections only when tabs are open or collection exists 4 years ago
Sawyer Blatz e96732604b For #167: Improves home to browser animation 4 years ago
Michael Comella 9ed43b60b6 For #7781: instrument visual completeness for top sites.
Eyeballing my output in *Debug builds on my P2, this adds approximately 115ms
or slightly less from first frame drawn to visually complete time.
4 years ago
mcarare df80a5240b For #6607 Add button to no tab content pane 4 years ago
David Walsh 5b7a800f98 Make 'Redirect to Sync' home menu item go directly to the 'Reconnect to Sync' / error screen 4 years ago
David Walsh b525f2382a
For #7504 - Update sync error display in menus (#8639) 4 years ago
Mihai Adrian 9612c3f16d
For #8540: Fix ETP options not being correctly applied (#8688) 4 years ago
mcarare 314bee2abd For #8627: Add proper content description to ETP card clickable areas 4 years ago
ekager 7f34204188 For #5843 - Ensure tabs pending deletion are removed 4 years ago
mcarare cc47bc4e1e For #8655: Show top site context menu below top site title 4 years ago
Jeff Boek 541bcf072a Reverts all BrowsingModeManager changes 4 years ago
mcarare a5ac7304bb For #8523: Also disable radio buttons clickable area when ETP is off 4 years ago
Sebastian Kaspari d7e1259e7b
Use Mozilla Android Components 34.0.0-SNAPSHOT. (#8527) 4 years ago
ekager b72550c28a For #8126 - Adds default top sites 4 years ago
Severin Rudie 1be812eba0 For #8408: fix requireContext crash in HomeFragment#onViewCreated 4 years ago
mcarare 372b1e7f0e For #6980: Update Private browsing card.
Added test to description.
Added link to settings.
Updated unit tests.
4 years ago
Simon Chae 2c01022c4b For #8153: Allow web-ext to open new tabs in correct browsing mode 4 years ago
mcarare 5e4ef202b8 For #8262: Set toolbar position relative anchor for collection snackbars 4 years ago
mcarare 1168fbd638 For #8299: Select current ETP policy set on card creation 4 years ago
Jeff Boek f9b05e7d5a
For #8212 - Fixes shadow/border when toolbar is on top (#8234) 4 years ago
mcarare 3ea5b08135 For #8190: Add animation to ETP policy selection 4 years ago
mcarare 5bd5f81559 For #6980: Add onboarding Toolbar position picker card 4 years ago
Tiger Oakes 5faa22d611
Use createBlendModeColorFilterCompat (#8129) 4 years ago
mcarare 9d993cae92 For #8146: Extend radio buttons clickable area to title and description 4 years ago
Mohammaduvez 00d7f4c91c
Fixes #5711 Added tint to onboarding icons (#8093)
* Added tint to onboarding icons and udpated finish button tint

* Replaced tint parameter with onboarding_card_icon color in setOnboardingIcon
4 years ago
Marc Leclair 8e61c71a98 reverting linting changes that touched codes that I didn't edit 4 years ago
Marc Leclair afab1c0f4e #8085 removed findViewById with actual id 4 years ago
Marc Leclair 9fc5a1b0fe #7700 fixed linting issues 4 years ago
Marc Leclair 92b38206c7 #7700 fixed scrolling, parallax action to match both images and some code clean up 4 years ago
Marc Leclair 72007590f7 #7700 squash commit and fixing toolbar to switxh to top with coordinatorlayout 4 years ago
Grisha Kruglov 3f9ed2992c Bump to a-s 0.50.0 4 years ago
Mihai Adrian 4eb71ce235
For #6980: Update ETP onboarding card (#7958) 4 years ago
David Walsh 4e6215c0c1 Fix linting issue 4 years ago
Sawyer Blatz 9f342fca9e For #6820: Updates background, shadow, & snackbars of toolbar 4 years ago
David Walsh 4b3effdfab For #6820: Place address bar at top or bottom of the home screen based on user preference 4 years ago
ValentinTimisica 0a76fdaa58 For #7289: Adds telemetry for selecting dark theme 4 years ago
Mihai Adrian 24396d174f
For #6980: Add What's new card (#7952) 4 years ago
Sören Hentzschel 8a7c7fd06f For #7730 - always show "Add private browsing shortcut" in sett… (#7943) 4 years ago
Gabriel Luong f93e141d52 For #7525 - Add telemetry for opening a top site in normal and private mode and removing a top site 4 years ago
Gabriel Luong 192eecdf5b For #6758 - Part 7: Add menu for opening a top site in private tab and removing a top site 4 years ago
Gabriel Luong 9ecb67e783 For #6758 - Part 6: Add top site view 4 years ago
Gabriel Luong f68f89f2bf For #6758 - Part 5: Add top sites to the HomeFragmentStore 4 years ago
Chenxia Liu e5164e3670 For #6980 - Pre-land string changes to onboarding cards. 4 years ago
Mihai Carare cd853d0d8f For #7029: Navigate to Search Fragment when pressing Start browsing 4 years ago
Severin Rudie 2dc5b397b6
For #7506: show highlight on home 3-dot button (#7665) 4 years ago
Sebastian Kaspari af3726a505 Fennec home screen bookmarks: Select new tab. 4 years ago
Michael Comella a1cbbba4ea For #7423: remove unnecessary wordmark_spacer view.
Co-authored-by: Emma Malysz <emalysz@mozilla.com>
4 years ago
Sawyer Blatz 509fa112d0 For #6308: Remove unecessary telemetry & bump expiry date (#7793)
* For #6308: Remove unecessary telemetry

* For #6308: Bump expiry date on telemetry
4 years ago
liuche 904098387a
Issue #7093 - Pre-land strings for new onboarding cards. (#7747) 4 years ago
Sebastian Kaspari 3a1292911d Update list of tabs after onboarding screen was dismissed. 4 years ago
ValentinTimisica 981d19de13 For #6556: Adds Telemetry counts for Search Access Points
Added two new sources to be counted ('widget' and 'shortcut') besides 'action' and
'suggestion'. Also modified/fixed some tests.
4 years ago
Sebastian Kaspari 6419d0cf13 Open "migration FAQ" when selecting "What's new" in a Fennec build. 4 years ago
Severin Rudie 569b7670d3 For 6832: update implementation/comment to align w existing AC code 4 years ago
Severin Rudie 65f5ff6b36 For #6832: fix unattached context crash in HomeFragment 4 years ago
Mugurell 8454f208af For #4977: Migrate fennec shortcuts (#7251)
* For #4977 - Support opening Fennec pinned website shortcuts in Fenix

Fennec's pinned website shortcuts are set to open the BrowserApp activity.
So we need a new activity alias to actually catch such Intents. Otherwise they
would open "org.mozilla.firefox/.App" without any way to inform that this is
the result of the user clicking on a pinned shortcut.
For actually checking if the newly received Intent is of a Fennec pinned
shortcut we introduce a new FennecBookmarkShortcutsIntentProcessor which will
prepare the Intent to open the shortcut's URL in a new tab.

* For #4977 - Don't keep IntentReceiverActivity on the back stack

For successive Fennec pinned shortcuts to create a new IntentReceiverActivity
and be processed as normal we need to not keep this as our task root.

* For #4977 - Test the FennecBookmarkShortcutsIntentProcessor
4 years ago
Tiger Oakes 75b87334fa
Change type for OnboardingAutomaticSignIn (#7474) 4 years ago
Sawyer Blatz c7c4ad051a
For #6413: Adds more snackbar positioning logic (#7444)
* For #6413: Adds more snackbar positioning logic

* Refactor
4 years ago
Sawyer Blatz 9a693f6c11
For #7000: Fix inverted media telemetry (#7368) 4 years ago
Josh a40af5b134 Closes #7254 - Replace Anko applyConstraintSet (#7286)
* For #7254: Replace anko applyConstraintSet

* Anko has been deprecated and will not be continued

* Refactor ConstraintSet changes

* Replace applyConstraintSet in SearchLayouts

* Refactor HomeFragment ConstraintSet

* Define anonymous ConstraintSet
* Remove ConstraintSet prefix from PARENT_ID
5 years ago
Josh Vocal 43354489a1 For #7253 - Replace anko setters 5 years ago
Tiger Oakes 7c9a5c1f14
For #768 - Add PWA install option to menu (#6882) 5 years ago