Commit Graph

284 Commits (2380d518081c7e003b8737bfd18af40d414ef8ee)

Author SHA1 Message Date
MarcLeclair 7b1af41b40
15278 detekt rule runblocking (#15942)
* For #15278: added CoroutineManager to count runBlocking calls

* For #15278: Added actual detekt rule for runblocking and its config to the yaml

* For #15278: Added unit test for RunblockingCounter

* For #15278: renamed StrictModeStartupSuppressionCountTest.kt to PerformanceStartupTest.kt and added runBlockingCount test

* Lint fix

* For #15278: made runblocking a Long to prevent overflow

* For #15278: fixed MozRunblocking name, description and moved RunBlockingCounter to perf package

* For #15278:Renamed MozillaRunblockingCheck to MozillaRunBlockingCheck

* For #15278: Added setup for unit test, since it failed without restting counter

* For #15278: Fixed naming for RunBlocking lint check

* For #15278: removed changes made to test to use runBlockingIncrement

* For #15728: added test exclusion for runBlocking check

* For #15278: changed null check and added Synchronized to count setter

* For #15278: fix for nits

* For #15278: added StartupExcessiveResourceUseTest to CODEOWNERS

* For #15278: fixed for nits

* For #15278: Moved increment function to extension function and fixed indentation

* For #15278: Added tests for Atomic Integer extension and nit fix
4 years ago
Mihai Adrian Carare 0ee7e1c28d
For # 15929: Remove the search widget discoverability experiment. (#16081)
* For #15929: Remove SearchWidgetCFR telemetry.

* For #15929: Remove SearchWidgetCFR and search widget experiment.

* For #15929: Remove unit tests references to search widget experiment.
4 years ago
Michael Comella 4a000ab4f9 For #15644: change apply to with in GleanMetricsService.
While the callback receiver is identical in these two methods, they're
semantically different: apply is for initializing the receiver while with
is anything else benefiting from a new `this` receiver.

I didn't change the usage of apply that has a return statement because I
was afraid my change might change behavior.
4 years ago
Michael Comella 690554b5c6 For #15644: mock package inspection dependencies in GleanMetricsService.
The new robolectric version changed the behavior such that the app ID
that was returned for our app was `org.mozilla.fenix.debug` instead of
(I guess) `org.mozilla.fenix`. In general, relying on robolectric can be
fragile, such as this case, so it's better to mock. Also, this test
behavior should theoretically have varied between build flavors so
mocking prevents the tests from breaking across flavors.
4 years ago
ekager 508ec8b8ff For #15347 - Adds telemetry for tabs settings 4 years ago
Michael Comella a1bbd2589e For #10069 - review: change extra name to firstFramePreDrawNanos. 4 years ago
sraturi 8f16f9cb37 for #10069 added AppLaunchTimeMeasurement.kt to handle logic of startup time for cold, warm, and hot startup types. 4 years ago
Jeff Boek 41a92a8d8b For #15593 - Reverts back to simple UUID creation without Fenix side caching 4 years ago
Stefan Arentz ff930175de
For #15537 - Be more verbose about leanplum identifiers (#15538) 4 years ago
Michael Comella f19c9920f9 For #13959: move resetAfter into StrictModeManager.
In a followup PR, we need to add state to strictModeManager (the
number of suppressions). This is much simpler to do when this is defined
as a class rather than an object. However, when this is defined as a
class, `resetAfter` needs access to the strictModeManager. Instead of
passing it in as an argument, it made sense to move this function onto
the strictModeManager instead.

Since folks are used to calling:
```
StrictMode.ThreadPolicy.allowThreadDiskReads().resetAfter
```

We're going to have to add a lint check to prevent them from doing that.
4 years ago
Grisha Kruglov 71b51146cb Update breaking changes in the FxA/Sync integration 4 years ago
Sawyer Blatz 1f17371df6 For #14565: Add telemetry for top sites 4 years ago
ekager b986730031 No issue - Updates AC to 58.0.20200910190642 and fixes imports 4 years ago
ekager 83ffcac57e For #13926 - MP migration 4 years ago
Sachin 316b70940f
for #12573, added startup type and hasSavedInstance keys to app_startup_type telemetry (#13494) 4 years ago
Jeff Boek c58fa028bf For #13368 - Ignores strict mode for LeanplumMetricsService 4 years ago
liuche b01dbeeebf
For #12046 - Renew telemetry probes before migration completion (#13958)
* For #12046 - Renew telemetry probes before migration completion
* Delay remaining probes renewal for one more month.
4 years ago
sraturi 5ccbca25c0 for #13479, added a VisualCompletenessQueue.kt class to handle all the functionality related to visual completeness 4 years ago
Kate Glazko f83372b67c For #349: View Downloads 4 years ago
Jeff Boek 446f1d678e For #11656 - Adds addon user attributes to leanplum 4 years ago
Kainalu Hagiwara 52d4ffdef0 For #13424 - Fix detekt config and warnings. 4 years ago
Sebastian Kaspari 77263aad70 Validate deep links. 4 years ago
ekager df7aafc2df For #11610 - Fire sign in event for other types of auth events 4 years ago
ekager bf19e4a3fd For #11280 - Adds FxA Signed Up Leanplum Event 4 years ago
Jeff Boek ef7cf4fdcf For #13229 - Cache deviceId for reuse 4 years ago
Elise Richards 3e8cab19c0
For #10261: PWA Telemetry (#11859)
* Add PWA events to metrics.

Track events for add to homescreen and install.

Map PWA facts to events

* Map component facts to local metrics

Add events pings to fragments

Supress long method for events

Move install event to AC and collect facts

Retrieve fg and bg events from Facts. Do not track intent fg/bg events, only views

* Allow onPause in base fragment to send telemetry for PWA in the external app fragment. Track foreground and bg locally in fenix, and route install and home screen taps from AC facts

* Rebase
4 years ago
Tiger Oakes 70c66185d8 Renamed Metrics to Event 4 years ago
Tiger Oakes 661ffdfae2 Moved MetricsService to its own file 4 years ago
Tiger Oakes f6b38552d2 Move MetricController to its own file 4 years ago
jhugman 79c3f3c925
For #11664 — Fixup MissingResourceExceptions being thrown in exotic Locales (#13124)
Our kotlin code is not catching the `MissingResourceException` in the `LeanplumMetricsService` which results in the app crashing when the locale isn't known by the device.

Catches the exception, and falls back to the ISO 639 language code. This isn't a great solution, because ISO 639 isn't especially stable.

In practice however this is almost certainly never going to be a problem because Leanplum isn't going to be supported in such exotic locales.

In this case, using the ISO 639 language code allows the error message to be more informative.
4 years ago
Jeff Boek 12b95b4902 For #11579 - Adds telemetry for autoplay settings in Site Permissions 4 years ago
Tiger Oakes f75be41d3a Add metric tests 4 years ago
Sawyer Blatz 4b646c03cb For #9730: Add Login Dialog Prompt telemetry 4 years ago
ekager 19ffb84cf9 For #11654 - Adds leanplum ETP changed event 4 years ago
Sawyer Blatz 8bfc493568 For #12103: Add ChangedDefaultBrowser event for leanplum 4 years ago
Sawyer Blatz 2b1122bc77 For #11531: Add search widget installed leanplum event 4 years ago
sraturi 537d95c04d for #11830 created class containing the logic for sending AllStartup telemetry logic
lint check

renamed the intentReceived telemetry to appOpenedAllSource

added comments

removed unused code

moved lifecycle process to AppAllSourceStartTelemetry

moved tracking event out of init function

lint fix

moved appAllStartTelemetry to components

added bit more info about the metrics

added the  onReceivedIntent metric back

minor fix

change discriptions based on the comments frm MR

wrote test cases for AppAllSourceStartTelemetry.kt

lint fix

test case to mock application going background

post rebase:

post rebase:

fixed nit from comments

fixed nit from comments

fixed nit from comments

lint fix

lint fix
4 years ago
Elise Richards b7325a3833
For #12571: Rename shortcuts to search engine on search screen (#12839)
* Rename shortcuts to search engine on search screen

* Remove deprecated pref key

* Re-add deprecated string
4 years ago
Tiger Oakes 8f5a37733d
Create ToolbarPosition enum (#12747) 4 years ago
Johan Lorenzo 7e7d69cb8e
Bug 1652979 - Stop producing fennecNightly, fenixNightly and fenixBeta (#12225) 4 years ago
Elise Richards 023a4983fa
For #10173: login duplicates and save (#11208)
* Extract controller into it's own class. Implement find dupes and filter based on username.

Create edit login controller. Add text watchers and check for duplicates.

Edit controller test

* Find duplicates and save to store

* Retrieve duplicates from AC and check list on username text changed

Move duplicates logic into the controller

* Add glean pings for delete and edit. Move logic for login manipulation into the datastore.

* Use correct threads in controller. Enable save button when applicable.

Save enabled in datastore.

Move login data to datastore

Rebase with password error states

Update metrics to be more specific for edit

* Create logins controller for AC calls

* Interactor and controller methods for edit login. Add edit view to separate out some layout manipulation.

Inflate view in edit fragment. Double layout showing up.

Edit view

Controller tests

Controller tests passing

Interactor tests

Lint and detekt cleanup

* Remove datastore and use storage controller for all logins calls to password storage.

Addressed comments

Lint
:

Rebase - 1
4 years ago
jhugman fb1d7e12e6
For #11704 Add leanplum attributes for tracking protection (#11965) r=sblatz
* For 11657: add LP attribute for tracking protection

* For #11704: added tracking_protection_enabled attribute

* Added docs for the new attributes, linking to data-review to the mma.md

* Rename null to none when no ETP is enabled
4 years ago
jhugman 9df13ae121
For #11655: add leanplum event for installing an addon (#12136) r=elise
* For #11655: add leanplum event for installing an addon

* Add link to data-review request in PR

* Addressed CI comments
4 years ago
Sachin 4b9cc954fa
for #11830 added new metric for collecting startup method from all startup phases (#11940)
* for #11830 added new metric for collecting startup method

move all source startup telemetry into its own logic and added an UNKOWN state

* switched back to onNewIntent solution

* renamed the metric
4 years ago
Sawyer Blatz 8a08cb941e
For #11479: Record open tabs count in metrics ping (#12024) 4 years ago
Sawyer Blatz 101ecfbf66
For #11273: Add tabs tray telemetry (#12036) 4 years ago
Elise Richards eeabcb10ff
Fix illegal arguments for onboarding keys (#12033) 4 years ago
Sawyer Blatz 04aee11d82
For #9625: Add telemetry for Tracking Protection CFR (#11923) 4 years ago
Elise Richards 665fb8d60c
#10824: Onboarding telemetry (#11867)
* Onboarding events and tracking

* Rename metrics for consistency

* Add reference to PR for the data review

* Add default values to onboarding events
4 years ago
Sawyer Blatz 2d65faf232
For #11392: Rename Installation ping to FirstSession (#11869) 4 years ago
person808 9e3e95e351 For #11442 - Telemetry for tab counter menu. 4 years ago
Sawyer Blatz fffbadbfca
For #11118: Add browsing history suggestion in metrics (#11525) 4 years ago
Sawyer Blatz 13d077eb66
For #11269: Telemetry for new reader mode position (#11385) 4 years ago
Sawyer Blatz d1cd877374 For #11118: Add missing telemetry 4 years ago
Sawyer Blatz 932a2f3703 For #11063: Update telemetry for etp settings 4 years ago
Dennis Schubert d046d908fc Bug 1643132 - Remove native "Report site issue" functionality.
This will be replaced by the WebCompat team's system extension that ships as an android-component.
4 years ago
Sawyer Blatz 9302d07d13 For #11118: Add toggle states to metrics ping 4 years ago
Gabriel Luong 9520c9dd32 For #8920 - [Telemetry] Send add-on ids in a metrics ping 4 years ago
Vishwa Patel 4da22c605a For #10834 - Adding Sync Tabs Feature in Fenix 4 years ago
Sawyer Blatz b06be1fcde For #9488 Add telemetry for search widget CFR 4 years ago
Sawyer Blatz 7067e5c000
For #8125: Add default top site telemetry (#10752) 4 years ago
Sawyer Blatz 477493e197
For #10465: Add telemetry for voice search (#10785) 4 years ago
Grisha Kruglov d37529e416 Perf telemetry for awesomebar suggestion provider durations
See mozilla-mobile/android-components#6802 for details; requires that PR.
4 years ago
ValentinTimisica 15dfe0811d For #10343: Updates metrics accordingly to 'Library' removal 4 years ago
ValentinTimisica b2e5820364 For #10343: Remove 'Library' functionality from the app
Also adds Bookmarks and History items to browser menu.
4 years ago
Sawyer Blatz 17fb7c1df7
For #10426: Removes installation ping GAID (#10532) 4 years ago
Sawyer Blatz b87c40d42f
For #10426: Sends GAID to Installation instead of Activation ping. (#10529) 4 years ago
Sawyer Blatz 02f6e6868e
For #10426: Adds identifier to Glean for 24 hours (#10446) 4 years ago
Jeff Boek d72e455c0d No Issue - Update to AC 41.0.20200505190119 4 years ago
Mihai Branescu f09bc4566c For #6557 - added metric for in_content 4 years ago
Mihai Branescu 93ca1f6d9f For #6558 - added handling of web extension + sending metric for has_ads 4 years ago
Vlad Filippov e51e1c878b Add 'useEmail' and 'useEmailProblem' metrics event
Fixes #9834
4 years ago
Sawyer Blatz dce16964c0
For #9208: Adds in-product prompt to homescreen (#9836) 4 years ago
Michael Droettboom 3789f50423 Fix errors in top_sites_count metric
We discovered in the Fenix metrics errors query [1] that
top_sites_count had a spike in the number of errors. It
seems to be recording a count of 0, which is an invalid value.

[1] https://sql.telemetry.mozilla.org/queries/67107/source#169983
4 years ago
Gabriel Luong dc6d479da3
For #6174 - Add telemetry for WebExtensions (#8318) 4 years ago
ekager fd60270da8 For #9533 - Switch to using enum for Library Item Selected Telemetry 4 years ago
ekager 96c6401457 For #8125 - Send top sites count with metrics ping 4 years ago
Grisha Kruglov be1fa8df7d Pre: introduce a RunWhenReadyQueue
This replaces the StartupTaskManager we had with a more general class.
New implementation is a thread-safe "gated task executor", which either
runs the task right away if it's marked as 'ready', or queries it to be
executed later on.

This ability to either execute or queue a task will be useful later on in the
commit series.
4 years ago
Sawyer Blatz 9feb44852b
For #9256: Attempts to fix installation ping not being sent (#9331) 4 years ago
Sawyer Blatz a356b4b2c4
For #9136: Send all adjust properties to glean (#9253) 4 years ago
Sawyer Blatz b9059c8208
For #9256: Attempts to fix installation ping not being sent (#9254) 4 years ago
Jim Porter ec98fd948b For #7847: Improve startup performance of the Fenix wrapper around Glean 4 years ago
Harshal Lele e318cd7d15 fix #8135 - remove getColorFromAttr 4 years ago
MarcLeclair 41f9311e20
For #7448: Move LP to IO dispatcher (#8558) 4 years ago
Jeff Boek 7aeb5f072d For #7295 - Adds more documentation for the installation metrics 4 years ago
codrut.topliceanu d6ae3d4abe For #7295 - Adds new custom ping: 'installation' 4 years ago
ekager b72550c28a For #8126 - Adds default top sites 4 years ago
Mugurell ad1144c722 For #6577 - Remove the `total_uri_count` Glean StringMetricType
This was added as a duplicate to an already existing `total_uri_count`
CounterMetricType in #4456.
4 years ago
Jeff Boek 127169f5ff For mozilla-mobile#8172: Add a new 'E_Fennec_To_Fenix_Migrated' Leanplum event
This new event will be sent when the user has successfully migrated from Fennec
to Fenix.
This event will only be sent to Leanplum and not to the other telemetry
services like Glean or Adjust.

Co-authored-by: ValentinTimisica <valentin.timisica@softvision.ro>
4 years ago
ValentinTimisica 33616e0042 For #8172: Add a new "Fenix" Leanplum attribute 4 years ago
Jeff Boek 952c48c8ce For #4674 - Adds ability to toggle metric services by type 4 years ago
Jeff Boek 9f3faa43fe For #4674 - Adds marketing data as a collection choice 4 years ago
Emily Kager 9e4e23eceb
Closes #8176 - Adds new string for add to top sites (#8209) 4 years ago
Gabriel Luong 64a4a7f422
Provide add-on support (#8064)
Closes #5630, #6069, #6092, #6091, #6124, and #6147.

Co-authored-by: Simon Chae <chaesmn@gmail.com>
Co-authored-by: Arturo Mejia <arturomejiamarmol@gmail.com>
Co-authored-by: Christian Sadilek <christian.sadilek@gmail.com>
Co-authored-by: Gabriel Luong <gabriel.luong@gmail.com>
4 years ago
ValentinTimisica 0a76fdaa58 For #7289: Adds telemetry for selecting dark theme 4 years ago
ValentinTimisica 2026c60136 For #6834: Adds telemetry for About page items
Didn't change the existing probe for 'whats new' item because we're already
collecting that info.
4 years ago
Gabriel Luong f93e141d52 For #7525 - Add telemetry for opening a top site in normal and private mode and removing a top site 4 years ago
Gabriel Luong e1863dd3c2 For #6758 - Part 4: Implement "Add to Firefox Home" browser menu item
- The "Add to Firefox Home" browser menu item adds a top site to the top site storage.
- Refactors the FenixSnackbar from BaseBrowserFragment into BrowserToolbarController
since there are multiple menu items that need to show a FenixSnackbar.
- Adds metrics for the new browser menu item.
4 years ago
ekager c556e819bd For #5586 - Add telemetry for save logins setting 4 years ago
Mihai Adrian 355cb35cb6 For #7574: Send toolbar position metrics in English. (#7712) 4 years ago