Skip to content

GeckoView build busted

 0:52.63 > Task :geckoview:compileWithGeckoBinariesDebugJavaWithJavac FAILED
 0:52.63 /var/tmp/build/geckoview-2ae14ea413ed/mobile/android/geckoview/src/thirdparty/java/org/mozilla/thirdparty/com/google/android/exoplayer2/upstream/DefaultHttpDataSource.java:450: error: missing ret
urn statement
 0:52.63   }
 0:52.63   ^

https://gitlab.torproject.org/acat/tor-browser/-/blob/3a4b7e57d18bb2175143a6751f8dc0cf945f559c/mobile/android/geckoview/src/thirdparty/java/org/mozilla/thirdparty/com/google/android/exoplayer2/upstream/DefaultHttpDataSource.java#L521

In 68esr we used:

diff --git a/mobile/android/geckoview/src/thirdparty/java/com/google/android/exoplayer2/upstream/DefaultHttpDataSource.java b/mobile/android/geckoview/src/thirdparty/java/com/google/android/exoplayer2/upstream/DefaultHttpDataSource.java
index 75e1f675c5eb..22e9e1ffcb9b 100644
--- a/mobile/android/geckoview/src/thirdparty/java/com/google/android/exoplayer2/upstream/DefaultHttpDataSource.java
+++ b/mobile/android/geckoview/src/thirdparty/java/com/google/android/exoplayer2/upstream/DefaultHttpDataSource.java
@@ -395,51 +395,56 @@ public class DefaultHttpDataSource implements HttpDataSource {
    */
   private HttpURLConnection makeConnection(URL url, byte[] postBody, long position,
       long length, boolean allowGzip, boolean followRedirects) throws IOException, URISyntaxException {
+    // AppConstants.isTorBrowser() is in base/, so it's not available in geckoview/
+    Log.i(TAG, "This is Tor Browser. Skipping.");
+    throw new IOException();
+

and in the rebase we now use:

diff --git a/mobile/android/geckoview/src/thirdparty/java/org/mozilla/thirdparty/com/google/android/exoplayer2/upstream/DefaultHttpDataSource.java b/mobile/android/geckoview/src/thirdparty/java/org/mozill
a/thirdparty/com/google/android/exoplayer2/upstream/DefaultHttpDataSource.java
index fdb44cc2ea1f..a31cae2938f1 100644
--- a/mobile/android/geckoview/src/thirdparty/java/org/mozilla/thirdparty/com/google/android/exoplayer2/upstream/DefaultHttpDataSource.java
+++ b/mobile/android/geckoview/src/thirdparty/java/org/mozilla/thirdparty/com/google/android/exoplayer2/upstream/DefaultHttpDataSource.java
@@ -40,6 +40,7 @@ import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
 import org.mozilla.gecko.util.ProxySelector;
+import org.mozilla.geckoview.BuildConfig;
 
 /**
  * An {@link HttpDataSource} that uses Android's {@link HttpURLConnection}.
@@ -395,51 +396,57 @@ public class DefaultHttpDataSource implements HttpDataSource {
    */
   private HttpURLConnection makeConnection(URL url, byte[] postBody, long position,
       long length, boolean allowGzip, boolean followRedirects) throws IOException, URISyntaxException {
+    if (BuildConfig.TOR_BROWSER_VERSION != "") {
+      Log.i(TAG, "This is Tor Browser. Skipping.");
+      throw new IOException();
+    }
+
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information