Commit Graph

83 Commits (5d500a1d660c2070dc0f3f39ffd826a6231c27cc)

Author SHA1 Message Date
Sebastian Kaspari 5d500a1d66 Issue #19040: Remove Leanplum (Beta) 3 years ago
Jonathan Almeida cebab81e07
Update Android Components to 67.0.20201117165227 (#16619) 4 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
Mugurell 34f0c84d46
For #16339 - Initialize FxaAccountManager with also a CrashReporter (#16340) 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
Jonathan Almeida f92485d1e8 For #12287: Add feature flag for Synced Tabs in tabs tray 4 years ago
Tiger Oakes 61d6b333de Update LongParameterList baseline 4 years ago
Tiger Oakes c2d940cf06
Use AC RunWhenReadyQueue (#12800) 4 years ago
Tiger Oakes c08d375c18
Move settings in components (#12675) 4 years ago
Hakkı Kaan Çalışkan bd85a9c399 remove suppress and unnecessary otherwise = private 4 years ago
Hakkı Kaan Çalışkan 87a65d2445 For #9782: Clean up unused FeatureFlags
I've currently found out this ones unused.
webPushIntegration removed because looks like all fatal bugs solved as it said from note.
4 years ago
Vishwa Patel 4da22c605a For #10834 - Adding Sync Tabs Feature in Fenix 4 years ago
ekager 5039546dc5 For #7208 For #7212 - Update parameterized strings 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
Grisha Kruglov 0677fc35de Part 1: Add 'accountManagerReady' queue to BackgroundServices
This gives us an ability to perform tasks against 'accountManager' without
causing its immediate initialization.
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 823eea44ed No issue: Add serverConfig param to FxaWebChannelFeature 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
Emily Kager 316215ca54 For #7999 - for Leanplum fxaHasSyncedItems use SyncEnginesStorage 4 years ago
Jonathan Almeida cbcc56bbba For #373: Implement LeanPlum push messaging
Also closes #6250, since we rely solely on the SDK itself to consume the
messages straight from FCM.
4 years ago
Jonathan Almeida 61570b5238 Closes #7645: Disable push service when migrating 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
Jeff Boek fdb1f505cc For #5552 - Reverts temporary fix for #5552 4 years ago
Jonathan Almeida 0768fde945 No issue: Use SendTabFeature and FxaPushSupportFeature 4 years ago
Vlad Filippov a3f2f55548 Closes #5913: Add new sessionToken scope (#6155) 4 years ago
Grisha Kruglov f099552ae3 Enable encryption of persisted FxA account state 5 years ago
Emily Kager c43f96096e For #5074 - Sync Logins, Uses KeySharedPreferences for Passwords Encryption Key 5 years ago
Grisha Kruglov 40047315c2 For #6490 - track abnormal FxA behaviour via Sentry 5 years ago
ekager f49331de55 For #5544: Bare Minimum Logins UI 5 years ago
Grisha Kruglov 031f923273 Revert sessionScopeToken to fix broken QR pairing flow 5 years ago
MozLando f66b9f3e8f Merge #5633
5633: Add fxa/sync integration tests r=csadilek a=isabelrios

 Pull Request checklist
<!-- Before submitting the PR, please address each item -->
- [x] **Quality**: This PR builds and passes detekt/ktlint checks (A pre-push hook is recommended)
- [x] **Tests**: This PR includes thorough tests or an explanation of why it does not
- [-] **Screenshots**: This PR includes screenshots or GIFs of the changes made or an explanation of why it does not
- [-] **Accessibility**: The code in this PR follows [accessibility best practices](https://github.com/mozilla-mobile/shared-docs/blob/master/android/accessibility_guide.md) or does not include any user facing features

This PR tries to add new tests, sync integration tests, to check the sync process Desktop<->Fenix, first for Bookmarks and in the future for more.

Co-authored-by: Isabel Rios <isabelrios@mackbookirios.home>
Co-authored-by: isabelrios <isabelrios@gmail.com>
5 years ago
Grisha Kruglov 17d183ea0b Closes #5913: Add new sessionToken scope 5 years ago
Isabel Rios 44f4cedefd Add fxa/sync integration tests
fixing Jenkins path to tests and clean tests

commenting future tests and adding doc with info about the tests
5 years ago
Grisha Kruglov a4097cd380 FxA WebChannels integration
This patch includes:
- WebChannels support enabled by default, with ability to disable it via remote flag
- expanded FxA telemetry (closes #4971)

Co-authored-by: Arturo Mejia <arturomejiamarmol@gmail.com>
5 years ago
Jeff Boek 1c9c5317eb For #5552 - Temporary fix for startup crash on es locales 5 years ago
Tiger Oakes 8c30200ced Only use Context.settings() function (not getter) (#5335)
Remove unused String extensions
5 years ago
Grisha Kruglov 8a9340fd9d Post: Clean up 'push' initialization code 5 years ago
Grisha Kruglov d67fb3eed2 Post: Add experiment flags, push and telemetry tests for BackgroundServices 5 years ago
Grisha Kruglov eeaeb973ff Post: minor cleanup 5 years ago
Grisha Kruglov c2fb99a73f FxA WebChannels integration
This patch includes:
- WebChannels support enabled by default, with ability to disable it via remote flag
- expanded FxA telemetry (closes #4971)

Co-authored-by: Arturo Mejia <arturomejiamarmol@gmail.com>
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
Grisha Kruglov 231924f5eb Fix breaking services APIs changes 5 years ago
Jonathan Almeida f25a9660e8 Closes #4218: Remove forced registration renewal for push 5 years ago
Jonathan Almeida 18ca62b887 For #4063: Remove SendTab feature flags 5 years ago
Sawyer Blatz 09ed721015 For #4969: Removes erroneous FxA sign up ping (#4970) 5 years ago
Jeff Boek bfb2beabe7
For #4063 - Always enable the push service (#4932) 5 years ago