Commit Graph

94 Commits (1ec4cf8dad862661d599d4d6f3a32cb0e9d04735)

Author SHA1 Message Date
Gabriel Luong 1ec4cf8dad [fenix] For https://github.com/mozilla-mobile/fenix/issues/27667 - Remove import-ordering from the list of disabled ktlint rules 2 years ago
Noah Bond f53d77e071 [fenix] For https://github.com/mozilla-mobile/fenix/issues/27095 - Download light/dark wallpaper card colors 2 years ago
MatthewTighe 74df63148a [fenix] For https://github.com/mozilla-mobile/fenix/issues/27127: do not display wallpaper onboarding in private browsing mode 2 years ago
mike a 954ed79fa1 [fenix] Closes https://github.com/mozilla-mobile/fenix/issues/26971: fix wallpaper onboarding display condition 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
Gabriel Luong 6cfe8c9008 [fenix] For https://github.com/mozilla-mobile/fenix/issues/26739 - Display MR onboarding dialog to existing users as soon as the app is opened 2 years ago
Arturo Mejia 7cb57f1b9a [fenix] For https://github.com/mozilla-mobile/fenix/issues/25446: Ensure for every message shown we have recordExposure 2 years ago
Jan-Erik Rediger 7565361ae6 [fenix] 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 c6bb6c247e [fenix] For https://github.com/mozilla-mobile/fenix/issues/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 969a5f0b0b [fenix] For https://github.com/mozilla-mobile/fenix/issues/21292: Remove unused MetricController parameters. 2 years ago
Alexandru2909 40d83423c8 [fenix] For https://github.com/mozilla-mobile/fenix/issues/24790 - Remove Event.wrapper for home screen related telemetry 2 years ago
Alexandru2909 ce2c88512e [fenix] For https://github.com/mozilla-mobile/fenix/issues/24710 - Remove Event.wrapper for RecentBookmarks telemetry 2 years ago
mcarare fcd939e9a9 [fenix] For https://github.com/mozilla-mobile/fenix/issues/24711: Remove wrapper from recent tabs metrics. 2 years ago
mcarare 37f60284d2 [fenix] For https://github.com/mozilla-mobile/fenix/issues/24211: Remove wrapper from search related metrics.
Removes wrapper from search labeled counter and performed search event.
2 years ago
Alexandru2909 795f47ca2f [fenix] For https://github.com/mozilla-mobile/fenix/issues/24642 - Remove Event.wrapper for TopSites metrics 2 years ago
mcarare d5016f5e9b [fenix] For https://github.com/mozilla-mobile/fenix/issues/24210: Remove wrapper from "url entered" event. 2 years ago
Alexandru2909 30e7c067ce [fenix] For https://github.com/mozilla-mobile/fenix/issues/24576 - Record delete collection metric 2 years ago
Alexandru2909 1c34e0d4ef [fenix] For https://github.com/mozilla-mobile/fenix/issues/24099 - Remove Event.wrapper for Collections telemetry 2 years ago
Jonathan Almeida 70014e589a [fenix] For https://github.com/mozilla-mobile/fenix/issues/24220 and https://github.com/mozilla-mobile/fenix/issues/24223: Connect GleanPlumb messages with the new tab ui card.
Co-authored-by: Jonathan Almeida <jalmeida@mozilla.com>
2 years ago
Gabriel Luong e5b6421d16 [fenix] For https://github.com/mozilla-mobile/fenix/issues/24114 - Change all HomeFragment[Store|State|Action] usage to App[Store|State|Action] in existing tests 2 years ago
Gabriel Luong 13af68853e [fenix] For https://github.com/mozilla-mobile/fenix/issues/24235 - Remove Tip from HomeFragmentStore 2 years ago
Gabriel Luong a0f48f5533 [fenix] For https://github.com/mozilla-mobile/fenix/issues/23893 - Add telemetry for Contile services 2 years ago
Grigory Kruglov bd54134349 [fenix] 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 5458565097 [fenix] For https://github.com/mozilla-mobile/fenix/issues/23526 - Add telemetry for Contile interactions 2 years ago
Gabriel Luong 17f96e433c [fenix] For https://github.com/mozilla-mobile/fenix/issues/23424 - Part 2: Add context menu for contile top sites 2 years ago
Gabriel Luong 235c026c38 [fenix] For https://github.com/mozilla-mobile/fenix/issues/22727 - Add Contile to Top Sites 2 years ago
Alexandru2909 e683694d05 [fenix] For https://github.com/mozilla-mobile/fenix/issues/20524 - Remove redundant coroutine dispatchers from tests 2 years ago
Gabriel Luong 5b069b2ece [fenix] For https://github.com/mozilla-mobile/fenix/issues/22211 - Use Hero images for Recent Bookmarks 3 years ago
Noah Bond cbfc23f8cc [fenix] Recent bookmark count telemetry (https://github.com/mozilla-mobile/fenix/pull/22293)
* For https://github.com/mozilla-mobile/fenix/issues/22075 - Added event to track the count of recent bookmarks

* For https://github.com/mozilla-mobile/fenix/issues/22075 - Added data review issue number

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

* For https://github.com/mozilla-mobile/fenix/issues/22107 - Fixed lint errors

* For https://github.com/mozilla-mobile/fenix/issues/22107 - added data review number to metric

* For https://github.com/mozilla-mobile/fenix/pull/22166 - fixed expiration date

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
3 years ago
Gabriel Luong 45e9bf6693 [fenix] For https://github.com/mozilla-mobile/fenix/issues/21776 - Remove unused symbols 3 years ago
Noah Bond 39a3aacc78 [fenix] For https://github.com/mozilla-mobile/fenix/issues/21773 - Updated "customize homepage" button to go to the new Homepage submenu in Settings 3 years ago
Arturo Mejia f4f7c1b0e0 [fenix] For https://github.com/mozilla-mobile/fenix/issues/21574: disabled the homescreen onboarding dialog. 3 years ago
Arturo Mejia c4eb7ea28b [fenix] For https://github.com/mozilla-mobile/fenix/issues/21493 show onboarding dialog for home sections 3 years ago
Gabriel Luong 450055a729 [fenix] For https://github.com/mozilla-mobile/fenix/issues/21413 - Remove unused OnboardingPrivateBrowsingViewHolder and OnboardingWhatsNewViewHolder 3 years ago
Arturo Mejia c3df9a26d2 [fenix] For https://github.com/mozilla-mobile/fenix/issues/21239 add telemetry for Allow users to customize their home screen 3 years ago
Arturo Mejia 5ce4a31be5 [fenix] For https://github.com/mozilla-mobile/fenix/issues/21095 add customize home button on the home screen. 3 years ago
Elise Richards 1e1a52e6f5 [fenix] For https://github.com/mozilla-mobile/fenix/issues/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 0a2cdff945 [fenix] Issue https://github.com/mozilla-mobile/fenix/issues/2783: Add snackbar to collection deletion 3 years ago
Sebastian Kaspari 5272c60934 [fenix] Fix intermittent test failures in DefaultSessionControlControllerTest. 3 years ago
Christian Sadilek fb66b53852 [fenix] Issue https://github.com/mozilla-mobile/fenix/issues/20533: Fix intermittent failures of DefaultSessionControlControllerTest 3 years ago
Sebastian Kaspari 6ea19d4b17 [fenix] Run ktlintFormat to adapt to latest formatting rules. 3 years ago
Sebastian Kaspari 2e02e54516 [fenix] Update Robolectric and mockk. 3 years ago
Elise Richards 611774676d [fenix] For FNX-22339: Recently saved bookmarks (https://github.com/mozilla-mobile/fenix/pull/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 63775af142 [fenix] Closes https://github.com/mozilla-mobile/fenix/issues/19921: Update appcompat and fragment dependencies to 1.3.x 3 years ago
Gabriel Luong e8352f7d63 [fenix] For https://github.com/mozilla-mobile/fenix/issues/19916 - Add last viewed tab to home screen
Co-authored-by: Jonathan Almeida <jalmeida@mozilla.com>
3 years ago
Christian Sadilek 1b6aa1dfff [fenix] Issue https://github.com/mozilla-mobile/fenix/issues/17800: Cleanup and fix request desktop site from home 3 years ago
Jonathan Almeida aa8d5795b2 [fenix] Issue https://github.com/mozilla-mobile/fenix/issues/19112: Remove old tab tray code 3 years ago
MarcLeclair 4c45f615bb [fenix] 16900 make navgraph inflation asynchronous (https://github.com/mozilla-mobile/fenix/pull/18889)
* For https://github.com/mozilla-mobile/fenix/issues/16900: implement async navgraph inflation

For https://github.com/mozilla-mobile/fenix/issues/16900: removed nav graph from xml

For https://github.com/mozilla-mobile/fenix/issues/16900: inflate navGraph programatically

For https://github.com/mozilla-mobile/fenix/issues/16900: Made NavGraph inflation asynchronous

For https://github.com/mozilla-mobile/fenix/issues/16900: Changed to block with runBlocking

For https://github.com/mozilla-mobile/fenix/issues/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 https://github.com/mozilla-mobile/fenix/issues/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 https://github.com/mozilla-mobile/fenix/issues/16900: inflateNavGraphAsync now takes navController

For https://github.com/mozilla-mobile/fenix/issues/16900: Pass lifecycleScope to NavGraphProvider

For https://github.com/mozilla-mobile/fenix/issues/16900: removed unused mock

For https://github.com/mozilla-mobile/fenix/issues/16900: Added linter rules for navigate calls

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

For https://github.com/mozilla-mobile/fenix/issues/16900: Added TestRule to help abstract the mocks in the code

For 16900: Fix linting problems

For https://github.com/mozilla-mobile/fenix/issues/16900: Cleaned duplicated code in tests

For https://github.com/mozilla-mobile/fenix/issues/16900: cleaned up NavGraphTestRule for finished test

For https://github.com/mozilla-mobile/fenix/issues/16900: had to revert an accidentally edited file

For https://github.com/mozilla-mobile/fenix/issues/16900: rebased master

* For https://github.com/mozilla-mobile/fenix/issues/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 https://github.com/mozilla-mobile/fenix/issues/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 ed8d36520e [fenix] For https://github.com/mozilla-mobile/fenix/issues/18375: Add experiment for set default browser New Tab card. 3 years ago