1
0
Fork 0
Commit Graph

608 Commits (69a9aeebae193107ba122bf60e5b60386666d85b)

Author SHA1 Message Date
Mihai Branescu 6f97e75579 For #8643 and #7606 - illustrations are now connected to their radio buttons 2020-05-06 09:18:27 +03:00
Mihai Branescu cde31cf785 For #8643 and #7606 - Changed toolbar picker illustrations according to theme 2020-05-06 09:18:27 +03:00
Mihai Branescu 16b7a9399b For #8643 and #7606 - Changed theme picker illustrations according to theme 2020-05-06 09:18:27 +03:00
Mihai Branescu 4c0af91b7b For #8643 and #7606 - Changed tint for onboarding icons 2020-05-06 09:18:27 +03:00
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
2020-04-30 15:53:10 -05:00
ekager 2e27bbd15d No issue - Remove unused data class TopSiteItem 2020-04-29 18:06:02 -07:00
mcarare 1aa473b112 For #9913, For #9914: Remove touch delegate when button is disabled. 2020-04-27 11:57:51 -07:00
mcarare e830da59b7 For #10180: Remove touch delegate when button is disabled.
Also refactored multiple if's into a when.
2020-04-24 13:28:29 -07:00
mcarare 2edd4b39a4 For #9913, For #9914: Remove button when disabling it.
Setting visibility to GONE allows clicks to parent view in that space.
2020-04-24 16:42:47 +03:00
mcarare cc67de29bf For #10091 Also disable play/pause button when hiding it. 2020-04-23 09:22:01 -07:00
ValentinTimisica da3fca0f29 Fixes #10109: Adds content description for browse privately card content 2020-04-23 16:59:42 +03:00
ekager c4e83367f6 For #6832 - Fix various fragment not attached to a context crashes 2020-04-22 20:56:35 -07:00
Sawyer Blatz dce16964c0
For #9208: Adds in-product prompt to homescreen (#9836) 2020-04-22 14:29:43 -07:00
ekager 66d9a24b28 Closes #9928 - Updates private browsing text description 2020-04-21 09:00:06 +03:00
ekager 5d51c4f059 Don't use ProcessLifecycleOwner for view-tied consume 2020-04-20 12:07:37 -07:00
ekager 5014cd78ec No issue: Fix leaking sessionControlInteractor 2020-04-20 12:07:37 -07:00
ekager 6f77ec5951 Use HomeFragment viewLifecycleOwner for BrowserSessionsObserver 2020-04-16 21:00:27 -07:00
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).
2020-04-16 21:00:27 -07:00
Sawyer Blatz 8185ba793e
For #9857: Create button style (#9858)
* For #9857: Creates text button style

* Adds lint check

* Fixes onboarding cards
2020-04-15 15:49:02 -07:00
ekager 5b1cdbd8bf For #3194 - Pause media while undo snackbar appears 2020-04-14 09:55:39 +03:00
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
2020-04-13 21:43:45 -07:00
ekager b8fba63be4 For #9890 - Do not display full screen snackbar with toolbar padding 2020-04-13 14:56:51 -07:00
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.
2020-04-09 16:06:11 -07:00
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
2020-04-06 11:00:47 -07:00
Sawyer Blatz e3ed7ed268
Issue #9128 & #9222 & #9499: Refactors snackbar creation and fixes placement (#9628) 2020-04-02 12:30:13 -07:00
ekager 96c6401457 For #8125 - Send top sites count with metrics ping 2020-04-01 15:27:39 -07:00
mcarare 8c398c86ef For #9365: Partially reverse menu items order when using top toolbar 2020-04-01 15:21:22 -07:00
mcarare b119700820 For #9365: Update naming to reflect history item 2020-04-01 15:21:22 -07:00
codrut.topliceanu 3d1d146c94 For #9549 - Scrolling to top sites now includes header. 2020-04-01 10:28:04 -07:00
Mihai Branescu 24596fd3cd For #9109 - remove the sync error highlight from three-dot menu 2020-04-01 10:42:00 +03:00
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.
2020-03-31 16:07:35 -07:00
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.
2020-03-31 16:07:35 -07:00
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)
2020-03-30 21:43:38 -07:00
Grisha Kruglov 029fae4559 Part 4: Make sure 'sync is on' snackbar does not initialize account manager 2020-03-30 21:43:38 -07:00
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.
2020-03-30 21:43:38 -07:00
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>
2020-03-30 12:07:00 -07:00
David Walsh d989616f62 Add top sites heading to home screen 2020-03-30 10:29:40 -07:00
mcarare f52fa44207 For #9498: Replace navargs with viewModel to remember if scroll to tab 2020-03-30 09:56:51 -07:00
mcarare ab78951146 For #9496: Vertically align collection name and icons to collection icon 2020-03-30 08:30:06 -07:00
Sebastian Kaspari 02aabea14a Update to new feature-media API. 2020-03-29 23:13:13 -07:00
mcarare 18533d3434 For #8764: Use list component for items in collections 2020-03-27 22:14:59 -07:00
mcarare 62bbbd9e37 For #8764: Update collection design, including list elements 2020-03-27 22:14:59 -07:00
mcarare e8ad2389ac For #7356: Scroll to selected tab when pressing tab overview 2020-03-27 14:13:26 -07:00
Sebastian Kaspari 0f0d56e60a Issue #5208: Use new tab/collection restore API. 2020-03-26 10:55:12 -07:00
Mihai Branescu 494db56ea5 For #9207 - changed status bar color in home fragment to match gradient background 2020-03-24 23:44:46 +02:00
Mihai Branescu ab04155222 For #8653 - changed menu strings 2020-03-22 00:03:26 +02:00
mcarare 756b1fbadd For #9140: Remove drawable from title in empty state panes 2020-03-19 14:32:40 +02:00
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://`
2020-03-17 17:21:09 -04:00
codrut.topliceanu 030bd38631 For #8561 - Scroll to topSites on app cold start 2020-03-12 10:54:58 -07:00
Jeff Boek c862ca93ba No issue - Fixes shadow on top layout 2020-03-11 22:59:42 -07:00
Jeff Boek 74ce62b5c3 For #8949 - Removes old motionlayout code, fixes how shadow is drawn 2020-03-11 17:10:40 -07:00
David Walsh fc67747409 Show the collections header when there are no collections 2020-03-11 16:26:39 -07:00
Arturo Mejia ce4293c8c8 For issue #8908 Notify users when previously unsupported add-ons
become available
2020-03-11 11:24:01 -04:00
mcarare 320fc4e4ae For #8788 Use Flexbox instead of Grid manager for top sites 2020-03-09 11:01:14 -07:00
Sawyer Blatz 28f58eb025
For #7158: Improves home to search animation (#9008) 2020-03-05 13:54:54 -08:00
Sebastian 7b170c4428 Update IntentProcessor implementation to comply with new interface. 2020-03-04 09:40:00 -08:00
mcarare f9e85e78af For #6607 Update button theming in no tab pane 2020-03-03 12:51:58 -08:00
mcarare cfe4f11864 For #6607 Update button theming in no tab pane 2020-03-03 12:51:58 -08:00
Harshal Lele e318cd7d15 fix #8135 - remove getColorFromAttr 2020-03-02 15:48:33 -07:00
Michael Comella db57e123b9 For #8797: Do not allow nested scrolling on top sites. 2020-03-02 15:24:43 -07:00
mcarare 2bb2061931 For #8766: Show collections only when tabs are open or collection exists 2020-03-02 14:27:04 -07:00
Sawyer Blatz e96732604b For #167: Improves home to browser animation 2020-02-28 18:04:14 -07:00
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.
2020-02-28 13:37:06 -08:00
mcarare df80a5240b For #6607 Add button to no tab content pane 2020-02-28 13:21:22 -08:00
David Walsh 5b7a800f98 Make 'Redirect to Sync' home menu item go directly to the 'Reconnect to Sync' / error screen 2020-02-28 13:19:06 -08:00
David Walsh b525f2382a
For #7504 - Update sync error display in menus (#8639) 2020-02-27 12:54:14 -08:00
Mihai Adrian 9612c3f16d
For #8540: Fix ETP options not being correctly applied (#8688) 2020-02-26 12:25:40 -08:00
mcarare 314bee2abd For #8627: Add proper content description to ETP card clickable areas 2020-02-26 08:31:51 -08:00
ekager 7f34204188 For #5843 - Ensure tabs pending deletion are removed 2020-02-25 16:53:52 -08:00
mcarare cc47bc4e1e For #8655: Show top site context menu below top site title 2020-02-25 10:30:15 -08:00
Jeff Boek 541bcf072a Reverts all BrowsingModeManager changes 2020-02-24 00:24:07 -08:00
mcarare a5ac7304bb For #8523: Also disable radio buttons clickable area when ETP is off 2020-02-19 10:48:01 -08:00
Sebastian Kaspari d7e1259e7b
Use Mozilla Android Components 34.0.0-SNAPSHOT. (#8527) 2020-02-19 16:59:34 +02:00
ekager b72550c28a For #8126 - Adds default top sites 2020-02-14 14:39:58 -08:00
Severin Rudie 1be812eba0 For #8408: fix requireContext crash in HomeFragment#onViewCreated 2020-02-13 20:15:54 -08:00
mcarare 372b1e7f0e For #6980: Update Private browsing card.
Added test to description.
Added link to settings.
Updated unit tests.
2020-02-13 14:13:57 -08:00
Simon Chae 2c01022c4b For #8153: Allow web-ext to open new tabs in correct browsing mode 2020-02-12 13:41:16 -08:00
mcarare 5e4ef202b8 For #8262: Set toolbar position relative anchor for collection snackbars 2020-02-12 07:56:17 -08:00
mcarare 1168fbd638 For #8299: Select current ETP policy set on card creation 2020-02-11 17:54:09 -08:00
Jeff Boek f9b05e7d5a
For #8212 - Fixes shadow/border when toolbar is on top (#8234) 2020-02-10 12:32:26 -06:00
mcarare 3ea5b08135 For #8190: Add animation to ETP policy selection 2020-02-07 15:50:39 -08:00
mcarare 5bd5f81559 For #6980: Add onboarding Toolbar position picker card 2020-02-07 09:05:03 -08:00
Tiger Oakes 5faa22d611
Use createBlendModeColorFilterCompat (#8129) 2020-02-06 11:18:08 -08:00
mcarare 9d993cae92 For #8146: Extend radio buttons clickable area to title and description 2020-02-06 16:34:37 +01:00
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
2020-02-05 21:46:12 -08:00
Marc Leclair 8e61c71a98 reverting linting changes that touched codes that I didn't edit 2020-02-05 16:40:41 -08:00
Marc Leclair afab1c0f4e #8085 removed findViewById with actual id 2020-02-05 16:40:41 -08:00
Marc Leclair 9fc5a1b0fe #7700 fixed linting issues 2020-02-05 16:40:41 -08:00
Marc Leclair 92b38206c7 #7700 fixed scrolling, parallax action to match both images and some code clean up 2020-02-05 16:40:41 -08:00
Marc Leclair 72007590f7 #7700 squash commit and fixing toolbar to switxh to top with coordinatorlayout 2020-02-05 16:40:41 -08:00
Grisha Kruglov 3f9ed2992c Bump to a-s 0.50.0 2020-02-05 13:29:17 -05:00
Mihai Adrian 4eb71ce235
For #6980: Update ETP onboarding card (#7958) 2020-02-03 21:03:15 -08:00
David Walsh 4e6215c0c1 Fix linting issue 2020-02-04 00:12:26 +01:00
Sawyer Blatz 9f342fca9e For #6820: Updates background, shadow, & snackbars of toolbar 2020-02-04 00:12:26 +01:00
David Walsh 4b3effdfab For #6820: Place address bar at top or bottom of the home screen based on user preference 2020-02-04 00:12:26 +01:00
ValentinTimisica 0a76fdaa58 For #7289: Adds telemetry for selecting dark theme 2020-02-03 23:20:42 +01:00
Mihai Adrian 24396d174f
For #6980: Add What's new card (#7952) 2020-01-29 08:50:11 -08:00
Sören Hentzschel 8a7c7fd06f For #7730 - always show "Add private browsing shortcut" in sett… (#7943) 2020-01-27 08:44:28 -08:00
Gabriel Luong f93e141d52 For #7525 - Add telemetry for opening a top site in normal and private mode and removing a top site 2020-01-24 15:18:25 -08:00
Gabriel Luong 192eecdf5b For #6758 - Part 7: Add menu for opening a top site in private tab and removing a top site 2020-01-24 15:18:25 -08:00
Gabriel Luong 9ecb67e783 For #6758 - Part 6: Add top site view 2020-01-24 15:18:25 -08:00
Gabriel Luong f68f89f2bf For #6758 - Part 5: Add top sites to the HomeFragmentStore 2020-01-24 15:18:25 -08:00
Chenxia Liu e5164e3670 For #6980 - Pre-land string changes to onboarding cards. 2020-01-21 16:28:36 -08:00
Mihai Carare cd853d0d8f For #7029: Navigate to Search Fragment when pressing Start browsing 2020-01-21 16:26:43 -08:00
Severin Rudie 2dc5b397b6
For #7506: show highlight on home 3-dot button (#7665) 2020-01-21 13:02:14 -08:00
Sebastian Kaspari af3726a505 Fennec home screen bookmarks: Select new tab. 2020-01-20 15:17:58 +01:00
Michael Comella a1cbbba4ea For #7423: remove unnecessary wordmark_spacer view.
Co-authored-by: Emma Malysz <emalysz@mozilla.com>
2020-01-17 16:59:03 -08:00
Sawyer Blatz 509fa112d0 For #6308: Remove unecessary telemetry & bump expiry date (#7793)
* For #6308: Remove unecessary telemetry

* For #6308: Bump expiry date on telemetry
2020-01-17 15:13:20 -08:00
liuche 904098387a
Issue #7093 - Pre-land strings for new onboarding cards. (#7747) 2020-01-16 18:20:41 -08:00
Sebastian Kaspari 3a1292911d Update list of tabs after onboarding screen was dismissed. 2020-01-16 18:47:33 +01:00
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.
2020-01-16 10:23:48 +02:00
Sebastian Kaspari 6419d0cf13 Open "migration FAQ" when selecting "What's new" in a Fennec build. 2020-01-13 17:08:48 +01:00
Severin Rudie 569b7670d3 For 6832: update implementation/comment to align w existing AC code 2020-01-08 12:04:14 -07:00
Severin Rudie 65f5ff6b36 For #6832: fix unattached context crash in HomeFragment 2020-01-08 12:04:14 -07:00
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
2020-01-07 09:07:51 -08:00
Tiger Oakes 75b87334fa
Change type for OnboardingAutomaticSignIn (#7474) 2020-01-06 14:25:52 -08:00
Sawyer Blatz c7c4ad051a
For #6413: Adds more snackbar positioning logic (#7444)
* For #6413: Adds more snackbar positioning logic

* Refactor
2020-01-02 14:31:52 -08:00
Sawyer Blatz 9a693f6c11
For #7000: Fix inverted media telemetry (#7368) 2019-12-27 13:46:47 -08:00
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
2019-12-19 18:16:50 -08:00
Josh Vocal 43354489a1 For #7253 - Replace anko setters 2019-12-19 13:42:50 -08:00
Tiger Oakes 7c9a5c1f14
For #768 - Add PWA install option to menu (#6882) 2019-12-18 23:59:30 -08:00
David Walsh e727ae5d7e Fix 5366 - Use VectorDrawableCompat for all imagery (#7221)
* Fix 5366 - Use VectorDrawableCompat for all imagery

* Fix detekt lint issues

* Restore previous comment contents
2019-12-16 20:35:36 -08:00
Patrick Martin 71880705df For #5711 - Onboarding colours have contrast issues 2019-12-13 17:52:55 -08:00
mcarare ef53e1ff8e Reverts #6925: Make home screen full screen 2019-12-13 11:29:53 -08:00
mcarare b6ba1a1611 For #4107 Make home screen fullscreen.
Add/Remove fullscreen flags in home fragment's onResume / onPause
Change homeLayout padding to include system bars height (status&navigation).
Change homeMenu orientation to UP to properly display menu.
Change home bottomBar background to transparent.
2019-12-09 23:45:02 +01:00
mcarare 17731620e6 For #7026 Dispatch ModeChange on hideOnboarding 2019-12-09 23:44:33 +01:00
kglazko 300d8317e1
Issue 5366 Vector Drawable Compat (#6904) 2019-12-05 19:54:32 -08:00
mcarare 45b9ffd66e For #6917 Emit mode change only when new mode is different from current 2019-12-05 11:10:14 -08:00
Mihai Adrian cbdf83c12a For #6943 Hide supportActionBar in onResume, not onCreate (#6978) 2019-12-05 09:36:39 -08:00
Gabriel 56b21426eb
For #5574 - Migrate SessionControl to LibState (#6651)
* For #5574 - Part 1: Port TabAction.SaveTabGroup to TabSessionInteractor and SessionControlController. (#6651)

- Introduces the TabSessionInteractor, SessionControlInteractor and SessionControlController classes.
- Removes the TabAction.SaveTabGroup.

* For #5574 - Part 2: Port TabAction.PrivateBrowsingLearnMore to TabSessionInteractor and SessionControlController (#6651)

* For #5574 - Part 3: Port TabAction.ShareTabs to TabSessionInteractor and SessionControlController (#6651)

* For #5574 - Part 4: Remove unused TabAction.Share and TabItemMenu (#6651)

In #2205, the tab overflow button was removed which would have shown the
TabItemMenu when clicked. So, we can remove TabItemMenu since it is not
used and as a result, we can also remove TabAction.Share since there are
no consumers.

* For #5574 - Part 5: Port TabAction.PlayMedia and TabAction.PauseMedia to TabSessionInteractor and SessionControlController (#6651)

* For #5574 - Part 6: Port TabAction.Select to TabSessionInteractor and SessionControlController (#6651)

* For #5574 - Part 7: Port Onboarding.Finish to OnboardingInteractor and SessionControlController (#6651)

* For #5574 - Part 8: Port TabAction.Close and TabAction.CloseAll to TabSessionInteractor and SessionControlController (#6651)

- Removes TabAction

* For #5574 - Part 9: Port CollectionAction.Delete to CollectionInteractor and SessionControlController (#6651)

* For #5574 - Part 10: Port CollectionAction.ShareTabs to CollectionInteractor and SessionControlController (#6651)

* For #5574 - Part 11: Port CollectionAction.AddTab and CollectionAction.Rename to CollectionInteractor and SessionControlController (#6651)

* For #5574 - Part 12: Port CollectionAction.RemoveTab to CollectionInteractor and SessionControlController (#6651)

* For #5574 - Part 13: Port CollectionAction.OpenTab to CollectionInteractor and SessionControlController (#6651)

* For #5574 - Part 14: Port CollectionAction.CloseTabs to CollectionInteractor and SessionControlController (#6651)

* For #5574 - Part 15: Introduce a HomeFragmentStore (#6651)

- We will hook up the HomeFragmentStore in later parts.
- Removes List<Tab>.toSessionBundle(context: Context) since it is unused.

* For #5574 - Part 16: Port CollectionAction.Collapse and CollectionAction.Expand to CollectionInteractor and SessionControlController (#6651)

- We assume the store is hooked up to the SessionControlController in this part,
but this work will be done in a later part.
- Removes CollectionAction.

* For #5574 - Part 20: Remove the architecture module. (#6651)

* For #5574 - Part 17:  Remove duplicate subscribeToTabCollections in BrowserFragment.kt (#6651)

There is a duplicate call of subscribeToTabCollections() in both HomeFragment and BrowserFragment.
In this patch, we remove the call in BrowserFragment to avoid passing the HomeFragmentStore to
BrowserFragment in order to dispatch the CollectionsChange event.

* For #5574 - Part 18: Delete SessionControlComponent and fix TabCollection and Tab imports (#6651)

* For #5574 - Part 19: Use the new HomeFragmentStore in the HomeFragment (#6651)

- Renames SessionControlUIView to SessionControlView

* For #5574 - Part 21: Fix white screen on home fragment (#6651)

* For #5574 - Part 22: Fix formatting in SessionControlInteractor and replace See with @see in SessionControlController (#6651)

* For #5574 - Part 23: Move to metrics.track call to the beginning of handleCollectionRemoveTab (#6651)

This ensures that the metrics.track will be called immediately before the tab is removed from the collection.

* For #5574 - Part 24: Use the sessionManager getter in SessionControlController (#6651)

* For #5574 - Part 25: Use mapNotNull in List<Tab>.toSessionBundle (#6651)

* For #5574 - Part 26: Simplify closeTab and closeAllTabs functions by assigning a deletionJob constant (#6651)

* For #5574 - Part 27: Replace listOf() with emptyList() in removeAllTabsWithUndo (#6651)

* For #5574 - Part 28: Replace the Context parameter with the HomeActivity in SessionControlController (#6651)

* For #5574 - Part 29: Add test for HomeFragmentStore, DefaultSessionControlController and SessionControlInteractor (#6651)

* For #5574 - Removes running CI against the architecture debug build varient
2019-12-04 22:06:05 -05:00
mcarare 41ccb02933 For #6516 On browsing mode change empty tab list before displaying new list 2019-12-02 16:15:54 +00:00
Tiger Oakes d5e01384d8
Suppress upcoming deprecation (#6765) 2019-11-28 16:17:56 -08:00
mcarare c5f18e0f96 For #6629 Align Private Browsing mode to UX specs 2019-11-27 11:13:20 -08:00
Jeff Boek 5f7b3bd4d7
For #5972 - Fixes bugs when launching in private mode on Android 5 (#6702) 2019-11-26 14:53:03 -08:00
Mihai Adrian 33b49ff7fd For #6430 Private browsing hint width should not exceed screen dimensions (#6786)
Renamed ambiguous pop-up window name.
Adjusted code to match max line length.
2019-11-26 10:07:31 -08:00
Tiger Oakes 422faaf7c0 Add toolbar helpers (#6531) 2019-11-25 15:36:47 -05:00
Tiger Oakes 7e8f079269
Use ShareData with ShareFragment (#6698) 2019-11-25 11:07:21 -08:00
Stephen Tsimicalis 9869408fb4 For #4824 - Fixes onboarding telemetry events from being sent a… (#6659) 2019-11-21 17:51:55 -08:00
Mihai Adrian e07d09afb8 Update app/src/main/java/org/mozilla/fenix/home/HomeMenu.kt
Co-Authored-By: Tiger Oakes <contact@tigeroakes.com>
2019-11-21 15:34:01 -08:00
mcarare 9258df2c69 For #3523 Add Firefox Sync error states also to Settings in Home menu 2019-11-21 15:34:01 -08:00
Jeff Boek 607c3d4c87
Adds custom search engines (#6551)
* For #5577 - Adds button to add a new search engine

* For #5577 - Adds custom engine store

* For #5577 - Creates a custom SearchEngineProvider

* For #5577 - Gives the ability to delete search engines

* For #5577 - Adds the UI to add a custom search engine

* For #5577 - Adds form to create a custom search engine

* For #5577 - Adds the ability to add a custom search engine

*  For #5577 - Adds the ability to delete custom search engines

* For #5577 - Selects the first element on the add custom search engine screen

* For #5577 - Prevents adding a search engine that already exists

* For #5577 - Styles the add search engine preference

* For #5577 - Makes the name check case-insensitive

* For #5577 - Fix bug where home screen doesnt see new search engines

* For #5577 - Moves Search URL validation to its own type

* For #5577 - Fixes linting errors

* For #5577 - Adds the ability to edit a custom search engine

* For #5577 - Allows the user to edit a serach engine even when it is the last item in the list

* For #5577 - Adds an undo snackbar when deleting a search engine

* For #5577 - Moves all of the strings to be translated

* For #5577 - Fixes bug when deleting your default search engine

* For #5577 - Puts adding search engines behind a feature flag

* For #5577 - Navigate to custom search engine SUMO article when tapping learn more

* For #5577 - Fixes nits

* For #5577 - Uses concept-fetch to validate search string

* For #5577 - Adds string resources for the cannot reach error state
2019-11-19 16:30:56 -08:00
Severin Rudie 8d68317388
4844 fix url elision (#6588)
* For #4844: add test cases for url elision

* For 4844: implement toShortUrl to pass test cases

* For 4844: update plumbing to use toShortUrl

* For 4844: adds/handles suggested url elision test case
2019-11-15 14:25:50 -08:00
David Walsh 9d5c03c067 Use consistent verbiage with regard to opened tabs (#6550) 2019-11-12 16:06:37 -08:00
mcarare 349c0193d9 For #6342 Clicking add tab button from home screen finishes onboarding 2019-10-31 16:04:02 -07:00
mcarare 41c9b9e958 For #1487 Add "my library" menu category and items to home 3-dot menu 2019-10-31 11:29:49 -07:00
Severin Rudie aa8642f534
#4596 migrate collections (#5911)
* For #4596: move code from CollectionCreationComponent to CollectionCreationStore

Other than adding comments, no changes were made. The code will be updated in a following commit. This is in order to make the commit diff more readable.

* For 4596: update CollectionCreateStore to libstate

* For 4596: copied CollectionCreationUIView into CollectionCreationView

Otherwise, no code was changed. The next commit will update this code. This is in order to make the commit diff more readable.

* For 4596: update CollectionCreationView to LibState

Note that the minimal changes possible to enable migration were made.  Refactoring will happen in a later commit.

* For 4596: updated CollectionCreationTabListAdapter to work with the new View

* For 4596: updated SaveCollectionListAdapter to work with the new View

* For 4596: implemented CollectionCreationController

For now, it has an identical interface to the interactor. In a later commit several of its responsibilities will be moved around, some to the interactor and some to the reducer

* For 4596: copied over previous reducer code

No other changes were made. The code will be updated in the following commit. This is done to make changes more readable for the reviewer

* For 4596: update reducer code param names

Otherwise, no changes at this time

* For 4596: add arguments to CreateCollectionFragment in nav_graph

These will be used to replace the current CreateCollectionViewModel, which shares data between fragments in a way that doesn't fit within our architecture.

* For 4596: pass arguments to collection via transaction instead of VM

The VM will be removed in a later commit

* For 4596: update BrowserToolbarController to share state to collection via its Direction

* For 4596: removed CreateCollectionViewModel

* For 4596: test tab retrieval in CreateCollectionFragment

* For 4596: fix crashing CreateCollectionFragmentTest

* For 4596: removed classes create collection classes used by old architecture

* For 4596: collection interactor rename + kdoc

* For 4596: moved collection interactor interface

* For 4596: renamed CreateCollectionFragment

All related classes followed the pattern of CollectionCreationX

* For 4596: kdoc CollectionCreationController

There's no effective difference between these calls and their interactor equivalent, so I linked to them

* For 4596: fix bug that caused rename to not work

* For 4596: removed unused collection actions

These were unused before the LibState refactor

* For 4596: kdoc StepChanged

* For 4596: removed todos about moving logic to the reducer

saveTabsToCollection: this could be moved, but that would involve creating a new action. SaveCollectionStep should probably be refactored out, so adding this layer of indirection seemed counterproductive

handleBackPress: needs to be able to call dismiss(). The reducer doesn't (and shouldn't) be able to do that, so this needs to live here

stepBack: called by handleBackPress. See above

* For 4596: wrote tests for CollectionCreationController#stepback

* For 4596: fixed tests broken by changes to collections

* For 4596: small readability refactor for CollectionController#stepBack

No change to functionality (see tests)

* For 4596: broke apart CollectionView#update

There's probably a lot more that could be done here, but smaller changes were made to reduce scope

* For 4596: remove unnecessary todos

It looks like we don't follow the suggested pattern in this project

* For 4596: test CollectionCreationController#normalSessionSize

* For 4596: updated naming in CollectionCreationController per review
2019-10-22 17:33:54 -07:00
Mihai Adrian fbec001e28 For #1383: Fix updating description of close button on title change. (#6020) 2019-10-21 10:00:26 -07:00
ValentinTimisica 485ccba189 Fixes #5323: Show a snackbar while browsing data is deleting. (#6105) 2019-10-21 09:57:06 -07:00
mcarare 86217eb105 For #5872 & #6075: Set TabHeader buttons to invisible instead of gone.
At least one button has to be invisible instead of gone to keep layout height.
Tabs overflow button kept gone to avoid empty space on view end in private mode.
2019-10-18 17:00:26 +03:00
bswe 052695ffa1 Issue #5233: Minor modifications suggested in code review. 2019-10-14 11:20:18 -07:00