Commit Graph

90 Commits (3e46fdc6f5f8fd3fd1826b00030e440a3c23539a)

Author SHA1 Message Date
Adam Novak a233c796fd Get build working again after merge 3 years ago
Adam Novak 12bbfa9c4c Merge tag 'v84.1.0' into beta-sync 3 years ago
Michael Comella e8bf955893 No issue: move StrictModeManager to perf package.
While StrictMode is not exclusively used for performance purposes, it's
primarily used for perf purposes so let's move it to the perf package
and code owner it.
4 years ago
Michael Comella 901c78684c For #15279: replace lazy with lazyMonitored in component groups.
By component groups, I mean I applied this to any class with the
class kdoc, "Component group for...".

There are a few instances of lazy we had to keep using the old API to
avoid having to update constructor arguments.
4 years ago
Abhijit Valluri e547c93311 Merge remote-tracking branch 'mozilla/master' into mozilla_main 4 years ago
Michael Comella 50959d997e For #13959: add marker when StrictMode is suppressed. 4 years ago
Abhijit Valluri 7a3cacf7f1 Merge branch 'mozilla_main' into fork 4 years ago
Jeff Boek 41a92a8d8b For #15593 - Reverts back to simple UUID creation without Fenix side caching 4 years ago
Michael Comella 56f78cb30c No issue: elaborate on Components class doc.
This is to clarify a misunderstanding I found in PR review.
4 years ago
Abhijit Valluri e04fbe2419 Merge branch 'mozilla_main' into fork 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
Michael Comella 6abeb2d9e7 For #13959: change StrictModeManager to class from object.
I originally tried to create this PR leaving this as an object to keep
the change simple but it wasn't worth it - once the object started to
keep state, we'd need to manually reset the state between runs. Also,
the tests were already getting hacky with static mocking so it was
easier to address some of those issues this way too.
4 years ago
Christian Sadilek d4ab728cff For #14034: Add debug preference to override AMO collection in Nightly 4 years ago
Adam Novak 5ddce84b81 Settle on 'forkmaintainers' everywhere which Mozilla lint rules accept 4 years ago
Adam Novak 0b3963f687 Adjust package names in code 4 years ago
Abhijit Kiran Valluri df9d8bceae
Create github actions for Continuous Integration! (#116)
* Add github actions workflows

* Add github actions for CI

* Fix lint and detekt errors

* Add caching to the github actions

* Add the workflow statuses to the README

* Give the jobs more descriptive names

* Consolidate github actions workflows to a single workflow

* Give the steps meaningful names, save detekt and lint results
4 years ago
Abhijit Valluri 48ea10cd9d Merge remote-tracking branch 'mozilla/master' into fork 4 years ago
ekager 806f74abe7 For #14680 - Revert ObserverRegistry changes to WifiConnectionMonitor 4 years ago
Adam Novak 030f0d5369 Merge remote-tracking branch 'upstream/master' into fork 4 years ago
Gabriel Luong 6d133c8d0c For #14529 - Show a dialog when the top sites limit has been reached 4 years ago
Abhijit Valluri 9024020daf Add settings to customize add-ons source collection 4 years ago
Adam Novak 06921f2961 Point at the replaced addon component classes 4 years ago
Adam Novak e13b236588 Merge remote-tracking branch 'upstream/master' into fork 4 years ago
Sachin 316b70940f
for #12573, added startup type and hasSavedInstance keys to app_startup_type telemetry (#13494) 4 years ago
Jeff Boek c73870b794 For #13507 - Performance fixes for the ReviewPromptController 4 years ago
Gabriel Luong 46aa6a003e For #10342 - Part 3: Use the TopSitesUseCase in the BrowserToolbarController and SessionControlController
Use the provided `addPinnedSites` and `removeTopSites` use cases in `BrowserToolbarController` and `SessionControlController`.
4 years ago
Grisha Kruglov f694861f1f Pass along crash reporter instance to PlacesHistoryStorage 4 years ago
Adam Novak 02dbc32b05 Use components that fixes https://github.com/mozilla-mobile/android-components/issues/8051 and reference new collection 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
Tiger Oakes c08d375c18
Move settings in components (#12675) 4 years ago
Tiger Oakes 2d066d77ad
Add tests for sync, wifi, and push (#12581) 4 years ago
ekager f863c341e8 Updates AC to 49.0.20200702190156 and fixes breaking changes 4 years ago
Tiger Oakes c958cc048a Update customtabs service 4 years ago
Arturo Mejia a36ec7279e No issue: Decrease the frequency for checking for new supported add-ons 4 years ago
Christian Sadilek 05496faa66 Clear speculative session on engine settings change 4 years ago
Vishwa Patel 4da22c605a For #10834 - Adding Sync Tabs Feature in Fenix 4 years ago
Gabriel Luong 63e529ac2b Added BrowserThumbnails dependencies 4 years ago
Sawyer Blatz dce16964c0
For #9208: Adds in-product prompt to homescreen (#9836) 4 years ago
Christian Sadilek 7f1ef17d8b No issue: Re-use existing usecases for addons 4 years ago
Michael Comella 4437ddd536 No issue: Move Do and OpenClass to utils pkg.
They were both in their packages by themselves, which feels unnecessary.
Unfortunately, a utils pkg is discouraged by kotlin but we don't have a
better place for them right now. Maybe an annotations/ pkg for the
latter?
4 years ago
Arturo Mejia f9cc2ccfe2 For issue #8017 enable SitePermissionsWifiIntegration 4 years ago
Christian Sadilek 5e9d5dd545 Closes #9414: Make AMO collection configurable 4 years ago
Severin Rudie 35a132d7ff
8017 advanced autoplay controls. (#8978)
* For #8017: add advanced autoplay controls
4 years ago
Grisha Kruglov eb14532c3c Closes #7450: Lazy storage initialization
Make sure that we actually lazily initialize our storage layers.

With this patch applied, storage layers (history, logins, bookmarks) will be initialized when first
accessed. We will no longer block GeckoEngine init, for example, on waiting for the logins storage
to initialize (which needs to access the costly securePrefStorage).
Similarly, BackgroundServices init will no longer require initialized instances of the storage
components - references to their "lazy wrappers" will suffice.

In practice, this change changes when our storage layers are initialized in the following ways.
Currently, we will initialize everything on startup. This includes loading our megazord, as well.

With this change, init path depends on if the user is signed-into FxA or not.

If user is not an FxA user:
- on startup, none of the storage layers are initialized
- history storage will be initialized once, whenever:
  - first non-customTab page is loaded (access to the HistoryDelegate)
  - first interaction with the awesomebar
  - history UI is accessed
- bookmarks storage will be initialized once, whenever:
  - something is bookmarked, or we need to figure out if something's bookmarked
  - bookmarks UI is accessed
- logins storage will be initialized once, whenever:
  - first page is loaded with a login/password fields that can be autofilled
  - (or some other interaction by GV with the autofill/loginStorage delegates)
  - logins UI is accessed
- all of these storages will be initialized if the user logs into FxA and starts syncing data
  - except, if a storage is not chosen to be synced, it will not be initialized

If user is an FxA user:
- on startup, none of the storage layers are initialized
- sometime shortly after startup is complete, when a sync worker runs in the background, all storage
layers that are enabled to sync will be initialized.

This change also means that we delay loading the megazord until first access (as described above).
4 years ago
Arturo Mejia ce4293c8c8 For issue #8908 Notify users when previously unsupported add-ons
become available
4 years ago
Jonathan Almeida 4ccda4d495 Log push crashes to CrashReporter 4 years ago
Jonathan Almeida 4bbf87d272 Closes #6730: Lazily initialize account manager on new push message 4 years ago
Grisha Kruglov e6e2dd94c7 Closes #7344: Login storage refactor
The a-c side of this work is in https://github.com/mozilla-mobile/android-components/pull/6128

This switches Fenix to use `SyncableLoginsStorage`, which caches a connection internally
on first access, and doesn't expose any lock/unlock APIs at the public boundary.
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 959e438ff3
Initializes GlobalAddonDependencyProvider 4 years ago