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.
* 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>
Apply https://gitlab.com/relan/fennecbuild/-/blob/master/fenix-liberate.patch
at edac9bd4083644ae0b8ae04e6af719892f05ee3a
License sign-off from author "relan" in
https://gitlab.com/relan/fennecbuild/-/issues/4#note_404430753
"Note that fenix-liberate.patch is a copypaste from various projects under
Apache 2.0 and MPL 2.0. I've made only trivial changes and it makes sense to
distribute them under MPL 2.0 or Apache 2.0, not AGPL.
I think I need to add license headers to all new files added by the patch."
We can pick up additional license headers if and when they're added by relan.
Almost all the code is trivial, probably-uncopyrightable stubs.
We might be supposed to put more info in the licenses screen in the app, which
I'm keeping, for some of these, but I'm not sure how.
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