Commit Graph

352 Commits

Author SHA1 Message Date
Michael Comella
6d609bc651 For #19901: integrate Jetback Benchmark (microbenchmark). 2021-07-22 15:24:35 +00:00
Sebastian Kaspari
140274c192 Update to Kotlin 1.5.20, Android Gradle plugin 4.2.2 and Gradle 6.7.1. 2021-07-19 09:20:50 +00:00
Mugurell
f95567912f For #20229 - Use the AC common implementation for ads/search telemetry
Everything should work exactly as before.
2021-07-14 17:55:24 +03:00
mcarare
36b50ea8d9 For #17917: Use View binding in onboarding cards. 2021-07-06 16:29:09 +00:00
Sebastian Kaspari
4753a1d494 Complete browser-state migration and remove browser-session dependency.
Co-authored-by: Christian Sadilek <christian.sadilek@gmail.com>
2021-06-09 18:30:21 +02:00
isabelrios
727d0256e0 Stop depending on JCenter - Screengrab and Falcon 2021-05-26 11:04:58 +02:00
Jonathan Almeida
e66983d093 Issue #19002: Use AbstractBinding from lib-state 2021-05-11 19:39:50 +04:00
William Lachance
f180119774
No issue - Stop generating metrics.md and direct to Glean Dictionary instead (#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.
2021-05-07 20:52:01 -04:00
Sebastian Kaspari
ea47db4a9e Unit tests: Bump max heap size to 3072m. 2021-04-30 16:40:42 +02:00
Sebastian Kaspari
70fe7d5886 Issue #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.
2021-04-29 09:50:07 +02:00
Sebastian Kaspari
7d690219ea Issue #19040: Remove Leanplum (Nightly) 2021-04-26 19:08:10 +02:00
Sebastian Kaspari
cf4847dc17 Remove browser-search references. 2021-04-22 13:18:10 +02:00
Sebastian Kaspari
a126f0913a Update to Mozilla Android Components 90.0 2021-04-21 11:44:37 +02:00
Jonathan Almeida
9078139e40 Close #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).
2021-04-07 19:14:54 +04:00
Jonathan Almeida
9ce4adaa32 Close #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>
2021-03-27 03:42:34 +04:00
Gabriel Luong
35bae17e86 For #18408 - Add a lazy getter for AutofillCreditCardsAddressStorage 2021-03-16 13:30:43 -07:00
Sebastian Kaspari
8856a3c1d7 Integrate Android Autofill support into Nightly and debug builds. 2021-03-15 10:28:38 +01:00
Arturo Mejia
0e8dc6164d Target Android 11 2021-02-24 14:26:08 -05:00
rxu
c9ed8a5b92 Add MOZILLA_ONLINE_ADDON_EXCLUSIONS for Mozilla Online builds 2021-02-22 10:00:57 -05:00
Arturo Mejia
e3b6f060ae For #12822 - Opt-in of scoped storage 2021-02-02 12:58:44 -05:00
Jonathan Almeida
66b94ced14 Close #1340: Add support for WebAuthnFeature 2021-01-29 22:57:49 +04:00
Jonathan Almeida
81e08b2e7f Close #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.
2021-01-29 10:51:33 +04:00
William Durand
0537594810 Add new BuildConfig variables to support AMO non-production envs 2021-01-21 17:42:55 -05:00
isabelrios
d8584ed632
Changes to run tests on beta builds (#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>
2021-01-14 15:47:36 +01:00
Sebastian Kaspari
1b6cebf4d4 Switch to new SessionStorage / session restore API. 2021-01-05 17:11:57 +01:00
Sebastian Kaspari
2cada405d8 Update Android Components to 69.0.20201207103252. 2020-12-07 15:21:08 +01:00
Elise Richards
77f061c362 Closes #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
2020-12-03 17:45:01 -05:00
jhugman
ea9f692007
Nimbus-SDK-119 Get Nimbus server endpoint at build time. (#16682)
This PR builds on [AC##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
2020-12-03 16:30:20 +00:00
Sebastian Kaspari
23edda5f65 Introduce build flag for configuring test build type. 2020-11-30 18:54:20 +01:00
Sebastian Kaspari
0a419efa92 Introduce build flag for disabling optmization. 2020-11-30 18:54:20 +01:00
jhugman
9cdfb6db4a
Nimbus Global Opt Out (#16543) r=gl 2020-11-19 11:17:25 +00:00
Sebastian Kaspari
5530e102f1
For #16302 - Use larger heap size when running unit tests and fork new process after every 80 test classes. (#16526) 2020-11-12 11:09:27 -05:00
Sebastian Kaspari
baaa85db80 Closes #16256: Introduce build flag for "Mozilla Online" variant.
This patch introduces a build flag that can be used on demand on the command line (`./gradlew -PmozillaOnline [..}`) or
permanently when added to local.properties (`mozillaOnline`).

At runtime `Config.channel.isMozillaOnline` will return `true` if the flag was set at build time.
2020-11-03 10:34:25 +01:00
Sebastian Kaspari
2da24cd91d
Update Android Components, Kotlin, Gradle plugin (#16021)
* Closes #13262: Update AGP to 4

* Update to Mozilla Android Components 63.0.20201019090011.

* Update Kotlin to 1.4.10 and Coroutines to 1.3.9.

* Fix new compiler warnings.

* Fix compilation of lint rules module.

* Pin JNA version.

* Fix new lint errors.

Co-authored-by: Tiger Oakes <toakes@mozilla.com>
2020-10-19 14:07:47 -04:00
Christian Sadilek
f59cfd961c Configure M5 AMO collection for all builds 2020-10-19 11:19:47 -04:00
ekager
d208ffe002
For #7345 - Update new shield icons, remove lottie (#15909) 2020-10-16 16:01:38 -07:00
Michael Comella
341a92a10e For #15280: add current ConstraintLayout warnings to lint baseline. 2020-10-14 15:20:28 -07:00
Mugurell
dd83130d9f For #15890 - Ensure app locale switcher works for Windows builds
A hardcoded unix file separator prevented us from building a proper list of
locales for which we actually have packaged translations.
2020-10-14 15:34:39 +02:00
Jonathan Almeida
23d9951e78 Upgrade to Android Component 62.0.20201006190820 with breaking changes 2020-10-07 20:01:35 -04:00
Michael Comella
f690f8736d No issue: replace LintUnitTestRunner with detekt implementation.
This should be more performant and easier to maintain.
2020-10-01 16:06:53 -07:00
Christian Sadilek
81aaacda61 Configure M5 AMO collection for Nightly/Debug 2020-09-25 11:18:07 -04:00
Christian Sadilek
601e847094 Configure M4 AMO collection for all builds 2020-09-22 19:01:37 -04:00
ekager
09fbb43f80 For #2486 - Adds Recently Closed Tabs 2020-09-11 12:02:30 -07:00
Christian Sadilek
a2368e2a1e Configure M4 AMO collection for Nightly/Debug 2020-09-02 18:25:23 -04:00
Tiger Oakes
d762dea49d Gradle configuration avoidance 2020-09-01 18:58:52 -07:00
Jeff Boek
ff805e53ed For #14318 - Use old API to try to fix startup crash without GPS 2020-08-28 13:04:22 -07:00
Elise Richards
e96eb25682 Allow play store in app review to be shown to users 2020-08-26 21:02:02 -07:00
Gabriel Luong
04dcfa5cab
For #8312 - Show Top Sites in a ViewPager (#14116) 2020-08-24 19:52:33 -04:00
Kainalu Hagiwara
c119070e21 For #13030 - Use material design animation values for swipe to switch tabs. 2020-08-18 14:59:05 +03:00
Gilbert Gilb's
2743c37b40 Add custom Activity to show libraries licenses.
As Google's library for showing licences isn't open-source, this commit
reimplements its main Activity. This is in prevision to having an OSS
flavor of fenix.

We chose to not introduce dependencies to third-party libraries
such as AboutLibraries for now, and we'll stick to using Google's gradle
plugin for the dependencies extraction.

Fixes #7584

See also #162
2020-08-17 19:18:22 -07:00
Sebastian Kaspari
c93a29f89a Simplify build variants to just: debug, nightly, beta and release.
Co-authored-by: Johan Lorenzo <jlorenzo@mozilla.com>
2020-08-06 11:52:10 +02:00
Michael Comella
f319b457bf For #4132: remove raptor property and isRaptorEnabled manifest placeholder.
afaict, this is only used for BrowserPerformanceTestActivity, which is
being removed in this PR.
2020-08-05 10:15:46 -07:00
Tiger Oakes
c1c7de5c1a
For #13262: Update gradle (#13263) 2020-08-05 09:17:30 -07:00
Tiger Oakes
f3f470a977
For #13140: Use concept-menu for saved logins menu (#13143) 2020-08-02 18:48:10 -07:00
Ankur Khandelwal
ddfb3dfa72
Renamed Deps.mozilla_ui_publicsuffixlist to Deps.mozilla_lib_publicsuffixlist (#13201) 2020-08-02 17:23:39 -04:00
Tiger Oakes
d8ff6179fe
For #7992: Use favicon style from AC (#12608) 2020-07-30 11:21:17 -07:00
Jonathan Almeida
53a4f63393 For #12983: Fix deep link scheme for nightly builds
When we simplified our variants, our deep link scheme for nightly was
lost.
2020-07-28 08:31:12 -04:00
Tiger Oakes
6ea94fd9af Add concept-menu dependency 2020-07-25 19:38:35 -04:00
Tiger Oakes
8c1d3dc827
For #12871 - Use local TWA DAL API (#12872) 2020-07-24 13:08:24 -07:00
Kainalu Hagiwara
e7dc5580b2 For #3481 - Implement swipe on toolbar to switch tabs. 2020-07-22 11:26:15 -07:00
Johan Lorenzo
7e7d69cb8e
Bug 1652979 - Stop producing fennecNightly, fenixNightly and fenixBeta (#12225) 2020-07-21 16:42:08 +02:00
Tiger Oakes
667261f511 Closes #12493: Remove kapt plugin 2020-07-16 10:38:03 -04:00
ekager
9ed85510ae For #7094 - Adds save login exceptions 2020-07-14 14:47:37 -04:00
Michael Comella
0df234cf76 For perf-frontend-issues#44: add local property to autosign release builds. 2020-07-10 10:55:32 -07:00
Tiger Oakes
c99a8f5cfa
Fixes #9832 - Change targetSdkVersion to Android 10 (#11014) 2020-07-09 10:50:51 -07:00
Christian Sadilek
27c608d956 Update built-in extensions for new AC/GV API
New API (installBuiltIn/ensureBuiltin) requires
- Gecko IDs and new permissions
- Extension will only be re-installed if it has a new version

This includes a gradle task to automatically generate a
new version in manifest.json for every build so we don't
forget to update the version and end up with changes that
are never applied.
2020-07-07 18:41:12 -04:00
Johan Lorenzo
4bc1cb94c5
Bug 1649400 - part 1: ship org.mozilla.fenix as a nightly product (#12127) 2020-07-01 11:03:10 +02:00
Christian Sadilek
665857ade8
Configure M3 AMO collection for all builds (#12055) 2020-06-29 11:16:06 -07:00
Jonathan Almeida
b7d989a588 Fix breaking API in WebNotificationFeature 2020-06-26 19:59:57 -04:00
Marc Leclair
ff5d00362b Added A-C version 48.0.20200626213814 2020-06-26 19:59:57 -04:00
Tiger Oakes
c958cc048a Update customtabs service 2020-06-24 23:26:49 -04:00
Christian Sadilek
773f4295bf Configure M3 AMO collection for Nightly/Debug 2020-06-24 21:55:57 -04:00
Tiger Oakes
ccb532bb77
For #11534 - Don't check lastUsed mode for screenshots (#11827) 2020-06-22 17:38:58 -07:00
Jonathan Almeida
e6da2bd910 Fix breaking APIs in TabsAdapter and ViewHolder 2020-06-13 16:02:31 -04:00
Tiger Oakes
f0295048fa Remove Mockito 2020-06-10 21:19:50 -04:00
Dennis Schubert
e41fc7841a Bug 1643132 - Add WebCompat Reporter feature. 2020-06-04 18:23:11 -04:00
Sawyer Blatz
42f58a1984 For #9488: Add experimentation support 2020-06-04 14:10:22 -07:00
Vishwa Patel
4da22c605a For #10834 - Adding Sync Tabs Feature in Fenix 2020-06-01 16:52:40 -04:00
Gabriel Luong
63e529ac2b Added BrowserThumbnails dependencies 2020-05-29 18:19:06 -04:00
Jan-Erik Rediger
88fe3fbf82 Dump proguard-android-optimize.txt into local configuration for later modification
This was achived by:

* Adding `-printconfiguration r8.txt` to `proguard-rules.pro`
* Copying the part from start of `r8.txt` to before the `-printconfiguration` line into its own file.

This gets us exactly what was used in the bundled version.
2020-05-29 10:25:27 -07:00
Grisha Kruglov
0e47f55c24 Only set real BUILD_DATE for non-debug builds
This avoids BuildConfig modifications between local dev builds,
and speeds up the builds by avoiding running tasks that depend on BuildConfig.

Locally, depending on exact build circumstances, this saves about 5% of build runtime
for simple code changes, and about 90% of build runtime for no-op builds.
2020-05-25 22:13:05 -07:00
Michael Comella
b0b2f87ab4 For #10757: remove no-op Experiments code and dependency.
We were supposed to have removed Experiments for performance purposes.
However, I find some code dangling in the tree.

Experiments.initialize is no longer called so I suspect
Experiments.withExperiment is a no-op. I verified that the lambda
function provided to it never ran in my local geckoBetaDebug on startup.
Assuming experiments behavior doesn't change in other build types, this
change appears safe.
2020-05-18 15:38:38 -07:00
Christian Sadilek
87c95a64d3 Configure M2 AMO collection for all builds 2020-04-27 18:33:31 -04:00
David Walsh
6f5f48c30e
For #10148 - Add basic tab tray implementation without exposing to rest of app (#9934) 2020-04-23 15:38:35 -05:00
Roger Yang
40550e88de
Close #9960: Launch URI in Fenix if failed to launch in custom tab (#9964) 2020-04-17 16:24:20 -04:00
Michael Comella
f0464b9e72
For #9644: restrict deps to specific repositories (#9649)
* For #9644: remove unnecessary leanplum maven repository.

The docs say it is [1] "only needed for Android SDK versions below 4.3.0".
That is API 18 and our min SDK is 21.

[1]: https://docs.leanplum.com/reference#android-setup

* For #9644: move buildscript block from :app to root project.

This will reduce the amount of duplication we need in specifying
restricted dependencies and centralize repository definitions. Since
we're a one project app, it shouldn't have a significant impact on
performance.

* For #9644: restrict dependencies following FFTV config.

However, there is a resolution error to be fixed in the next commit.

This is verbatim from FFTV except I removed the no-op "improve security
if code is refactored incorrectly" lines: these lines rarely changed and
I'm not that concerned. It might be better to simplify the
configuration.

Source:
  62a2fa680c/buildSrc/src/main/java/org/mozilla/gradle/Dependencies.kt (L7)
  62a2fa680c/build.gradle (L31)

* For #9644: restrict firebase deps to google repo.

This fixes the resolution error from the previous PR.
2020-04-15 10:54:36 -07:00
Christian Sadilek
152642d98d Configure M2 AMO collection for Nightly/Debug 2020-04-13 10:42:39 -04:00
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?
2020-04-08 12:39:22 -07:00
Michael Comella
9305331a56 For #9631: remove assertk dependency. 2020-04-06 16:56:40 -07:00
Michael Comella
b60a21c08d For #9605: Add LintUnitTestRunner gradle task.
This will prevent us from regressing on adding older versions of the
unit test runner.
2020-04-03 09:27:49 -07:00
Sebastian Kaspari
045b4a5715 Use same configuration for "forPerformanceTest" builds like we do for "fennec" flavor builds. 2020-04-01 17:51:32 -07:00
ekager
414e905b76 Closes #8944 - Adds custom lint checks 2020-03-27 13:59:51 -07:00
Christian Sadilek
5e9d5dd545 Closes #9414: Make AMO collection configurable 2020-03-26 17:26:20 -04:00
Jonathan Almeida
40ba43311e For #7661: Add deeplink schemas for fennec variants 2020-03-25 15:39:44 -04:00
Christian Sadilek
d184b99649 Closes #9333: Prevent compression of omni.ja to improve startup time
Co-authored-by: Markus Stange <mstange@themasta.com>
Co-authored-by: Agi Sferro <agi@sferro.dev>
2020-03-24 16:10:11 -07:00
Ryan Kelly
a0f8be25b6 Add support for application-services autoPublish local dev workflow. 2020-03-19 10:51:08 +02:00
Jonathan Almeida
ffd4cdd970 For #7661: Add variant-specific schemas for deep links
In order to target specific variants of Fenix, we're adding schemas that
are specific that app in order to avoid collisions with the other
variants and with other forks of fenix that may have the same schemas.

The current schema for variants:
 - Fenix Nightly: `fenix-nightly://`
 - Fenix Beta: `fenix-beta://`
 - Everything else: `fenix://`
2020-03-17 17:21:09 -04:00
Sebastian Kaspari
34144fd254 Use pinned Android Components Nightly version instead of snapshots. 2020-03-17 12:09:36 +01:00
mcarare
320fc4e4ae For #8788 Use Flexbox instead of Grid manager for top sites 2020-03-09 11:01:14 -07:00
Michael Droettboom
bb2c009c16 1592947: Use the Glean Gradle plugin 2020-02-28 13:24:58 -08:00