Commit Graph

232 Commits (9654b4dfb122b54b04369fe80a2f9c95811478e8)

Author SHA1 Message Date
Gabriel Luong 9654b4dfb1 For #27667 - Remove import-ordering from the list of disabled ktlint rules 2 years ago
kycn dda6719c32 Close #7227: Re-enable storage maintenance call.
Re-enable storage maintenance call by introducing WorkManager worker on A-C side and consuming it from Fenix.
The work request is periodic and the repeat interval is 24h. It requires the device to be idle and not to have
low battery. This feature is available only for Nightly for now.
2 years ago
Roger Yang d9d855685e Close #27023: Add capability to override telemetry URL 2 years ago
Meiirbek Baimuratov adfed996a2 For mozilla-mobile#27282: delete WallpaperManager 2 years ago
Jonathan Almeida 911f350642 Closes #27077: Load first run experiments synchronously.
Co-authored-by: Arturo Mejia <arturomejiamarmol@gmail.com>
Co-authored-by: Charlie Humphreys <chumphreys@mozilla.com>
Co-authored-by: jhugman <jhugman@users.noreply.github.com>
2 years ago
mcarare ffcef5ff2e For #26844: Fix ktlint issues and remove them from baseline. 2 years ago
Alexandru2909 070bf5ac24 For #26706 - Change TopSite.containsQueryParameters as Uri extension function 2 years ago
Mugurell fc6ee3e3d9 For #18175 - Add telemetry for cookies option in custom ETP. 2 years ago
MatthewTighe 72959901d8 Fixes #26245: refactor the WallpaperManager as several WallpaperUseCases 2 years ago
Jonathan Almeida d0c21c06aa Close #26041: Remove un-needed Nimbus workaround
This workaround was temporary and is not needed with the Nimbus groovy
plugin updates in Android Components.
2 years ago
Jonathan Almeida f03ee91ecb Close #26041: Re-set TrackingProtectionPolicy after Nimbus SDK is initialized
There are three issues here that we have uncovered while investigating
this bug:

 1. Settings.kt has a lazy block around `enabledTotalCookieProtection`
    which ends up caching the first result it evaluates.
 3. The `FeatureHolder` within FxNimbus caches the incorrectly
    evaluated value and returns this value hence forth.
 4. Nimbus is not ready to return a result for an engine experiment
    when we need it early on in the dependency tree initialization.

There are multiple systems that require engine to be initialized for
 them to work (e.g. Glean, Profiler, concept-fetch). In our TCP,
 experiment, we need to apply these engine settings during the engine
 initialization. So when we try and evaluate Nimbus that early on, it
 has not had time to initialize itself correctly or even use the
 engine's concept-fetch client to return the correct experiment result.
 This bug is made worse because of the first two caching bugs where we
 are always holding onto a cached value of the wrong result.

Our temporary solution is to:

 1. Remove the `lazy` around `Settings.enabledTotalCookieProtection`.
 2. Set the `FxNimbus.api` value right after we are done initializing
    `FxNimbus` and `NimbusApi` so that all future queries to FxNimbus
    will be made against a real instance of `NimbusApi`. This is a
    short-term fix for the `FeatureHolder` caching bug.
 3. Set a new TrackingProtectionPolicy that will evaluate Nimbus now
    that it is in the correct state when receive the
    `NimbusInterface.Observer.onUpdatesApplied`.

Co-authored-by: jhugman <jhugman@users.noreply.github.com>
Co-authored-by: Christian Sadilek <christian.sadilek@gmail.com>
2 years ago
Noah Bond db0162465b For #26289 - Remove search term tab groups metrics and setting 2 years ago
Jan-Erik Rediger 06488cdabe Move startup perf measurements to a background thread
This is required to avoid loading the Glean core library (provided by libxul) early on.
Fenix needs to do the time measurement itself for now.
2 years ago
Gabriel Luong 1207180aa8 For #25933 - Ensure sponsored tiles are enable if enrolled in active experiment 2 years ago
Alexandru2909 4d430adbbe For #25764 - Prevent sponsored shortcut URLs from appearing as `frecent` shortcuts 2 years ago
Mugurell d4dd62341a For #25401 - Record Pocket sponsored stories telemetry 2 years ago
Mugurell c5f37f01eb For #25538 - Add "metrics" telemetry for if default wallpaper is shown 2 years ago
Ben Dean-Kawamura ad222521be Adding support for app-services error reporting 2 years ago
jhugman 30fa80151d
Change FxNimbus/Nimbus startup sequence (#25266)
* Change FxNimbus initialization sequence

Add cache invalidation

* Change ordering of message restoration and Nimbus initialization

* Address reviewer comments
2 years ago
Arturo Mejia 1384414327 Revert "Change FxNimbus initialization sequence (#25089)"
This reverts commit 51ba7ab463.
2 years ago
jhugman 51ba7ab463
Change FxNimbus initialization sequence (#25089)
* Change FxNimbus initialization sequence

* Add cache invalidation
2 years ago
Gabriel Luong da1c5b9bf7 For #25115 - Remove showWallpapers feature flag 2 years ago
MatthewTighe 0f952284e6 for #24929: remove locale restriction for remote firefox wallpapers 2 years ago
Mugurell 5383d3ed63 For #24618 - Add Fenix own ServiceWorkerSupport
This replaces the default implementation from Android-Components to add the
functionality to first navigate to the browser fragment before responding to
service workers' requests of opening new tabs.

This will register itself when the main activity is created and unregister
itself when that activity is destroyed to support requests even when the
activity is in background but prevent any leaks.
2 years ago
Mugurell 526b9a17d7 For #24593 - Initialize Glean on all builds. Avoid Fennec check.
This completes the work for removing the Fennec migration support.
Before that, for Fenix release and beta, apps to which users might update to
from old Fennec builds the Glean initialization was done separately in
MigratingFenixApplication to allow time to first migrate user's telemetry
setting.
With the removal of the migration support it is now safe to initialize Glean in
the same way for all builds and remove that Fennec check.
2 years ago
Mugurell 6fb54b08f2 For #24331 - Support for opening new tabs when requested by service workers
Use the new `ServiceWorkerSupport` AC components for this.
Had to be installed in `FenixApplication` since there is a circular dependency
between the initialization of the required engine the `tabsUseCases` arguments.
2 years ago
Alexandru2909 f924f74434 For #24207 - Remove Event.wrapper for ToolbarSettings telemetry 2 years ago
Arturo Mejia 4389da7811 For #24222: Persist user interactions with nimbus messages 2 years ago
Noah Bond ccd8084dd4 For #24467 - Enable Contile setting telemetry 2 years ago
Brais Gabín 1f633edd7d For #23046 - Align detekt config between Fenix and Android Components
Co-authored-by: Gabriel Luong <gabriel.luong@gmail.com>
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 c9a47d08a8 For #24130 - Change Shortcuts setting to toggle the display of Top Sites 2 years ago
Gabriel Luong 56022546f2 For #23893 - Add telemetry for Contile services 2 years ago
Arturo Mejia 1c66804c0b Add remote wallpapers 2 years ago
MatthewTighe 9b4a85942d fixes #23981: open download function and override for test 2 years ago
Gabriel Luong 37a0edceb6 For #23431 - Display the order of Contile Top Sites correctly 2 years ago
Matthew Tighe 9dc0506ec2
closes #23504: download focus wallpapers at runtime (#23505)
* closes #23504: download focus wallpapers at runtime

* address pr feedback

* only download wallpapers if feature flag is set
2 years ago
jhugman 82a6f8cae4
First use of Nimbus FML plugin (#23400)
* Consume Nimbus FML plugin

* Convert Homescreen to use FML

* Convert nimbusValidation to use FML

* Convert legacy experiments to use the feature API and FML

Remove dead helper code and documentation

* Fixup failing test

Co-authored-by: Grisha Kruglov <gkruglov@mozilla.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2 years ago
Gabriel Luong e5e7e6dbcf For #23409 - Specify fetchProvidedTopSites parameter for TopSitesConfig 2 years ago
mcarare cdbe7983f5 For #22879: Filter default engines when sending telemetry.
Filter out custom engines that are not well known search domains.
2 years ago
mcarare 00280d3b65 For #20513: Use UrlMetricType for search engine submission url. 2 years ago
Mugurell d4a6facd81 For #22155 - Store inactive tabs count telemetry when user opens tabs tray
Setting this value in FenixApplication.onCreate was buggy because of a race
with restoring BrowserState.
Setting it here would ensure a better granularity of the events and so to more
accurate reporting.
3 years ago
Noah Bond 811f255b71
MR2 Telemetry: Opening screen preference (#22333)
* For #22145 - Added telemetry to the opening screen preference.

* For #22145 - Added PR number to metric

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
3 years ago
Mugurell 953f6feb17 For #22155 - The inactiveTabsCount probe reports actualInactiveTabs number 3 years ago
Mugurell f9b67091c6 For #22155 - New BrowserState.actualInactiveTabs public method
This allows querying from all throughout the app which of the current tabs are
inactive while taking into consideration whether the feature is enabled or not
such that when the feature is disabled it will always return an empty result.
3 years ago
Mugurell 207e85e59d For #22155 - Inactive tabs count telemetry
A quantity probe in the metrics ping means we'll loose the granularity events
provided but it will be easier to extract the values.

For reporting whether the inactive tabs feature is enabled or not we already
have the "preferences.inactive_tabs_enabled" probe so I didn't duplicate this.
3 years ago
Roger Yang a46905b5e7 Issue #22057: Add search term groups telemetry 3 years ago
Mugurell 018fe15072 For #22138 - Install source metrics probe 3 years ago
Arturo Mejia 940af156eb For #22192 add telemetry for studies 3 years ago
Michael Comella 99533626f1 For #21921: rename MarkersLifecycleCallbacks to ...ActivityLifecycle...
This is to disamibugate with the MarkersFragmentLifecycleCallbacks that
we'll be adding.
3 years ago