TB 42669: [android] Use custom no-op app-services
Merge Info
Issues
Resolves
Merging
Target Branches
-
tor-browser
-!fixups
totor-browser
-specific commits, new features, security backports -
base-browser
andmullvad-browser
-!fixups
tobase-browser
-specific commits, new features to be shared withmullvad-browser
, and security backports-
⚠️ IMPORTANT: Please list thebase-browser
-specific commits which need to be cherry-picked to thebase-browser
andmullvad-browser
branches here
-
Target Channels
-
Alpha: esr128-14.5 -
Stable: esr128-14.0 -
Legacy: esr115-13.5
Backporting
Timeline
-
No Backport (preferred): patchset for the next major stable -
Immediate: patchset needed as soon as possible (fixes CVEs, 0-days, etc) -
Next Minor Stable Release: patchset that needs to be verified in nightly before backport -
Eventually: patchset that needs to be verified in alpha before backport
Review
Change Description
This MR is companion to tor-browser-build!1131 (merged) and may only be merged once that one is also merged.
There are two changes in here:
- Modify the code to include no-op variants where necessary;
- Use the no-op app services library in dev builds.
For 2. I decided to fetch the custom built application-services library from tor-browser-build and put it in the maven local repository. I had to add a suffix to the version number in order for this to work reliably, I think it makes the version more specific and forces gradle to always fetch from the local repository. There are other instances of this pattern in the code in the substitute-local-*.gradle
files. I am interested to know if there is a better way to do this though.
If this MR goes through I will need to also send a patch to update https://gitlab.torproject.org/tpo/applications/wiki/-/wikis/Development-Information/Firefox-Android/Building
cc @pierov, since he is the main reviewer in tor-browser-build!1131 (merged), however since this is mainly an Android MR I will leave it for @clairehurst :)
How Tested
To test this locally, one needs to build application-services over in tor-browser-build using my branch (https://gitlab.torproject.org/brizental/tor-browser-build/-/tree/42669-noop-a-s), re-run mobile/android/fenix/tools/tba-fetch-deps.sh
and then rebuild.
The environment being used to build needs to have the NIMBUS_FML
environmnet variable set to $DEV_ROOT/mobile/android/fenix/app/nimbus-fml
... not sure how annoying this is to Android Studio users, but if using the tools/geckoview/build-fenix.sh
script it will set it for you.