Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Unified Diff: libadblockplus-android/src/org/adblockplus/android/AndroidWebRequest.java

Issue 29351744: Issue 4399 - Add WebView inheritor with ad blocking (Closed)
Patch Set: changed packages, now using AdblockEngine (original ABPEngine), improved demo app Created Oct. 25, 2016, 11:20 a.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « libadblockplus-android/pom.xml ('k') | libadblockplus-android/src/org/adblockplus/android/Utils.java » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: libadblockplus-android/src/org/adblockplus/android/AndroidWebRequest.java
diff --git a/libadblockplus-android/src/org/adblockplus/android/AndroidWebRequest.java b/libadblockplus-android/src/org/adblockplus/android/AndroidWebRequest.java
deleted file mode 100644
index 6796cd076d45eb8da866a989f02d6362df3756aa..0000000000000000000000000000000000000000
--- a/libadblockplus-android/src/org/adblockplus/android/AndroidWebRequest.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * This file is part of Adblock Plus <https://adblockplus.org/>,
- * Copyright (C) 2006-2016 Eyeo GmbH
- *
- * Adblock Plus is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 3 as
- * published by the Free Software Foundation.
- *
- * Adblock Plus is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>.
- */
-
-package org.adblockplus.android;
-
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.util.HashSet;
-import java.util.List;
-
-import org.adblockplus.libadblockplus.AdblockPlusException;
-import org.adblockplus.libadblockplus.FilterEngine;
-import org.adblockplus.libadblockplus.HeaderEntry;
-import org.adblockplus.libadblockplus.ServerResponse;
-import org.adblockplus.libadblockplus.ServerResponse.NsStatus;
-import org.adblockplus.libadblockplus.WebRequest;
-
-import android.util.Log;
-
-public class AndroidWebRequest extends WebRequest
-{
- public final static String TAG = Utils.getTag(WebRequest.class);
-
- private final HashSet<String> subscriptionURLs = new HashSet<String>();
- private final boolean elemhideEnabled;
-
- public AndroidWebRequest(boolean enableElemhide)
- {
- this.elemhideEnabled = enableElemhide;
- }
-
- public AndroidWebRequest()
- {
- this(false);
- }
-
- private boolean isListedSubscriptionUrl(final URL url)
- {
- String toCheck = url.toString();
-
- final int idx = toCheck.indexOf('?');
- if (idx != -1)
- {
- toCheck = toCheck.substring(0, idx);
- }
-
- return this.subscriptionURLs.contains(toCheck);
- }
-
- protected void updateSubscriptionURLs(final FilterEngine engine)
- {
- for (final org.adblockplus.libadblockplus.Subscription s : engine.fetchAvailableSubscriptions())
- {
- this.subscriptionURLs.add(s.getProperty("url").toString());
- }
- this.subscriptionURLs.add(engine.getPref("subscriptions_exceptionsurl").toString());
- }
-
- @Override
- public ServerResponse httpGET(final String urlStr, final List<HeaderEntry> headers)
- {
- try
- {
- final URL url = new URL(urlStr);
- Log.d(TAG, "Downloading from: " + url);
-
- final HttpURLConnection connection = (HttpURLConnection) url.openConnection();
- connection.setRequestMethod("GET");
- connection.connect();
-
- final ServerResponse response = new ServerResponse();
- response.setResponseStatus(connection.getResponseCode());
-
- if (response.getResponseStatus() == 200)
- {
- final BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));
- final StringBuilder sb = new StringBuilder();
-
- if (!this.elemhideEnabled && isListedSubscriptionUrl(url))
- {
- Log.d(TAG, "Removing element hiding rules from: '" + url + "'");
-
- String line;
- while ((line = reader.readLine()) != null)
- {
- // We're only appending non-element-hiding filters here.
- //
- // See:
- // https://issues.adblockplus.org/ticket/303
- //
- // Follow-up issue for removing this hack:
- // https://issues.adblockplus.org/ticket/1541
- //
- if (line.indexOf('#') == -1)
- {
- sb.append(line);
- sb.append('\n');
- }
- }
- }
- else
- {
- int character;
-
- while ((character = reader.read()) != -1)
- {
- sb.append((char) character);
- }
- }
-
- connection.disconnect();
-
- response.setStatus(NsStatus.OK);
- response.setResponse(sb.toString());
- }
- else
- {
- response.setStatus(NsStatus.ERROR_FAILURE);
- }
- return response;
- }
- catch (final Throwable t)
- {
- throw new AdblockPlusException("WebRequest failed", t);
- }
- }
-}
« no previous file with comments | « libadblockplus-android/pom.xml ('k') | libadblockplus-android/src/org/adblockplus/android/Utils.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld