Commit Graph

140 Commits (6d6939bce9d9f759b8ddd0ded40d623a2e302daf)

Author SHA1 Message Date
Jonathan Almeida 5819a7c0a4 [fenix] Close https://github.com/mozilla-mobile/fenix/issues/18862: Add multi-select banner to tabs tray (https://github.com/mozilla-mobile/fenix/pull/18932)
* Issue https://github.com/mozilla-mobile/fenix/issues/18862: Add new addBookmark BookmarksUseCase

* Issue https://github.com/mozilla-mobile/fenix/issues/18862: Add class for state binding features

* Issue https://github.com/mozilla-mobile/fenix/issues/18862: Add delete multiple tabs to tray interactor

* Issue https://github.com/mozilla-mobile/fenix/issues/18862: Add new actions to navigation interactor

* Issue https://github.com/mozilla-mobile/fenix/issues/18862: Enable select mode from main tray menu

* Issue https://github.com/mozilla-mobile/fenix/issues/18862: Add menu when in select mode

* Close https://github.com/mozilla-mobile/fenix/issues/18862: Add multi-select banner to tabs tray

* Close https://github.com/mozilla-mobile/fenix/issues/18862: Add select support for handle UI

We apply various layout changes to the "handle" UI in the tabs tray when
switching modes. It isn't quite clear to my, why we do this, if it's
really needed to meet the end result, and if there is a better way.

For now, we're simplying moving over that logic that we can re-evaluate
at a later time.
3 years ago
Michael Comella f5accce70f [fenix] For https://github.com/mozilla-mobile/fenix/issues/18426: add StartupActivityStateProvider.
This will be used to filter conditions for the start up telemetry we're
adding.
3 years ago
Michael Comella ee31fe29c2 [fenix] For https://github.com/mozilla-mobile/fenix/issues/18426: add ApplicationStartReasonProvider.
We need to know this state to add a correct COLD MAIN probe.
3 years ago
Mihai Adrian Carare 02cabca0c5 [fenix] Closes https://github.com/mozilla-mobile/fenix/issues/12565: Clean up use of Context within ReviewPromptController. (https://github.com/mozilla-mobile/fenix/pull/18537) 3 years ago
Sebastian Kaspari d0152f7e79 [fenix] Integrate Android Autofill support into Nightly and debug builds. 3 years ago
Christian Sadilek 96393f85e9 [fenix] Remove Session[Manager] references from Fennec intent processors 3 years ago
Christian Sadilek e2d45f84e9 [fenix] Deprecate SessionManager component 3 years ago
Christian Sadilek 07ddc9ae84 [fenix] Increase AMO collection cache timeout to 2 days 3 years ago
William Durand cd40b8510e [fenix] Add new BuildConfig variables to support AMO non-production envs 3 years ago
MickeyMoz 0dc93ba95f [fenix] Update Android Components version to 71.0.20210117143132. 3 years ago
Arturo Mejia e5956c919f [fenix] For https://github.com/mozilla-mobile/fenix/issues/16847: Allow autoplay to controlled via the toolbar. 3 years ago
Arturo Mejia 05ded2a9cd [fenix] For issue https://github.com/mozilla-mobile/fenix/issues/13981 Use DEEP_LINK_SCHEME instead of hard-coded fenix 3 years ago
Christian Sadilek 61e10d8561 [fenix] Update IntentProcessors after breaking API change 4 years ago
Sebastian Kaspari d50140272a [fenix] Integrate new search code from Android Components into Fenix. 4 years ago
Michael Comella a6cef89dc2 [fenix] 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 3879697c06 [fenix] For https://github.com/mozilla-mobile/fenix/issues/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
Michael Comella 86a44fb728 [fenix] For https://github.com/mozilla-mobile/fenix/issues/13959: add marker when StrictMode is suppressed. 4 years ago
Jeff Boek d81eff94bd [fenix] For https://github.com/mozilla-mobile/fenix/issues/15593 - Reverts back to simple UUID creation without Fenix side caching 4 years ago
Michael Comella af732f0748 [fenix] No issue: elaborate on Components class doc.
This is to clarify a misunderstanding I found in PR review.
4 years ago
Michael Comella 8a9472e540 [fenix] For https://github.com/mozilla-mobile/fenix/issues/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 5f8943f76c [fenix] For https://github.com/mozilla-mobile/fenix/issues/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 76018e2fe0 [fenix] For https://github.com/mozilla-mobile/fenix/issues/14034: Add debug preference to override AMO collection in Nightly 4 years ago
ekager c3ba6ed946 [fenix] For https://github.com/mozilla-mobile/fenix/issues/14680 - Revert ObserverRegistry changes to WifiConnectionMonitor 4 years ago
Gabriel Luong 12707f2b74 [fenix] For https://github.com/mozilla-mobile/fenix/issues/14529 - Show a dialog when the top sites limit has been reached 4 years ago
Sachin 8025efc0d7 [fenix] for https://github.com/mozilla-mobile/fenix/issues/12573, added startup type and hasSavedInstance keys to app_startup_type telemetry (https://github.com/mozilla-mobile/fenix/pull/13494) 4 years ago
Jeff Boek 4e2b53b340 [fenix] For https://github.com/mozilla-mobile/fenix/issues/13507 - Performance fixes for the ReviewPromptController 4 years ago
Gabriel Luong 159f46c1c9 [fenix] For https://github.com/mozilla-mobile/fenix/issues/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 5c7af211dd [fenix] Pass along crash reporter instance to PlacesHistoryStorage 4 years ago
sraturi adfcf08a49 [fenix] for https://github.com/mozilla-mobile/fenix/issues/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 adbadba250 [fenix] Move settings in components (https://github.com/mozilla-mobile/fenix/pull/12675) 4 years ago
Tiger Oakes 2a7e8f7adb [fenix] Add tests for sync, wifi, and push (https://github.com/mozilla-mobile/fenix/pull/12581) 4 years ago
ekager e4dcad8f00 [fenix] Updates AC to 49.0.20200702190156 and fixes breaking changes 4 years ago
Tiger Oakes 766c82ba60 [fenix] Update customtabs service 4 years ago
Arturo Mejia 28936e41db [fenix] No issue: Decrease the frequency for checking for new supported add-ons 4 years ago
Christian Sadilek e0dfa09cc3 [fenix] Clear speculative session on engine settings change 4 years ago
Vishwa Patel d7faa8c2c5 [fenix] For https://github.com/mozilla-mobile/fenix/issues/10834 - Adding Sync Tabs Feature in Fenix 4 years ago
Gabriel Luong 231054a97a [fenix] Added BrowserThumbnails dependencies 4 years ago
Sawyer Blatz 8ed532ebdf [fenix] For https://github.com/mozilla-mobile/fenix/issues/9208: Adds in-product prompt to homescreen (https://github.com/mozilla-mobile/fenix/pull/9836) 4 years ago
Christian Sadilek 07b1f84ec6 [fenix] No issue: Re-use existing usecases for addons 4 years ago
Michael Comella b9fe826cef [fenix] 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 23c3c286de [fenix] For issue https://github.com/mozilla-mobile/fenix/issues/8017 enable SitePermissionsWifiIntegration 4 years ago
Christian Sadilek 0c9b5ec2a9 [fenix] Closes https://github.com/mozilla-mobile/fenix/issues/9414: Make AMO collection configurable 4 years ago
Severin Rudie a0193296bf [fenix] 8017 advanced autoplay controls. (https://github.com/mozilla-mobile/fenix/pull/8978)
* For https://github.com/mozilla-mobile/fenix/issues/8017: add advanced autoplay controls
4 years ago
Grisha Kruglov 51a31a42ba [fenix] Closes https://github.com/mozilla-mobile/fenix/issues/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 6a328a7207 [fenix] For issue https://github.com/mozilla-mobile/fenix/issues/8908 Notify users when previously unsupported add-ons
become available
4 years ago
Jonathan Almeida 3e4cb19f9d [fenix] Log push crashes to CrashReporter 4 years ago
Jonathan Almeida acc3bb4ec6 [fenix] Closes https://github.com/mozilla-mobile/fenix/issues/6730: Lazily initialize account manager on new push message 4 years ago
Grisha Kruglov f07442ba4e [fenix] Closes https://github.com/mozilla-mobile/fenix/issues/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 866d008e67 [fenix] For https://github.com/mozilla-mobile/fenix/issues/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 4b09a47cf5 [fenix] Initializes GlobalAddonDependencyProvider 4 years ago
Jeff Boek dba1d8166d [fenix] Reverts all BrowsingModeManager changes 4 years ago
Simon Chae 0e13878eb2 [fenix] For https://github.com/mozilla-mobile/fenix/issues/8153: Allow web-ext to open new tabs in correct browsing mode 4 years ago
Sebastian Kaspari 31c18a4708 [fenix] Closes https://github.com/mozilla-mobile/fenix/issues/4979 - Support Fennec web apps (PWAs). 4 years ago
Christian Sadilek b3aab5f601 [fenix] Closes https://github.com/mozilla-mobile/fenix/issues/4983: Fennec migration: Keep installed add-ons 4 years ago
Gabriel Luong aaf9c65f5d [fenix] Provide add-on support (https://github.com/mozilla-mobile/fenix/pull/8064)
Closes https://github.com/mozilla-mobile/fenix/issues/5630, https://github.com/mozilla-mobile/fenix/issues/6069, https://github.com/mozilla-mobile/fenix/issues/6092, https://github.com/mozilla-mobile/fenix/issues/6091, https://github.com/mozilla-mobile/fenix/issues/6124, and https://github.com/mozilla-mobile/fenix/issues/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
Jonathan Almeida 5c1dc2bbdc [fenix] For https://github.com/mozilla-mobile/fenix/issues/7092: Add initial Migration UI 4 years ago
ekager e7ed901f20 [fenix] For https://github.com/mozilla-mobile/fenix/issues/5545 For https://github.com/mozilla-mobile/fenix/issues/5542 Closes https://github.com/mozilla-mobile/fenix/issues/6696 Integrate logins API, adds Settings for Autofilling/Saving Logins 4 years ago
ekager 8f1e6a7ad0 [fenix] Add override for Core val in test 5 years ago
Emily Kager f279306478 [fenix] For https://github.com/mozilla-mobile/fenix/issues/5074 - Sync Logins, Uses KeySharedPreferences for Passwords Encryption Key 5 years ago
Grisha Kruglov 0ab4fb0e25 [fenix] For https://github.com/mozilla-mobile/fenix/issues/6490 - track abnormal FxA behaviour via Sentry 5 years ago
Tiger Oakes cfddef3077 [fenix] Use ManifestUpdateFeature 5 years ago
Tiger Oakes 90d9e14b9c [fenix] Closes https://github.com/mozilla-mobile/fenix/issues/394 - Trusted Web Activities (https://github.com/mozilla-mobile/fenix/pull/5391) 5 years ago
Christian Sadilek 462e4c6201 [fenix] Upgrade to A-C 15.0.0-SNAPSHOT (incl. required changes) (https://github.com/mozilla-mobile/fenix/pull/5578)
* Upgrade to Mozilla Android components 15.0.0-SNAPSHOT

* Update findinpage integration to use browser-state

* Use new UseCases APIs after download migration.
5 years ago
Sawyer Blatz 3c61270af5 [fenix] For https://github.com/mozilla-mobile/fenix/issues/1744: Adds tests for clipboard 5 years ago
Grisha Kruglov 6411072f0d [fenix] FxA WebChannels integration
This patch includes:
- WebChannels support enabled by default, with ability to disable it via remote flag
- expanded FxA telemetry (closes https://github.com/mozilla-mobile/fenix/issues/4971)

Co-authored-by: Arturo Mejia <arturomejiamarmol@gmail.com>
5 years ago
Tiger Oakes e4abe9cace [fenix] Closes https://github.com/mozilla-mobile/fenix/issues/773 - Add shortcuts to homescreen (https://github.com/mozilla-mobile/fenix/pull/4925) 5 years ago
Jonathan Almeida 0a6752deec [fenix] No issue: Move PublicSuffixList to root component
With the PublicSuffixList class in Utilities, the first instantiation
of it (prefetching in onCreate), causes the Utilities to instantiate
and thus slowing down startup by needing the SearchEngineManager from
instantiating as well.

Moving this back to the root component fixes the immediate perf issue.

Co-authored-by: Will Hawkins <whh8b@obs.cr>
5 years ago
Will Hawkins ac8a2e24e1 [fenix] No Issue: Move notification manager to member of background services
Instead of taking notification manager as a parameter
(from the utils class), create one private to the
BackgroundServices class. This means that we do not need
to create the entirety of utilities just to use
the notification manager.
5 years ago
chiragmantri f4522fe0fa [fenix] removed unused import. 5 years ago
chiragmantri d675a8588d [fenix] [https://github.com/mozilla-mobile/fenix/issues/4089] Moved PublicSuffixList to a sub-component(Utilities) class. 5 years ago
Tiger Oakes 8d3020ebcf [fenix] No issue: Normalize license header comment (https://github.com/mozilla-mobile/fenix/pull/3909) 5 years ago
Sawyer Blatz e8ffef6b52 [fenix] For https://github.com/mozilla-mobile/fenix/issues/2648: Updates trimming of url hostname (https://github.com/mozilla-mobile/fenix/pull/3191)
* For https://github.com/mozilla-mobile/fenix/issues/2648: Updates trimming of url hostname

* For https://github.com/mozilla-mobile/fenix/issues/2648: Fix nits
5 years ago
Jeff Boek 3a4015a02d [fenix] For https://github.com/mozilla-mobile/fenix/issues/2395 - Properly takes you back to where you start authentication on completion 5 years ago
Grisha Kruglov 86fefa5990 [fenix] Closes https://github.com/mozilla-mobile/fenix/issues/2770: Allow receiving tabs from FxA devices (https://github.com/mozilla-mobile/fenix/pull/2772)
* Closes https://github.com/mozilla-mobile/fenix/issues/2770: Allow receiving tabs from FxA devices

Now that we're on a-c 0.54, we can land this since it supports device
capability migration.

This patch adds a SEND_TAB device capability, making Fenix a valid target
in the Send Tab device list on Desktop Firefox.

Additionally, it adds a notification manager which manages notification
channels and knows how to display "received tabs" notifications".

* Post: remove unusued test file that's causing issues
5 years ago
Tiger Oakes 20619bce23 [fenix] Use UpdateTrackingProtectionUseCase
https://github.com/mozilla-mobile/android-components/issues/2746
5 years ago
Sawyer Blatz 848fbe390c [fenix] For https://github.com/mozilla-mobile/fenix/issues/2205 & https://github.com/mozilla-mobile/fenix/issues/1578: Integrates tab collection storage (https://github.com/mozilla-mobile/fenix/pull/2478)
* For https://github.com/mozilla-mobile/fenix/issues/2205: Adds TabCollectionStorage

* For https://github.com/mozilla-mobile/fenix/issues/1578: Adds delete to TabCollection
5 years ago
Colin Lee 28ee8089fd [fenix] For https://github.com/mozilla-mobile/fenix/issues/1710: Create scaffolding for Robolectric tests (https://github.com/mozilla-mobile/fenix/pull/2282) 5 years ago
Grisha Kruglov 11f620042b [fenix] Bookmark sync (https://github.com/mozilla-mobile/fenix/pull/2090)
* Closes https://github.com/mozilla-mobile/fenix/issues/919: Enable bookmarks synchronization

* Add bookmarks checkbox to sync preference screen
5 years ago
Grisha Kruglov 1af9ef177f [fenix] Revert "Closes https://github.com/mozilla-mobile/fenix/issues/919: Enable bookmarks synchronization"
This reverts commit fa40645b313bc34e8528ec78973bc8e2e46606d7.
5 years ago
Grisha Kruglov 9c347a31ba [fenix] Closes https://github.com/mozilla-mobile/fenix/issues/919: Enable bookmarks synchronization 5 years ago
Arturo Mejia f26f567915 [fenix] Closes https://github.com/mozilla-mobile/fenix/issues/1170: Allow user to add a new site exception to site permissions 5 years ago
Grisha Kruglov 8d0e949d0b [fenix] Integrate BackgroundSyncManager, enable history syncing
This patch integrates the new a-c BackgroundSyncManager, which is the
main entry point for interacting with Sync. Behind the scenes, it uses
WorkManager in order to sync configured syncable stores.

Current behaviour:
- sync runs on start, with a slight delay
- sync runs on a schedule few times a day, to lessen the startup sync burden

Also included is a basic UI integration in order to allow user to synchronize
on demand, and monitor sync state.
5 years ago
Grisha Kruglov 5767a3d756 [fenix] Issue https://github.com/mozilla-mobile/fenix/issues/418: Basic Firefox Accounts integration
This patch integrates relevant a-c components, and updates the current Preferences
UI to allow signing-in and displaying basic account information (email, displayName).

Currently there's no Accounts UI, and so singing out or otherwise interacting with the
account isn't possible.
5 years ago
Jeff Boek 704f35e027 [fenix] For https://github.com/mozilla-mobile/fenix/issues/355 - Present the Library when the menu item is tapped 5 years ago
Jonathan Almeida 48e606a407 [fenix] WIP: Integrate feature-customtabs component 5 years ago
Sebastian Kaspari 96ae28521f [fenix] Issue https://github.com/mozilla-mobile/fenix/issues/267: Integrate lib-crash component and upload crash reports to sentry and socorro. 5 years ago
Jonathan Almeida 79024eb29f [fenix] Closes https://github.com/mozilla-mobile/fenix/issues/268: Integrate feature-intent component 5 years ago
Emily Kager efc495b1e0 [fenix] Adds toolbar with autocomplete and menu to BrowserFragment 5 years ago
Jeff Boek b87e93ed12 [fenix] Adds missing licenses 5 years ago
Jeff Boek 699b4e6a02 [fenix] For https://github.com/mozilla-mobile/fenix/issues/141 - Adds autocomplete ot the search screen
- Adds convenience extensions to Context and Fragment
- Imports more components from Android Components
5 years ago