commit 55b6cd7f3139dd0069ba2c69ec6d08da038594ad Author: Matthew Finkel Matthew.Finkel@gmail.com Date: Sat Oct 12 00:48:05 2019 +0000
squash! Orfox: Centralized proxy applied to AbstractCommunicator and BaseResources.
Bug 31144 - ESR68 Network Code Review --- .../base/java/org/mozilla/gecko/GeckoApplication.java | 12 +++++++++--- .../src/main/java/org/mozilla/gecko/util/BitmapUtils.java | 13 +++---------- 2 files changed, 12 insertions(+), 13 deletions(-)
diff --git a/mobile/android/base/java/org/mozilla/gecko/GeckoApplication.java b/mobile/android/base/java/org/mozilla/gecko/GeckoApplication.java index 26e06b55ecfc..bb3cdec7c0fe 100644 --- a/mobile/android/base/java/org/mozilla/gecko/GeckoApplication.java +++ b/mobile/android/base/java/org/mozilla/gecko/GeckoApplication.java @@ -61,6 +61,7 @@ import org.mozilla.gecko.util.GeckoBundle; import org.mozilla.gecko.util.HardwareUtils; import org.mozilla.gecko.util.IntentUtils; import org.mozilla.gecko.util.PRNGFixes; +import org.mozilla.gecko.util.ProxySelector; import org.mozilla.gecko.util.ShortcutUtils; import org.mozilla.gecko.util.ThreadUtils; import org.mozilla.geckoview.GeckoRuntime; @@ -71,7 +72,7 @@ import java.io.File; import java.io.InputStream; import java.io.IOException; import java.lang.reflect.Method; -import java.net.URL; +import java.net.URI; import java.util.UUID;
import org.torproject.android.service.util.Prefs; @@ -866,11 +867,16 @@ public class GeckoApplication extends Application byte[] buf = Base64.decode(aSrc.substring(dataStart + 1), Base64.DEFAULT); image = BitmapUtils.decodeByteArray(buf); } else { + URI uri; int byteRead; byte[] buf = new byte[4192]; os = new ByteArrayOutputStream(); - URL url = new URL(aSrc); - is = url.openStream(); + try { + uri = new URI(aSrc); + } catch (Exception e) { + return; + } + is = ProxySelector.openConnectionWithProxy(uri).getInputStream();
// Cannot read from same stream twice. Also, InputStream from // URL does not support reset. So converting to byte array. diff --git a/mobile/android/geckoview/src/main/java/org/mozilla/gecko/util/BitmapUtils.java b/mobile/android/geckoview/src/main/java/org/mozilla/gecko/util/BitmapUtils.java index 2a3f08de4ae7..b5e1a9664b35 100644 --- a/mobile/android/geckoview/src/main/java/org/mozilla/gecko/util/BitmapUtils.java +++ b/mobile/android/geckoview/src/main/java/org/mozilla/gecko/util/BitmapUtils.java @@ -103,16 +103,9 @@ public final class BitmapUtils { public static Bitmap decodeUrl(final URL url) { InputStream stream = null;
- try { - if ("jar".equals(url.getProtocol())) { - final Context context = GeckoAppShell.getApplicationContext(); - stream = GeckoJarReader.getStream(context, url.toString()); - } else { - stream = url.openStream(); - } - } catch (IOException e) { - Log.w(LOGTAG, "decodeUrl: IOException downloading " + url); - return null; + if ("jar".equals(url.getProtocol())) { + final Context context = GeckoAppShell.getApplicationContext(); + stream = GeckoJarReader.getStream(context, url.toString()); }
if (stream == null) {