Commit Graph

203 Commits (1f633edd7d4436f20ead4ba657b1284b94cca0c6)

Author SHA1 Message Date
Tiger Oakes a7e74e308b
Migrate some SessionManager usage to BrowserStore (#10789) 4 years ago
sraturi 372bb421cc created kotlin doc for FenixApplication 4 years ago
ekager 70755adf6e For #10036 - Workaround for System Theme changes with config change 4 years ago
Michael Comella f3ed207bdb For #8803 - review: Add clarifying comments to onAppInit capture methods. 4 years ago
Michael Comella f49fc6dad2 For #8803: hook up frameworkStart metric. 4 years ago
Christian Sadilek 7f1ef17d8b No issue: Re-use existing usecases for addons 4 years ago
Grisha Kruglov 6c38b77315 Part 6: Kick-off account manager initialization after visual completeness
In order to hide the time it takes for the account manager to be initialized
(which always involves disk IO, and often network IO), let's kick it off
after "visual completeness".
This makes sure that for most users, by the time they interact with the account
manager-related functionality (e.g. in Settings), it's ready to go.

Also, for signed-in users, this will establish background sync workers.
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
Grisha Kruglov 9e324fa02a Perform storage warm-up after visual completeness 4 years ago
Grisha Kruglov e541e10427 Initialize storage after visual completeness
In order to eat the perceived performance costs, we initialize storage
once we're visually complete. This way, we're reducing chances of user performing
a UI action which will trigger storage init and delay said action.
4 years ago
Jonathan Almeida 3d387e2dde Add nightly-only feature flag for WebPush integration 4 years ago
Arturo Mejia ce4293c8c8 For issue #8908 Notify users when previously unsupported add-ons
become available
4 years ago
Jonathan Almeida ef42becbf9 For #9059: Add WebPush engine integration 4 years ago
Sebastian 89a260ecd9 Use new MemoryConsumer.onTrimMemory() API. 4 years ago
Jonathan Almeida 4bbf87d272 Closes #6730: Lazily initialize account manager on new push message 4 years ago
Arturo Mejia 4cf34b47ee
Show a notification when add-on update requires new permissions 4 years ago
Arturo Mejia 30f351910a
Make sure all installed extensions are registered for updates 4 years ago
Will Hawkins f9b716286a For #8034: Create a post-visual completeness executor
Create an object that will execute its enqued tasks
when Fenix is visually complete.
4 years ago
Arturo Mejia cfa6f0cc7a No issue: Submit exceptions while updating add-ons to the crashReporter 4 years ago
Grisha Kruglov fddf77280c Remove direct A-S dependency; switch to using 'full' megazord
As far as I can tell, we never actually exercise the a-s libraries in Fenix tests currently (this was one of the presumed reasons for having a direct dependency).
In a different branch I've started work on adding end-to-end tests, but currently that's blocked on trying to figure out to load native libraries in tests (somehow, fenix's setup is different than what we have in A-C, not yet clear to me in what way).

Another reason for a direct dependency (i think) is that we needed it to configure a `fenix` megazord. This could be solved via a `support-megazord-fenix` a-c component that provides the correct transient dependencies,
but we can also just switch to use the `full` megazord instead, which is essentially what fenix megazord is at this point. A-S team wants to remove the fenix megazord, so this will help. This is what this patch does.
4 years ago
Arturo Mejia 959e438ff3
Initializes GlobalAddonDependencyProvider 4 years ago
Jeff Boek cbad832b19 For #8153 - Allow web-extensions to open tabs in correct browsing mode 4 years ago
Jeff Boek 541bcf072a Reverts all BrowsingModeManager changes 4 years ago
Emma Malysz 15ff4726a0 For #8056: remove Experiments.initialize from FenixApplication
Experiments will not be used before GA and are thus being removed
for performance wins.
4 years ago
Simon Chae 2c01022c4b For #8153: Allow web-ext to open new tabs in correct browsing mode 4 years ago
Jeff Boek 952c48c8ce For #4674 - Adds ability to toggle metric services by type 4 years ago
Michael Comella a896b47cfe For #7820: warm BrowsersCache on background thread.
In an early iteration of his patch on a beta build, I saw no improvement over
6 runs (Pixel 2):
- Before: 401.5ms
- After: 402.17ms

This may be attributed to noise in startup performance. However,
BrowsersCache disappears from profiles completely and results in
theoretical performance gains.

When using the StartupTimeline class (not landed yet), I see a 27.75ms
runtime improvement on beta builds after this patch.
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
Sebastian Kaspari 18244cef51 Closes #7762: Initialize Glean later in Fennec builds. 4 years ago
Sebastian Kaspari 9a15103a20 Issue #7762: Enable glean based on setting for non-fennec builds. 4 years ago
Sawyer Blatz 509fa112d0 For #6308: Remove unecessary telemetry & bump expiry date (#7793)
* For #6308: Remove unecessary telemetry

* For #6308: Bump expiry date on telemetry
4 years ago
Sebastian Kaspari 29d9ba472c Always initialize glean. Set upload flag after migration. (#7717) 4 years ago
Colin Lee 7baf54f566
For #5182: Loading experiments on startup is slow, remove Fretboard (#7510)
This removes Fretboard. The goal is to reduce cold startup costs associated with loading the experiments on the main thread. We currently have two experiments frameworks in use and should only require one.
4 years ago
ekager cf05840c0f Move experiments initialization and fix ktlint errors 4 years ago
Mihai Branescu ea2411a88b Feature/#220 language menu (#7070)
* For #220
- Added advanced header + locale settings item in the settings fragment

* For #220
- Added locale selection page with lib state + handling of locale changes

* For #220
- Removed registering for locale changes in the manifest, allow system
to restart activity in that scenario

* For #220
- Added unit tests for locale settings page

* For #220: fixed an outdated unit test
ga-a

Co-authored-by: Severin Rudie <Baron-Severin@users.noreply.github.com>
4 years ago
Severin Rudie 9cbc3f7a4a
7410 remove rxjava (#7426)
* For #7410: rewrite updateBookmarkFromObservableInput with coroutines

* For 7410: remove RxJava from project. :(

* For 7410: converted updateBookmarkFromTextChanges to Flow per review
4 years ago
Michael Comella cf143489e1 For #6464: Replace use of BuildConfig.DEBUG with ReleaseChannel.channel.isDebug.
This fixes performance issues where StrictMode would greatly slow down
startup in the forPerformanceTest variants.
4 years ago
Grisha Kruglov 52334f9121 Closes #6937: Disable runStorageMaintenance during startup
This call will acquire a "write" lock at the storage layer (sqlite's reserved+),
which may interfere with migrations that run during startup as well (they need to
write to storage, and so also need to acquire a lock). If these operations clash,
we get a SQLITE_BUSY crash. For now, just disable the maintenance operation.
4 years ago
Will Hawkins a69253cf22 Issue #5183: Initialize megazord asynchronously
Thanks to the work of the team at application-services, it is possible
to asynchronously initialize the Http client and logger used by megazord
Use that power to hide the time necessary to complete this initialization
within the time that it takes to warmup the gecko runtime.
5 years ago
Sebastian Kaspari 8a330d413c Closes #4982: Migrate Gecko files before initializing engine. (#6738) 5 years ago
Emily Kager d9615108ee For #6354 - Removes ETP Experiment, Removes Feature Flags, Sets Strict Default 5 years ago
Sawyer Blatz 284f3cf0f5 For #4456: Updates total_uri_count upload (#6482) 5 years ago
Emily Kager 1ee0703bc3 For #6441 - Only enable experiments for Beta/Prod 5 years ago
Sawyer Blatz 8549b80272 For #4456: Adds total_uri_count to metrics core ping (#6003) 5 years ago
Emily Kager 6435a503ca For #6219 - Reset default setting if user opts out of experiments 5 years ago
Denys M 6290c0c826 Closes #2441. Update LeakCanary to `2.0-beta-3` version. 5 years ago
Severin Rudie 411ccc8f1f For 4780: add DefaultBrowsingModeManager tests 5 years ago
Severin Rudie 10f334303d For #4780: remove previous fix for leaking private mode status
This didn't function when 'open links in a private tab' was set.  Rather than adding another sketchy fix for the edge case, following commits will change `usePrivateMode` to be maintained in memory, instead of in Settings.
5 years ago
Emily Kager 2b19b28d25 For #5651 - Set up Standard vs Strict Tracking Protection Experiment 5 years ago
Sawyer Blatz 841b06b02f
No issue: fixes master (#5777) 5 years ago
Severin Rudie 3be06953d6 For #4780 switch off private mode (#5614)
* Do not launch in Private Mode

When the app launches do not launch in Private Mode in order to prevent usage leaks to other users of the device.

* Issue #4780: add comments to use private mode

* For #4780: write tests for clear private mode on create app

* For #4780: clear private mode when privacy notification is removed
5 years ago
Tiger Oakes ee1f040e53 No issue: Move signedIn tracking to BookmarksSharedViewModel (#4755) 5 years ago
Sawyer Blatz 856399e9e2
No issue: Fixes GleanMetricsService nits & broken UI test (#5539)
* No issue: Fixes GleanMetricsService nits

* No issue: fixes broken UI test
5 years ago
Emily Kager 25e2a7abfc For #2765 - Run places maintenance daily (#5466) 5 years ago
Tiger Oakes 8c30200ced Only use Context.settings() function (not getter) (#5335)
Remove unused String extensions
5 years ago
Tiger Oakes 284cbab9ea Use .orEmpty() 5 years ago
Grisha Kruglov 8a9340fd9d Post: Clean up 'push' initialization code 5 years ago
Mihai Adrian a31eb1f371 Code Health #4883: Refactored accessing settings by using Context extensions (#4973) 5 years ago
Jonathan Almeida ccd9e44a3e No issue: Add logging for firebase/autopush 5 years ago
Jonathan Almeida 18ca62b887 For #4063: Remove SendTab feature flags 5 years ago
Yeon Taek Jeong cc5408d717
For #2053: Add persistent notification to close all private browsing tabs (#4913) 5 years ago
Jonathan Almeida 681257bea7 For #4960: Initialize push only if available (#4964) 5 years ago
Jeff Boek bfb2beabe7
For #4063 - Always enable the push service (#4932) 5 years ago
Emily Kager 1cf8a40059 For #4295 - Adds Experiments Pref to Data Collection Settings (#4915) 5 years ago
Tiger Oakes 33f3b14c29 Adds setters and property delegates in `Settings` (#4809)
* Change Settings to use setters

* Add delegate for shared preferences
5 years ago
Michael Cooper 12371ca9c1 Add no-op experiment to test service-experiments integration (#4551)
* Add no-op experiment to test service-experiments integration

* Shorten metric name to meet schema

* Add active_experiment metric to docs

* Add approved data review
5 years ago
Travis Long 51218bc93e Integrate service-experiments component (#4098) 5 years ago
Thom Chiovoloni a1adb2e57f Update fenix for new megazord setup 5 years ago
Christian Sadilek b646e87d9e No issue: Add engine warmup call 5 years ago
Jonathan Almeida 2531e9dd62 No issue: Use correct server host and force subscribe for push 5 years ago
Christian Sadilek b91895a81c Closes #1350: Use GeckoView fetch client for service-fretboard / kinto 5 years ago
Tiger Oakes ef8d9604ae No issue: Normalize license header comment (#3909) 5 years ago
Colin Lee 2feddc9bd6
No issue: Enable Strict Mode in Debug Builds (#4014) 5 years ago
Tiger Oakes 30930cdc88 Import variables referred to by path 5 years ago
Jeff Boek 6527e05405 For #2738 - Re-throws exceptions to send better data into the crash reporters 5 years ago
Colin Lee 96b68948b5
For #1710: Create scaffolding for Robolectric tests (#2282) 5 years ago
Emily Kager 1c7f48be5b For #2214 - Use Settings + SharedPreferences for Private Mode (#2215)
* For #2214 - Use Settings + SharedPreferences for Private Mode

* Update other values to use SharedPreferences
5 years ago
Christian Sadilek d8f06097ca No issue: Use GeckoView fetch implementation for A-S libs (megazord) 5 years ago
Thom Chiovoloni 0b80aba038 Bump application-services version and initialize networking in the megazord 5 years ago
Will Hawkins c7d3f00a9e For #1616: Parallelize the loading of experiments. 5 years ago
ekager 3ad204712a For #1399 - Only show battery saver theme preference for API <P 5 years ago
Colin Lee fc84d3afdc No issue: Fix build breakage on erroneous lint warnings for WrongConstant: MODE_NIGHT_AUTO_BATTERY 5 years ago
Jeff Boek c5205b6236 For #945 - Disable leanplum when we stop telemetry 5 years ago
Sawyer Blatz edc9d31729 Fixes #1219: Display crash reporter (without reporting) on all builds 5 years ago
Emily Kager a2200b6335 For #208 - Dark/Night Theme 5 years ago
Christian Sadilek a17b5b86c2 Closes #1329: Raptor performance tests can no longer be executed 5 years ago
Arturo Mejia 32478edf00 Moving onTrimMemory to application level. 5 years ago
Jeff Boek 3f86764a3a Fixes #1041 - Disables telemetry when the toggle is off 5 years ago
Jeff Boek 9dc0b4781a Fixes #965 - Adds a metrics wrapper for telemetry 5 years ago
Jeff Boek 521ca74836 Fixes #891 - Adds the leanplum sdk 5 years ago
Colin Lee b9aee25edd Fixes #675: Integrate Adjust SDK (for Greenfield flavor) 5 years ago
Grisha Kruglov 9a9740bfd3 Issue #309: Consume Fenix megazord; enable Rust logging 5 years ago
Sebastian Kaspari e02724727e Update to Mozilla Android Components 0.45.0-SNAPSHOT and GeckoView Nightly 67.0.20190227104426. 5 years ago
Sebastian Kaspari 4aa2030ab1 Revert "Update to Mozilla Android Components 0.45.0-SNAPSHOT and GeckoView Nightly 67.0.20190226093755. (#676)"
This reverts commit 49d527d0dd.
5 years ago
Sebastian Kaspari 49d527d0dd Update to Mozilla Android Components 0.45.0-SNAPSHOT and GeckoView Nightly 67.0.20190226093755. (#676) 5 years ago
Colin Lee 2bc769190e Fixes #401: Resolve known leak and install LeakCanary 5 years ago
Sebastian Kaspari 951a5dfbad Fix breaking API changes of latest AC snapshot. 5 years ago
Colin Lee b7542b2208 Remove hardcoded clientID for Fretboard 5 years ago
Sebastian Kaspari 7d807f5a0a Closes #263: Integrate service-glean component. 5 years ago
Colin Lee 273f33b244 Fixes #290: Integrate new Fenix architecture 5 years ago
Sebastian Kaspari d5515c9f6e Issue #267: Integrate lib-crash component and upload crash reports to sentry and socorro. 5 years ago
Jeff Boek 3e0ed05c0e Adds missing licenses 5 years ago
Jeff Boek 480ae93a72 For #141 - Adds autocomplete ot the search screen
- Adds convenience extensions to Context and Fragment
- Imports more components from Android Components
5 years ago