Skip to content

TB 42669: [android] Use custom no-op app-services

Merge Info

Issues

Resolves

Merging

Target Branches

  • tor-browser - !fixups to tor-browser-specific commits, new features, security backports
  • base-browser and mullvad-browser - !fixups to base-browser-specific commits, new features to be shared with mullvad-browser, and security backports
    • ⚠️ IMPORTANT: Please list the base-browser-specific commits which need to be cherry-picked to the base-browser and mullvad-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:

  1. Modify the code to include no-op variants where necessary;
  2. 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.

Merge request reports

Loading