2
0
mirror of https://github.com/fork-maintainers/iceraven-browser synced 2024-11-15 18:12:54 +00:00
Commit Graph

749 Commits

Author SHA1 Message Date
codrut.topliceanu
bc723e0a9b For #15499 - Smoothly updates topSites list on remove
To remove the flash on refresh of the topsites list we have to use submitList, however using this too high up in the hierarchy of our listAdapters within listAdapters will cause children to refresh at once. The solution to this is to use submitList lower. Using it in TopSitesPagerAdapter.kt to update the TopSitesAdapter is the way to go. I've also had to use a dummy item for the "removed" Topsite ( with id = -1) so I can manually diff that before using submitList.
2021-07-20 15:07:16 +00:00
Roger Yang
c4347a9492 Closes #19847: Add telemetry for the default browser notification 2021-07-15 19:35:45 +00:00
Mugurell
1251894933 For #19933 - Show a media tab item on homescreen for the last tab with media 2021-07-15 10:05:20 +03:00
Roger Yang
68b56ff240 Issue #19846: Make sure default browser notification only happens once 2021-07-15 02:17:24 +00:00
Jonathan Almeida
4b4c86551d Close #20320: Use scope from testDispatcher in RecentBookmarksFeatureTest 2021-07-12 23:05:03 +00:00
Elise Richards
9bfe9b0787
For FNX-22339: Recently saved bookmarks (#19835)
* Title and button for home screen recently saved bookmarks section

Create bookmark item view with favicon and title

* View holders and interactors for recently saved bookmarks

Recent bookmark item view holder binding

Create adapter for recent bookmarks. Implement controller methods. Implement view holder bindings for items

Top level adapter for recent bookmarks section

Retrieve list of recent bookmarks on home

View holders and interactors for recently saved bookmarks

Recent bookmark item view holder binding

Create adapter for recent bookmarks. Implement controller methods. Implement view holder bindings for items

Top level adapter for recent bookmarks section

Retrieve list of recent bookmarks on home

Update list on app start and when bookmarks are added

View holders and interactors for recently saved bookmarks

Recent bookmark item view holder binding

Create adapter for recent bookmarks. Implement controller methods. Implement view holder bindings for items

Top level adapter for recent bookmarks section

Retrieve list of recent bookmarks on home

Update list on app start and when bookmarks are added

Make a use case for retrieving and updating the list of recently saved bookmarks

Add adapter items and define header viewholder binding

Use session interactor for header button clicks. Bind in the adapter

* Retrieve list of bookmarks asynchronously on home

Interactor and controller tests

Address review comments

Split up tests for recent bookmarks

Update to new interactors

Dark mode and light mode styles

Refactor bookmarks home stuff

* Add RecentBookmarksFeature to home

Move interactor to SessionControlInteractor

Clean up lint, styles, and dimens.

* Bookmarks use case tests for retrieving recently saved bookmarks. Linting.

* View holder tests

* Match ux to designs for colors, margins, and scrolling

* Clean up clean up

* Tests for the view bound feature

* Controller test

* Clean up: check state of store in feature tests; ellipsize textviews for bookmark item; remove unused attr; format

Co-authored-by: Jonathan Almeida <jalmeida@mozilla.com>
2021-07-09 19:36:20 +00:00
Roger Yang
0133f42a15 Closes #19846: Show Default Browser Notification if browser is not default 2021-07-08 17:52:08 +00:00
codrut.topliceanu
9693507ffb For #19131 - Adds kdoc to TopSitePagerPayload 2021-07-07 07:22:45 +00:00
codrut.topliceanu
a7f3d34538 For #19131 - Fixes top sites refresh and interactability 2021-07-07 07:22:45 +00:00
mcarare
36b50ea8d9 For #17917: Use View binding in onboarding cards. 2021-07-06 16:29:09 +00:00
Mugurell
5d62fe11a6 For #20046 - Show the last accessed tab in Jump back in 2021-06-22 22:03:33 +00:00
Roger Yang
74c1cc82fb Closes #19921: Update appcompat and fragment dependencies to 1.3.x 2021-06-22 01:39:52 +00:00
Jonathan Almeida
15df06b294 Issue #20054: Update recent tab on title or icon changes 2021-06-21 18:27:33 +00:00
Mugurell
ce64c2439d For #19797 - Use the FXA email only if the account is authenticated
An account may exist but it may need to be re-authenticated.
In this case also the email should not be exposed to the app.
2021-06-18 17:09:25 +03:00
Mugurell
1fc3bb84ca For #19797 - Home menu: go to problems page if account exists but not signed in 2021-06-18 17:09:25 +03:00
Arturo Mejia
c2439914fa For #19881 add telemetry for start on Home. 2021-06-17 13:09:28 -04:00
Gabriel Luong
c0329f3c26 For #19988 - Part 2: Load tab icon from BrowserIcons cache if needed for the recent tab
Co-authored-by: Jonathan Almeida <jalmeida@mozilla.com>
2021-06-15 18:33:20 -04:00
Gabriel Luong
ad91f91eb6 For #19988 - Part 1: Move RecentTabsListFeature into recenttabs package
Co-authored-by: Jonathan Almeida <jalmeida@mozilla.com>
2021-06-15 18:33:20 -04:00
Gabriel Luong
9d3cf79051 For #19916 - Add last viewed tab to home screen
Co-authored-by: Jonathan Almeida <jalmeida@mozilla.com>
2021-06-10 16:22:57 -04:00
Christian Sadilek
0c1e712ca8 Issue #17800: Cleanup and fix request desktop site from home 2021-06-10 12:49:13 -04:00
Jonathan Almeida
bf3f81d271 Issue #19112: Remove old Synced Tabs code 2021-06-04 02:18:37 +04:00
Jonathan Almeida
dc11c334b6 Issue #19112: Remove old tab tray code 2021-06-04 02:18:37 +04:00
Elise Richards
6dbe5acc5b
For #19746 - Remove feature flag for the three-dot menu redesign (#19750)
* Remove feature flag for the three-dot menu redesign

* Remove menu feature flag from unit tests
2021-06-02 14:19:00 -05:00
James Hugman
ab678a21ff Add an experiment to demontrate the Feature API
This is not visible in production, but only debug. It shows three variables
being used to change the settings screen (title, icon and title-punctuation).
2021-05-27 16:09:44 -04:00
Mugurell
551031eee3 For #18672 - Renaming a TopSite changes just the title
Previously renaming a TopSite would bind that as a new item and in such update
the entire list. This could potentially leading changes in the list and then
it's ViewPager parent's layout.

This patch switches the code to use the existing TopSitePayload and so do a
partial update of an on-screen TopSite instead of rebind it as a new item.

If a layout is requested while showing <=4 TopSites on the second page, by
having "offscreenPageLimit = 1" the biggest height of ViewPager pages is used
preventing an edgecase where the ViewPager would hide half of the items from
the first page.
2021-05-11 17:33:10 +03:00
kanish671
9e30833506 For #18672 - Rename TopSites even on the second page
Index calculation for notifying changes while renaming a top site in the second
page was being wrongly calculated. Since it is page 2, we would need to take a
mod with the number of top sites per page to get the actual index of the top
site that was being renamed.
2021-05-11 17:33:10 +03:00
mcarare
93c6403882 For #19357: Remove bookmarks experiment and keep star-with-line icon. 2021-05-10 15:38:52 +03:00
Arturo Mejia
9bfb31519a For issue #19290 update to proton icons second batch 2021-05-06 10:35:39 -04:00
Sebastian Kaspari
7d690219ea Issue #19040: Remove Leanplum (Nightly) 2021-04-26 19:08:10 +02:00
mcarare
ded686d533 For #19125: Move top site pin net to title. 2021-04-22 18:53:50 +03:00
Elise Richards
db76b8fe21
For #19114: check state of sync account when navigating from sync sign in menu item (#19118) 2021-04-21 14:13:44 -05:00
mcarare
8b3a878062 No issue: Rename Event for naming consistency. 2021-04-20 14:48:07 -04:00
Elise Richards
59c94e447c
For #19005: new tab three-dot menu sync sign in (#19037)
* Show synced tabs or sync account in new tab menu

* Sync sign in item navigates to account settings

* Check account auth and get sync item title

* Look for sync sign in item on home menu for UI test

* Sync sign in menu item UI test
2021-04-20 12:18:19 -05:00
Elise Richards
3d226429aa
For #18867: remove "signed in as" string in three-dot menu (#19035)
* Remove signed in as string from sync menu item

* Nav to sync account settings on click

For #18806: navigate to settings account page or sign in on clicking menu item.

* Confirm account exists and retrieve item title

* Remove string
2021-04-15 12:49:19 -05:00
mcarare
cea869c276 For #18854: Add metrics for home screen being displayed. 2021-04-14 21:21:28 +03:00
mcarare
0ac78665d5 No issue: Fix indenting in onViewCreated. 2021-04-14 21:21:28 +03:00
mcarare
dbae5dd3c0 For #18853: Add metrics for default browser new tab experiment. 2021-04-14 19:22:27 +03:00
mcarare
920c1285e4 For #18856: Add metrics for opening settings screen from home menu. 2021-04-14 18:50:15 +03:00
mcarare
445091db14 For #18815: Expand app bar on onboarding dismissal and browsing start. 2021-04-14 18:09:51 +03:00
MarcLeclair
990bfa7e6d
16900 make navgraph inflation asynchronous (#18889)
* For #16900: implement async navgraph inflation

For #16900: removed nav graph from xml

For #16900: inflate navGraph programatically

For #16900: Made NavGraph inflation asynchronous

For #16900: Changed to block with runBlocking

For #16900: Refactored blocking call into a function

For 16900: NavGraph inflation is now async

We now attach the nav graph (or check if its attached) on every nav call ( an extension function for NavController).
This is done by checking the value of the job stored in PerfNavController.map which keeps track of the job with the NavController as a Key.
If the job hasn't been completed, it will block the main thread until the job is done. The job itself is responsible for attaching the navgraph
to the navcontroller (and the inflation of the latter too)

For 16900: rebased upstream master

For 16900: Rebase on master

For #16900: Fixed Async Navgraph navigation per review comments.

1)The Asynchronous method is now found in NavGraphProvider.kt. It creates a job on the IO dispatcher
2)The Job is tracked through a WeakHashMap from Controller --> NavGraph
3)The Coroutine scope doesn't use MainScope() anymore
4)The Coroutine is cancelled if the Activity is destroyed
5)The tests mockk the blockForNavGraphInflation method through the FenixReoboelectricTestApplication instead of calling the mock every setup()

For #16900: inflateNavGraphAsync now takes navController

For #16900: Pass lifecycleScope to NavGraphProvider

For #16900: removed unused mock

For #16900: Added linter rules for navigate calls

We need linting rules to make sure no one calls the NavController.navigate() methods

For #16900: Added TestRule to help abstract the mocks in the code

For 16900: Fix linting problems

For #16900: Cleaned duplicated code in tests

For #16900: cleaned up NavGraphTestRule for finished test

For #16900: had to revert an accidentally edited file

For #16900: rebased master

* For #16900: Review nits for async navgraph

This is composed of squash commits, the original messages can be found below:

-> DisableNavGraphProviderAssertionRule + kdoc.

Use test rule in RobolectricApplication.

Fix failing CrashReporterControllerTest

Fix blame by -> navigate in tests.

This commit was generated by the following commands only:
```
find app/src/test -type f -exec sed -i '' "/import org.mozilla.fenix.ext.navigateBlockingForAsyncNavGraph/d" {} \;
find app/src/test -type f -exec sed -i "" "s/navigateBlockingForAsyncNavGraph/navigate/g" {} \;
git checkout app/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
```

Fix various blame

This is expected to be squashed into the first commit so, if so, it'd
fix the blame.

Move test rule to helpers pkg.

add missing license header

Add import change I missed

fix unused imports

Replace robolectricTestrunner with test rule.

Improve navGraphProvider docs

Remove unnecessary rule as defined by robolectric.

add clarifying comment to robolectric

remove unnecessary space

* For #16900: nit fixes for MozillaNavigateCheck and lint fixes

3 squash commits:
 *Changed violation message and fixed the lint rule for MozillaNavigateCheck
 *Added suppression to NavController.kt
 *Fixed detekt violations

* For 16900: Fixed failing tests

Co-authored-by: Michael Comella <michael.l.comella@gmail.com>
2021-04-13 20:48:45 -04:00
mcarare
ba218e638b For #18375: Add experiment for set default browser New Tab card. 2021-04-13 17:25:51 +03:00
Elise Richards
52209673fb
For #18960: Remove nav in homescreen three dot menu (#18962)
* Remove nav in homescreen three dot menu

* Remove back and forward items
2021-04-12 13:05:58 -05:00
Kate Glazko
841dacb69e For 17798: Sync Menu Item 2021-04-05 14:34:34 -07:00
Elise Richards
ca33aef036
For #17770: New tab three-dot menu reorder (#18427)
* Create new menu order for new tab

* Add new tab menu navigation. Dynamically update menu when sync auth is needed. Make new tab menu and browser menu consistent.

* Lint

Lint and refactoring tests

* Tests for default toolbar menu

* Feature flag for request desktop site

Add todos for UI test issue 17979

Add todos for UI tests
2021-03-31 16:05:44 -05:00
Mihai Adrian Carare
ccfb275b03
For #17800 - Request desktop site from home screen. (#18653) 2021-03-30 16:12:46 -04:00
Kershan
02d70d3837
For #18453 - Show SUMO for default browser deeplink on Android <N
Lower Android versions don't offer the possibility of opening system settings
at a specific preference. In this cases we already shown a sumo article
detailing the manual steps each user is expected to perform to change the
system set default browser.
2021-03-29 18:14:15 +03:00
yichiehc
dd09ba64c4
For #18594: Highlight the "Default browser" system setting on Android >= N
Although not public APIs we can use specific extras in the Intent used to open
system settings such that the "Default browser" setting is highlighted to
provide a better UX for users looking to set Fenix as default.
2021-03-26 18:25:56 +02:00
rxumoz
46af52d254
Update top sites to add PDD for MozillaOnline builds (#18615) 2021-03-26 12:18:46 -04:00
Mihai Adrian Carare
a539f69cb2
For #18260 - Add pin to default sites. (#18618) 2021-03-26 11:36:27 -04:00
Arturo Mejia
869c99afaa For #15372 Optimize the order and messages of onboarding cards 2021-03-24 22:16:00 -04:00