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
Using the ConcatAdapter, we're now able to insert multiple data sources
of information into one RecyclerView and preserve layout/scrolling in
addition to adding the 'Save to Collection' button.
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.
This may have minor performance improvements.
I don't see any value in hoisting all dependency versions so I removed
it for this dep. I also see an additional downside (additional indirection to
find values in addition to the indirection of storing all the dependencies in
a single file).
* 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.
I removed the version constant indirection for these items because I found it
challenging:
- it makes it harder to quickly identify which versions are in use
because it requires jumping to a new screen for each dependency
- it increases the length of the file, obscuring what's available