Commit Graph

94 Commits (9654b4dfb122b54b04369fe80a2f9c95811478e8)

Author SHA1 Message Date
Gabriel Luong 9654b4dfb1 For #27667 - Remove import-ordering from the list of disabled ktlint rules 2 years ago
Noah Bond 3207e6213e For #27095 - Download light/dark wallpaper card colors 2 years ago
MatthewTighe 521f1485e6 For #27127: do not display wallpaper onboarding in private browsing mode 2 years ago
mike a cc30e3dc5a Closes #26971: fix wallpaper onboarding display condition 2 years ago
mcarare ffcef5ff2e For #26844: Fix ktlint issues and remove them from baseline. 2 years ago
Gabriel Luong c43271fc0d For #26739 - Display MR onboarding dialog to existing users as soon as the app is opened 2 years ago
Arturo Mejia 34b31f8b11 For #25446: Ensure for every message shown we have recordExposure 2 years ago
Jan-Erik Rediger bbf2d427d2 Adjust all telemetry tests to follow new Glean APIs
These are mostly mechanical changes to replace usage of `testHasValue`
with `testGetValue`.
`testGetValue` will now return `null` instead of throwing an exception
if no data is available.
2 years ago
Mugurell fc2c1700c9 For #23876 - Update kotlinx-coroutines to 1.6.1. Refactor runBlocking in tests.
After the update `TestCoroutineDispatcher`, `TestCoroutineScope` and
`runBlockingTest` are deprecated.
Instead of these new `TestDispatcher`, `TestScope` and `runTest` APIs are used.

Took the oportunity to also replace most of the `runBlocking` calls with the
new `runTest` specially designed for running coroutines in tests API.
2 years ago
mcarare ffa1ecd300 For #21292: Remove unused MetricController parameters. 2 years ago
Alexandru2909 3678b124e0 For #24790 - Remove Event.wrapper for home screen related telemetry 2 years ago
Alexandru2909 1051a98c02 For #24710 - Remove Event.wrapper for RecentBookmarks telemetry 2 years ago
mcarare b8a59b2602 For #24711: Remove wrapper from recent tabs metrics. 2 years ago
mcarare dfe23e8b77 For #24211: Remove wrapper from search related metrics.
Removes wrapper from search labeled counter and performed search event.
2 years ago
Alexandru2909 fd021b2819 For #24642 - Remove Event.wrapper for TopSites metrics 2 years ago
mcarare 3931cd5c1e For #24210: Remove wrapper from "url entered" event. 2 years ago
Alexandru2909 ee7c268302 For #24576 - Record delete collection metric 2 years ago
Alexandru2909 740566992a For #24099 - Remove Event.wrapper for Collections telemetry 2 years ago
Jonathan Almeida f953c5ec94 For #24220 and #24223: Connect GleanPlumb messages with the new tab ui card.
Co-authored-by: Jonathan Almeida <jalmeida@mozilla.com>
2 years ago
Gabriel Luong 15d6d34a01 For #24114 - Change all HomeFragment[Store|State|Action] usage to App[Store|State|Action] in existing tests 2 years ago
Gabriel Luong 221ce814ef For #24235 - Remove Tip from HomeFragmentStore 2 years ago
Gabriel Luong 56022546f2 For #23893 - Add telemetry for Contile services 2 years ago
Grigory Kruglov a42018f124 Convert recently closed tabs code to use light-weight TabState
To lighten-up our memory usage and startup performance, all of the RecentlyClosed
machinery was converted to use a light-weight TabState - specifically, it's missing
EngineSessionState, which is expensive to obtain during startup, and potentially
very costly to keep in-memory.

When we actually need EngineSessionState (at the point of restoration of a tab), we
read and rehydrate it using provided storage implementation.
2 years ago
Noah Bond c0942eadb2 For #23526 - Add telemetry for Contile interactions 2 years ago
Gabriel Luong 42ac6feb0c For #23424 - Part 2: Add context menu for contile top sites 2 years ago
Gabriel Luong 26b65a2a23 For #22727 - Add Contile to Top Sites 2 years ago
Alexandru2909 a34711c444 For #20524 - Remove redundant coroutine dispatchers from tests 2 years ago
Gabriel Luong 91da5318e3 For #22211 - Use Hero images for Recent Bookmarks 3 years ago
Noah Bond 8caefbe2d5
Recent bookmark count telemetry (#22293)
* For #22075 - Added event to track the count of recent bookmarks

* For #22075 - Added data review issue number

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
3 years ago
Noah Bond a06b04ec6d
MR2 Telemetry: Recent tabs section probe (#22166)
* For #22107 - Added probe to track if the Recent tabs / jump back in section is visible

* For #22107 - Fixed lint errors

* For #22107 - added data review number to metric

* For #22166 - fixed expiration date

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
3 years ago
Gabriel Luong b04bf99b7d For #21776 - Remove unused symbols 3 years ago
Noah Bond 8c1a64a5e8 For #21773 - Updated "customize homepage" button to go to the new Homepage submenu in Settings 3 years ago
Arturo Mejia 7e3a2ba89d For #21574: disabled the homescreen onboarding dialog. 3 years ago
Arturo Mejia f15291757b For #21493 show onboarding dialog for home sections 3 years ago
Gabriel Luong 98b218d964 For #21413 - Remove unused OnboardingPrivateBrowsingViewHolder and OnboardingWhatsNewViewHolder 3 years ago
Arturo Mejia 3272de1364 For #21239 add telemetry for Allow users to customize their home screen 3 years ago
Arturo Mejia 4e846b3cb6 For #21095 add customize home button on the home screen. 3 years ago
Elise Richards 52975b4f05 For #20654: Handle private mode switching from home behind search dialog.
Add tests for controller and interactor to handle private mode switches
3 years ago
Roger Yang c9b2f9e866 Issue #2783: Add snackbar to collection deletion 3 years ago
Sebastian Kaspari ef3ef87ce2 Fix intermittent test failures in DefaultSessionControlControllerTest. 3 years ago
Christian Sadilek 1de7e22080 Issue #20533: Fix intermittent failures of DefaultSessionControlControllerTest 3 years ago
Sebastian Kaspari 971b419d77 Run ktlintFormat to adapt to latest formatting rules. 3 years ago
Sebastian Kaspari 7840aac3ba Update Robolectric and mockk. 3 years ago
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>
3 years ago
Roger Yang 74c1cc82fb Closes #19921: Update appcompat and fragment dependencies to 1.3.x 3 years ago
Gabriel Luong 9d3cf79051 For #19916 - Add last viewed tab to home screen
Co-authored-by: Jonathan Almeida <jalmeida@mozilla.com>
3 years ago
Christian Sadilek 0c1e712ca8 Issue #17800: Cleanup and fix request desktop site from home 3 years ago
Jonathan Almeida dc11c334b6 Issue #19112: Remove old tab tray code 3 years ago
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>
3 years ago
mcarare ba218e638b For #18375: Add experiment for set default browser New Tab card. 3 years ago