Commit Graph

421 Commits (1e5433cfc0639a21ab46ef272654462ef736a746)

Author SHA1 Message Date
Noah Bond c329af178e Bug 1814988 - Add paging to `TabsTray` 1 year ago
Ryan VanderMeulen fcd5d5c6ae Bug 1820233 - Remove unneeded kotlin_stdlib inclusions and re-enable Werror in detekt build.gradle 1 year ago
rahulsainani a8447fc586 Bug 1820130 - Use compose foundation insets over accompanist insets 1 year ago
Aaron Train 3c054c11a4 Bug 819153 - Add androidx tracing dep to resolve NoSuchMethodError 1 year ago
mcarare 5315062482 Bug 1802817 - Replace deprecated variant.mergedFlavor.applicationId with variant.applicationId. 1 year ago
mcarare de3b18f003 Bug 1802817 - Migrate packagingOptions DSL properties to resources sub-block.
exclude, pickFirst methods are deprecated.
1 year ago
mcarare 547dc62353 Bug 1802817 - Migrate DSL properties from aaptOptions to androidResources.
AaptOptions interface is deprecated and renamed to AndroidResources
1 year ago
mcarare 6dd7b106cf Bug 1802817 - Set namespace via DSL in gradle build files.
See https://developer.android.com/studio/build/configure-app-module#set-namespace
and https://issuetracker.google.com/issues/172361895
1 year ago
mcarare 4d8644516f Bug 1802817 - Rename DSL object from lintOptions to lint.
DSL object for configuring lint options lintOptions is deprecated.
1 year ago
mcarare 5a0b9d754d Bug 1813671 - Target JVM 11 bytecode
See https://developer.android.com/studio/releases/gradle-plugin#jvm-11-bytecode for details.
1 year ago
Gabriel Luong f19e9d7ee0 Bug 1815939 - Clean up AC autopublish code in Fenix and Focus 1 year ago
Johan Lorenzo 4c78ac1264 Bug 1808605 - part 3: Prefix fenix variants with `fenix` 1 year ago
Gabriel Luong 390e980860 Bug 1804785 - Consume AC via gradle build with relative path in Fenix 1 year ago
Gabriel Luong 6e5098f746 [fenix] Bug 1814232 - Consume upstream CFRPopupFullscreenLayout 1 year ago
sarah541 4018dd9726 [fenix] Update implementation of dependency 1 year ago
rxu 0d9bee37a5 [fenix] Update MOZILLA_ONLINE_ADDON_EXCLUSIONS 2 years ago
Gabriel Luong 47ba3a90ef [fenix] Bug 1804820 - Refactor Versions to FenixVersions 2 years ago
Gabriel Luong 9afbd1bc46 [fenix] Bug 1804820 - Refactor Deps to FenixDependencies 2 years ago
Arturo Mejia b3618309ca [fenix] No issue: Update add-ons collection. 2 years ago
Charlie Humphreys 0410b1ade3 [fenix] update for pr feedback and add sync login event 2 years ago
Roger Yang 9ec675687a [fenix] Close https://github.com/mozilla-mobile/fenix/issues/27023: Add capability to override telemetry URL using local properties 2 years ago
mcarare 393d5161df [fenix] For https://github.com/mozilla-mobile/fenix/issues/27541: Update AndroidX Annotation to latest version.
Add AndroidX Annotation as a direct dependency to app build.gradle.
Update imports for annotations moved to Companion Object.
2 years ago
Ryan VanderMeulen 6854f664ae [fenix] Update Google Play Review dependency to 2.0.0 2 years ago
mcarare c04cc0550d [fenix] For https://github.com/mozilla-mobile/fenix/issues/26930: Upgrade kotlin to 1.7.10 and compose compiler to 1.3.0.
Replace deprecated Xopt-in with op-in.
Replace deprecated Xjvm-default=enable with Xjvm-default=all.
2 years ago
mcarare 5e68dd591d [fenix] For https://github.com/mozilla-mobile/fenix/issues/27133: Specify type when retrieving resValues. 2 years ago
Ryan VanderMeulen 916200a3dd [fenix] Update protobuf to latest release. 2 years ago
mcarare 614073fe24 [fenix] For https://github.com/mozilla-mobile/fenix/pull/12725: Upgrade compose to 1.2.1 version.
Split versioning of compose compiler.
Enable Xjvm-default to allow inheriting from interfaces with '@JvmDefault' members
like AbstractComposeView, NestedScrollConnection.
2 years ago
Gabriel Luong ca9d35f3f7 [fenix] For https://github.com/mozilla-mobile/fenix/issues/26169 - MR Home Onboarding Dialog for upgrading users 2 years ago
Arturo Mejia c80ac7102a [fenix] For https://github.com/mozilla-mobile/fenix/issues/21894: Move Tabs Tray to compose: Individual tab viewholders: ListViewHolder. 2 years ago
Ben Dean-Kawamura 0aff519ba1 [fenix] Adding support for app-services error reporting 2 years ago
Mugurell 3f15a9079e [fenix] For https://github.com/mozilla-mobile/fenix/issues/25311 - Set tokens used when communicating with Pocket 2 years ago
bendk 1894c0528d [fenix] Added features to support application-services branch builds (https://github.com/mozilla-mobile/fenix/pull/22945)
- Added support for `localProperties.branchBuild.application-services`
  and `localProperties.branchBuild.android-components`.  These work like
  the autoPublish properties. However, rather than
  auto-building/publishing application-services/android-components as
  part of the fenix build, we build it ahead of time with a specific
  version name, then specify that version in `local.properties` as
  `localProperties.branchBuild.application-services.version`.
- Added support for the `localProperties.branchBuild.fenix` gradle
  property to set the version for fenito set the version for fenix
- Added support for the absolute paths when running the substutition
  scripts.

The plan is to use this feature to build/test fenix using a particular
checkout of application-services and androd-components, with the
versions set to the git commit id.
2 years ago
Jan-Erik Rediger f09f6bf618 [fenix] Auto-publish & substitute local Glean package
Careful with this: If anything inside Glean Core changes this will still
require a local substitute for the Gecko build.
2 years ago
Aaron Train 0aa4769862 [fenix] Upgrade AndroidX Espresso Deps and support API 30 (https://github.com/mozilla-mobile/fenix/pull/23904) 2 years ago
Mugurell 501829083d [fenix] For https://github.com/mozilla-mobile/fenix/issues/24618 - Add Fenix own ServiceWorkerSupport
This replaces the default implementation from Android-Components to add the
functionality to first navigate to the browser fragment before responding to
service workers' requests of opening new tabs.

This will register itself when the main activity is created and unregister
itself when that activity is destroyed to support requests even when the
activity is in background but prevent any leaks.
2 years ago
James Hugman 5f491b00bb [fenix] Move experimenter.json to experimenter.yaml 2 years ago
Mugurell e35120f075 [fenix] For https://github.com/mozilla-mobile/fenix/issues/24331 - Support for opening new tabs when requested by service workers
Use the new `ServiceWorkerSupport` AC components for this.
Had to be installed in `FenixApplication` since there is a circular dependency
between the initialization of the required engine the `tabsUseCases` arguments.
2 years ago
Sebastian Kaspari 51f88636e9 [fenix] Issue https://github.com/mozilla-mobile/fenix/issues/22489: Remove "Fennec to Fenix" migration code 2 years ago
Arturo Mejia 1855539ab4 [fenix] For https://github.com/mozilla-mobile/fenix/issues/23489: Update SentryService reference to use the latest Sentry SDK. 2 years ago
Arturo Mejia d2d23d32e0 [fenix] For https://github.com/mozilla-mobile/fenix/issues/23489: Update SentryService reference to use legacy component. 2 years ago
Roger Yang 6d3e2a9f74 [fenix] Close https://github.com/mozilla-mobile/fenix/issues/23804: Use version instead of date for telemetry/metrics expiration 2 years ago
Matthew Tighe 05d80bd9aa [fenix] closes https://github.com/mozilla-mobile/fenix/issues/23504: download focus wallpapers at runtime (https://github.com/mozilla-mobile/fenix/pull/23505)
* closes https://github.com/mozilla-mobile/fenix/issues/23504: download focus wallpapers at runtime

* address pr feedback

* only download wallpapers if feature flag is set
2 years ago
jhugman 9b651a484b [fenix] First use of Nimbus FML plugin (https://github.com/mozilla-mobile/fenix/pull/23400)
* Consume Nimbus FML plugin

* Convert Homescreen to use FML

* Convert nimbusValidation to use FML

* Convert legacy experiments to use the feature API and FML

Remove dead helper code and documentation

* Fixup failing test

Co-authored-by: Grisha Kruglov <gkruglov@mozilla.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2 years ago
Gabriel Luong 235c026c38 [fenix] For https://github.com/mozilla-mobile/fenix/issues/22727 - Add Contile to Top Sites 2 years ago
Grisha Kruglov 4ad2c1c592 [fenix] For https://github.com/mozilla-mobile/fenix/issues/22569: Remove allopen plugin and Mockable annotations 3 years ago
Sebastian Kaspari 798c9bc294 [fenix] Issue https://github.com/mozilla-mobile/fenix/issues/22580: Track APK size in perfherder 3 years ago
Matt Tighe 369af67f41 [fenix] Closes https://github.com/mozilla-mobile/fenix/issues/22321: Add temporary protoc version workaround for M1 Macbooks 3 years ago
Michael Comella e24a305ba0 [fenix] For https://github.com/mozilla-mobile/fenix/issues/21084: put git hash on About screen in release builds. 3 years ago
Sebastian Kaspari 6f4c47613a [fenix] Update Kotlin and Jetpack Compose versions. 3 years ago
Mugurell 6261e570c3 [fenix] For https://github.com/mozilla-mobile/fenix/issues/21593 - Persist stories categories selections in a Proto DataStore
A fast and easy solution with all the ACID requirements.
Also supports easy migrations if later the data we need persisted changes.
3 years ago
Jan-Erik Rediger 0a08c61e8d [fenix] Don't manually exclude glean-native
The latest geckoview-omni package correctly declares its capabilities,
including the `glean-native` one.
Additionally it is able to pick geckoview-omni over glean-native in all
configurations.
3 years ago
Sebastian Kaspari 10f5aa228b [fenix] Issue https://github.com/mozilla-mobile/fenix/issues/21172: Refactor UI tests accessing awesomebar suggestions. 3 years ago
Sebastian Kaspari 74500adfb5 [fenix] Issue https://github.com/mozilla-mobile/fenix/issues/21172: Replace BrowserAwesomeBar view with AwesomeBar() composable. 3 years ago
Jan-Erik Rediger 2ab11137aa [fenix] Ensure glean-native is excluded 3 years ago
Jan-Erik Rediger 3ea7d78268 [fenix] Use glean-native in tests
The Glean core native code is now shipped through GeckoView directly
(through its `-omni` packages).
For local tests we need a library matching the host-platform, which is
available in the glean-native package.
3 years ago
Arturo Mejia 1e64f87d67 [fenix] For https://github.com/mozilla-mobile/fenix/issues/20881 print if the build is a MozillaOnline 3 years ago
Christian Sadilek e9b1f3fb81 [fenix] Add missing androidx.lifecycle dependencies 3 years ago
Mickey Moz dccc1133b1 [fenix] Update Android Components version (https://github.com/mozilla-mobile/fenix/pull/21109)
* Update Android Components version to 93.0.20210901143120.

* For https://github.com/mozilla-mobile/fenix/issues/21043 - Integrate AC changes

* Fix breaking API changes of RestoreAction

Co-authored-by: Mugurell <Mugurell@users.noreply.github.com>
Co-authored-by: Christian Sadilek <christian.sadilek@gmail.com>
3 years ago
Christian Sadilek cda4440bad [fenix] Do not run unit tests in parallel
This is to investigate the intermittent mockk class
generation/loading issues. Since we can not reproduce
locally and the failures are intermittent they could
be caused by us running unit tests in parallel.
3 years ago
Sebastian Kaspari e38ed593d4 [fenix] Enable Android Autofill support in all build types. 3 years ago
Mugurell 4466a39727 [fenix] For https://github.com/mozilla-mobile/fenix/issues/17917 - Remove the `kotlin-android-extensions` plugin
This means no code will be generated by Kotlin Android Extensions for caching
views and also for @Parcelize annotated classes.

As recommended in the official documentation
https://developer.android.com/topic/libraries/view-binding/migration#gradle
we need to switch on using `kotlinx.parcelize.Parcelize` instead of
`import kotlinx.android.parcel.Parcelize`

For https://github.com/mozilla-mobile/fenix/issues/17917 - Remove the `kotlin-android-extensions` plugin

This means no code will be generated by Kotlin Android Extensions for caching
views and also for @Parcelize annotated classes.

As recommended in the official documentation
https://developer.android.com/topic/libraries/view-binding/migration#gradle
we need to switch on using `kotlinx.parcelize.Parcelize` instead of
`import kotlinx.android.parcel.Parcelize`
3 years ago
Mugurell b1cc91a9ac [fenix] For https://github.com/mozilla-mobile/fenix/issues/20586 - Basic Jetpack Compose implementation.
This is just the basic skeleton for the feature.
3 years ago
rxu d457385e79 [fenix] Use armeabi-v7a version code for MozillaOnline builds 3 years ago
Michael Comella fce543516e [fenix] No issue: move kotlin-allopen outside appVariants loop.
The kotlin-allopen plugin could be getting applied for each variant we
have in the app. With the changed code, it will only get applied once.
3 years ago
Michael Comella 13249f7080 [fenix] Closes https://github.com/mozilla-mobile/fenix/issues/20679: revert allowaccessmodification proguard disabling.
We disabled the allowaccessmodification proguard option because it broke
functionality or crashed the app (I can't rememeber). As far as we know,
the R8 bug was fixed in the R8 bundled with the Android Gradle Plugin
v4.1. We're now on AGP v7.0.0-rc1 so we should be able to revert this
now.

This commit reverts the following commits:

Revert "Proguard/r8: Do not allow access modification."
This reverts commit d2ec7c648856664c27b31831959fd2e83a580968.

Revert "Dump `proguard-android-optimize.txt` into local configuration for later modification"
This reverts commit c543ae338e0bce4a6e2395f3e72742d9c0d65042.
3 years ago
Sebastian Kaspari 5949766c5d [fenix] Enable Android Autofill in Beta builds. 3 years ago
Sebastian Kaspari cb0f5facd9 [fenix] Render debug info screen with Jetpack Compose. 3 years ago
Sebastian Kaspari ccd84ee8e5 [fenix] Remove over-eager protobuf stripping. 3 years ago
Sebastian Kaspari 70ae207572 [fenix] Issue https://github.com/mozilla-mobile/fenix/issues/19662: Use Java 11. 3 years ago
Michael Comella 40fed783ae [fenix] For https://github.com/mozilla-mobile/fenix/issues/19901: integrate Jetback Benchmark (microbenchmark). 3 years ago
Sebastian Kaspari b637a576f2 [fenix] Update to Kotlin 1.5.20, Android Gradle plugin 4.2.2 and Gradle 6.7.1. 3 years ago
Mugurell 1c733e918e [fenix] For https://github.com/mozilla-mobile/fenix/issues/20229 - Use the AC common implementation for ads/search telemetry
Everything should work exactly as before.
3 years ago
mcarare 613671c9c3 [fenix] For https://github.com/mozilla-mobile/fenix/issues/17917: Use View binding in onboarding cards. 3 years ago
Sebastian Kaspari e25cfcdc48 [fenix] Complete browser-state migration and remove browser-session dependency.
Co-authored-by: Christian Sadilek <christian.sadilek@gmail.com>
3 years ago
isabelrios abff667349 [fenix] Stop depending on JCenter - Screengrab and Falcon 3 years ago
Jonathan Almeida 8b8b96d7d4 [fenix] Issue https://github.com/mozilla-mobile/fenix/issues/19002: Use AbstractBinding from lib-state 3 years ago
William Lachance adb10fab4e [fenix] No issue - Stop generating `metrics.md` and direct to Glean Dictionary instead (https://github.com/mozilla-mobile/fenix/pull/19411)
Now that the Glean Dictionary (https://dictionary.telemetry.mozilla.org)
has hit production, our guidance is to move away from generating
metrics.md files. The Glean Dictionary is a better solution for this task
for a couple of reasons:

1. The Glean Dictionary contains a complete reference of all metrics
and pings sent by an application (not just those defined in the
application itself, as is the case with the markdown documentation)
2. The Glean Dictionary provides additional context and links beyond
what is provided by the documentation (for example, information on
how to access metric information via BigQuery or GLAM) as well as
annotations provided by data scientists in the course of analyzing data
(see, for example, the commentary section for:
https://dictionary.telemetry.mozilla.org/apps/fenix/metrics/metrics_search_count).

This should also reduce some of the churn/burden on people when
they submit PRs, as there is no longer any need to update metrics.md
as a part of them.
3 years ago
Sebastian Kaspari cf11703649 [fenix] Unit tests: Bump max heap size to 3072m. 3 years ago
Sebastian Kaspari c1e6f6c9e6 [fenix] Issue https://github.com/mozilla-mobile/fenix/issues/10941: Align Nightly version with Gecko/A-C version.
Instead of using a timestamp this will synchronize the Nightly version with the version
of Gecko / A-C. So when using 90.0.20210426143115 then the Nightly version will be
90.0a1 - similar to what Firefox desktop uses.
3 years ago
Sebastian Kaspari 7c11a19369 [fenix] Issue https://github.com/mozilla-mobile/fenix/issues/19040: Remove Leanplum (Nightly) 3 years ago
Sebastian Kaspari 692611fa13 [fenix] Remove browser-search references. 3 years ago
Sebastian Kaspari 41f7cc9d24 [fenix] Update to Mozilla Android Components 90.0 3 years ago
Jonathan Almeida 16f87e47e3 [fenix] Close https://github.com/mozilla-mobile/fenix/issues/18774: Migrate mutli-selection to store
Removes the recyclerview-selection library and replaces it with the
SelectionHolder/SelectionInteractor with a Store.

This is an implementation that's similar to what we have in other UI
lists (library).
3 years ago
Jonathan Almeida 0e3def9e83 [fenix] Close https://github.com/mozilla-mobile/fenix/issues/18443: Use recyclerview-selection for multi-select mode in tray
Add multi-select mode to the BrowserTabsAdapter. It has the
functionality to:
 - Enable multi-select mode on long-press.
 - Enable multi-select mode when changed by an external function.
 - Only works for normal tabs (as we currently have it).

Co-authored-by: "codrut.topliceanu" <codrut.topliceanu@softvision.ro>
3 years ago
Gabriel Luong f1b86e17ae [fenix] For https://github.com/mozilla-mobile/fenix/issues/18408 - Add a lazy getter for AutofillCreditCardsAddressStorage 3 years ago
Sebastian Kaspari d0152f7e79 [fenix] Integrate Android Autofill support into Nightly and debug builds. 3 years ago
Arturo Mejia 59b50be098 [fenix] Target Android 11 3 years ago
rxu 6f2c9fd4ed [fenix] Add MOZILLA_ONLINE_ADDON_EXCLUSIONS for Mozilla Online builds 3 years ago
Arturo Mejia b863777940 [fenix] For https://github.com/mozilla-mobile/fenix/issues/12822 - Opt-in of scoped storage 3 years ago
Jonathan Almeida 8a9b7d2ae0 [fenix] Close https://github.com/mozilla-mobile/fenix/issues/1340: Add support for WebAuthnFeature 3 years ago
Jonathan Almeida a4abe9782c [fenix] Close https://github.com/mozilla-mobile/fenix/issues/15979: Add MOZILLA_OFFICIAL flag for release builds
When we build release APKs on Mozilla infrastructure, we want a way to
know this in code for features that would only work on them.
3 years ago
William Durand cd40b8510e [fenix] Add new BuildConfig variables to support AMO non-production envs 3 years ago
isabelrios 0f6e44f7bc [fenix] Changes to run tests on beta builds (https://github.com/mozilla-mobile/fenix/pull/16786)
* Changes to run tests on beta builds

* remove dontoptime and fix bookmarks tests

* fix ktlint and smokeTest

* add variable for package name

* rebase and fix conflicts

* add yml files and modify script to run tests

* fix yml file indentation

* changes in kind file and add try_task

* fix error kind file

* fix error kind file 2

* fix error kind file 3

* fix reviewer comments

* remove mockwebserver implementation as per reviewer comment

* run beta tests only on releases branches

* reg exp for master branch

* reg exp for master branch2

* modify try_task with release branch

* remove try file

* let's start by running only one test

* address latest reviewers comments

* double check correct tasks for release branch

* remove try file after confirming beta build run

Co-authored-by: isabel rios <isabelrios@MBP-de-isabel-2.home>
4 years ago
Sebastian Kaspari 7e4471eda6 [fenix] Switch to new SessionStorage / session restore API. 4 years ago
Sebastian Kaspari 89b697a9bd [fenix] Update Android Components to 69.0.20201207103252. 4 years ago
Elise Richards 198c065970 [fenix] Closes https://github.com/mozilla-mobile/fenix/issues/8791: Use A-C tab counter and upgrades to A-C 69.0.20201203202830
Upgrades to A-C 69.0.20201203202830 and addresses breaking changes:
- Upgrades androidx workmanager to 2.4.0 in line with A-C.
- RecordingDevicesNotificationFeature was removed
- SearchUseCases accept parent session ID instead of session itself
4 years ago
jhugman 1c0e70d647 [fenix] Nimbus-SDK-119 Get Nimbus server endpoint at build time. (https://github.com/mozilla-mobile/fenix/pull/16682)
This PR builds on [AC#https://github.com/mozilla-mobile/fenix/pull/9024][1], and implements setting the Nimbus endpoints from [a secret set at build time][2].

For production use, this requires a secret named `nimbus_url` to be put into CI.

Note: Nimbus is currently behind a feature flag.

If developers wish to use a Nimbus server for local development, you can set the url by adding an entry into local.properties, e.g.:

```
nimbus.remote-settings.url=https://settings.stage.moz4ws.net
```

Without setting server, Nimbus will be able to function, except no experimental definitions will be fetched, and features under experiment will be configured as if not enrolled in the experiment.

[1]: https://github.com/mozilla-mobile/android-components/pull/9024
[2]: https://groups.google.com/a/mozilla.com/g/android-components-team/c/lAGVKQy8aiA/m/rY3uGAwhBAAJ
4 years ago
Sebastian Kaspari 668e8d62af [fenix] Introduce build flag for configuring test build type. 4 years ago
Sebastian Kaspari 0f988d0bc6 [fenix] Introduce build flag for disabling optmization. 4 years ago
jhugman d001a5aa36 [fenix] Nimbus Global Opt Out (https://github.com/mozilla-mobile/fenix/pull/16543) r=gl 4 years ago