Commit Graph

357 Commits (fork)

Author SHA1 Message Date
Michael Comella 3994747be9 Closes #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 98bf27fdd4.

Revert "Dump `proguard-android-optimize.txt` into local configuration for later modification"
This reverts commit 88fe3fbf82.
3 years ago
Sebastian Kaspari 145f1898f1 Enable Android Autofill in Beta builds. 3 years ago
Sebastian Kaspari 1cd04cd05e Render debug info screen with Jetpack Compose. 3 years ago
Sebastian Kaspari 781813ab50 Remove over-eager protobuf stripping. 3 years ago
Sebastian Kaspari 8d8b6e6d36 Issue #19662: Use Java 11. 3 years ago
Michael Comella 6d609bc651 For #19901: integrate Jetback Benchmark (microbenchmark). 3 years ago
Sebastian Kaspari 140274c192 Update to Kotlin 1.5.20, Android Gradle plugin 4.2.2 and Gradle 6.7.1. 3 years ago
Mugurell f95567912f For #20229 - Use the AC common implementation for ads/search telemetry
Everything should work exactly as before.
3 years ago
mcarare 36b50ea8d9 For #17917: Use View binding in onboarding cards. 3 years ago
Sebastian Kaspari 4753a1d494 Complete browser-state migration and remove browser-session dependency.
Co-authored-by: Christian Sadilek <christian.sadilek@gmail.com>
3 years ago
isabelrios 727d0256e0 Stop depending on JCenter - Screengrab and Falcon 3 years ago
Jonathan Almeida e66983d093 Issue #19002: Use AbstractBinding from lib-state 3 years ago
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.
3 years ago
Sebastian Kaspari ea47db4a9e Unit tests: Bump max heap size to 3072m. 3 years ago
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.
3 years ago
Sebastian Kaspari 7d690219ea Issue #19040: Remove Leanplum (Nightly) 3 years ago
Sebastian Kaspari cf4847dc17 Remove browser-search references. 3 years ago
Sebastian Kaspari a126f0913a Update to Mozilla Android Components 90.0 3 years ago
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).
3 years ago
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>
3 years ago
Gabriel Luong 35bae17e86 For #18408 - Add a lazy getter for AutofillCreditCardsAddressStorage 3 years ago
Sebastian Kaspari 8856a3c1d7 Integrate Android Autofill support into Nightly and debug builds. 3 years ago
Arturo Mejia 0e8dc6164d Target Android 11 3 years ago
rxu c9ed8a5b92 Add MOZILLA_ONLINE_ADDON_EXCLUSIONS for Mozilla Online builds 3 years ago
Arturo Mejia e3b6f060ae For #12822 - Opt-in of scoped storage 3 years ago
Jonathan Almeida 66b94ced14 Close #1340: Add support for WebAuthnFeature 3 years ago
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.
3 years ago
William Durand 0537594810 Add new BuildConfig variables to support AMO non-production envs 3 years ago
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>
3 years ago
Sebastian Kaspari 1b6cebf4d4 Switch to new SessionStorage / session restore API. 3 years ago
Sebastian Kaspari 2cada405d8 Update Android Components to 69.0.20201207103252. 4 years ago
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
4 years ago
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
4 years ago
Sebastian Kaspari 23edda5f65 Introduce build flag for configuring test build type. 4 years ago
Sebastian Kaspari 0a419efa92 Introduce build flag for disabling optmization. 4 years ago
jhugman 9cdfb6db4a
Nimbus Global Opt Out (#16543) r=gl 4 years ago
Sebastian Kaspari 5530e102f1
For #16302 - Use larger heap size when running unit tests and fork new process after every 80 test classes. (#16526) 4 years ago
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.
4 years ago
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>
4 years ago
Christian Sadilek f59cfd961c Configure M5 AMO collection for all builds 4 years ago
ekager d208ffe002
For #7345 - Update new shield icons, remove lottie (#15909) 4 years ago
Michael Comella 341a92a10e For #15280: add current ConstraintLayout warnings to lint baseline. 4 years ago
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.
4 years ago
Jonathan Almeida 23d9951e78 Upgrade to Android Component 62.0.20201006190820 with breaking changes 4 years ago
Michael Comella f690f8736d No issue: replace LintUnitTestRunner with detekt implementation.
This should be more performant and easier to maintain.
4 years ago
Christian Sadilek 81aaacda61 Configure M5 AMO collection for Nightly/Debug 4 years ago
Christian Sadilek 601e847094 Configure M4 AMO collection for all builds 4 years ago
ekager 09fbb43f80 For #2486 - Adds Recently Closed Tabs 4 years ago
Christian Sadilek a2368e2a1e Configure M4 AMO collection for Nightly/Debug 4 years ago
Tiger Oakes d762dea49d Gradle configuration avoidance 4 years ago
Jeff Boek ff805e53ed For #14318 - Use old API to try to fix startup crash without GPS 4 years ago
Elise Richards e96eb25682 Allow play store in app review to be shown to users 4 years ago
Gabriel Luong 04dcfa5cab
For #8312 - Show Top Sites in a ViewPager (#14116) 4 years ago
Kainalu Hagiwara c119070e21 For #13030 - Use material design animation values for swipe to switch tabs. 4 years ago
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
4 years ago
Sebastian Kaspari c93a29f89a Simplify build variants to just: debug, nightly, beta and release.
Co-authored-by: Johan Lorenzo <jlorenzo@mozilla.com>
4 years ago
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.
4 years ago
Tiger Oakes c1c7de5c1a
For #13262: Update gradle (#13263) 4 years ago
Tiger Oakes f3f470a977
For #13140: Use concept-menu for saved logins menu (#13143) 4 years ago
Ankur Khandelwal ddfb3dfa72
Renamed Deps.mozilla_ui_publicsuffixlist to Deps.mozilla_lib_publicsuffixlist (#13201) 4 years ago
Tiger Oakes d8ff6179fe
For #7992: Use favicon style from AC (#12608) 4 years ago
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.
4 years ago
Tiger Oakes 6ea94fd9af Add concept-menu dependency 4 years ago
Tiger Oakes 8c1d3dc827
For #12871 - Use local TWA DAL API (#12872) 4 years ago
Kainalu Hagiwara e7dc5580b2 For #3481 - Implement swipe on toolbar to switch tabs. 4 years ago
Johan Lorenzo 7e7d69cb8e
Bug 1652979 - Stop producing fennecNightly, fenixNightly and fenixBeta (#12225) 4 years ago
Tiger Oakes 667261f511 Closes #12493: Remove kapt plugin 4 years ago
ekager 9ed85510ae For #7094 - Adds save login exceptions 4 years ago
Michael Comella 0df234cf76 For perf-frontend-issues#44: add local property to autosign release builds. 4 years ago
Tiger Oakes c99a8f5cfa
Fixes #9832 - Change targetSdkVersion to Android 10 (#11014) 4 years ago
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.
4 years ago
Johan Lorenzo 4bc1cb94c5
Bug 1649400 - part 1: ship org.mozilla.fenix as a nightly product (#12127) 4 years ago
Christian Sadilek 665857ade8
Configure M3 AMO collection for all builds (#12055) 4 years ago
Jonathan Almeida b7d989a588 Fix breaking API in WebNotificationFeature 4 years ago
Marc Leclair ff5d00362b Added A-C version 48.0.20200626213814 4 years ago
Tiger Oakes c958cc048a Update customtabs service 4 years ago
Christian Sadilek 773f4295bf Configure M3 AMO collection for Nightly/Debug 4 years ago
Tiger Oakes ccb532bb77
For #11534 - Don't check lastUsed mode for screenshots (#11827) 4 years ago
Jonathan Almeida e6da2bd910 Fix breaking APIs in TabsAdapter and ViewHolder 4 years ago
Tiger Oakes f0295048fa Remove Mockito 4 years ago
Dennis Schubert e41fc7841a Bug 1643132 - Add WebCompat Reporter feature. 4 years ago
Sawyer Blatz 42f58a1984 For #9488: Add experimentation support 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
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.
4 years ago
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.
4 years ago
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.
4 years ago
Christian Sadilek 87c95a64d3 Configure M2 AMO collection for all builds 4 years ago
David Walsh 6f5f48c30e
For #10148 - Add basic tab tray implementation without exposing to rest of app (#9934) 4 years ago
Roger Yang 40550e88de
Close #9960: Launch URI in Fenix if failed to launch in custom tab (#9964) 4 years ago
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.
4 years ago
Christian Sadilek 152642d98d Configure M2 AMO collection for Nightly/Debug 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
Michael Comella 9305331a56 For #9631: remove assertk dependency. 4 years ago
Michael Comella b60a21c08d For #9605: Add LintUnitTestRunner gradle task.
This will prevent us from regressing on adding older versions of the
unit test runner.
4 years ago
Sebastian Kaspari 045b4a5715 Use same configuration for "forPerformanceTest" builds like we do for "fennec" flavor builds. 4 years ago
ekager 414e905b76 Closes #8944 - Adds custom lint checks 4 years ago
Christian Sadilek 5e9d5dd545 Closes #9414: Make AMO collection configurable 4 years ago
Jonathan Almeida 40ba43311e For #7661: Add deeplink schemas for fennec variants 4 years ago
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>
4 years ago