| LEFT | RIGHT |
| 1 /* | 1 /* |
| 2 * This file is part of Adblock Plus <https://adblockplus.org/>, | 2 * This file is part of Adblock Plus <https://adblockplus.org/>, |
| 3 * Copyright (C) 2006-2016 Eyeo GmbH | 3 * Copyright (C) 2006-2016 Eyeo GmbH |
| 4 * | 4 * |
| 5 * Adblock Plus is free software: you can redistribute it and/or modify | 5 * Adblock Plus is free software: you can redistribute it and/or modify |
| 6 * it under the terms of the GNU General Public License version 3 as | 6 * it under the terms of the GNU General Public License version 3 as |
| 7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
| 8 * | 8 * |
| 9 * Adblock Plus is distributed in the hope that it will be useful, | 9 * Adblock Plus is distributed in the hope that it will be useful, |
| 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 69 "https://easylist-downloads.adblockplus.org/liste_fr+easylist.txt"; | 69 "https://easylist-downloads.adblockplus.org/liste_fr+easylist.txt"; |
| 70 public static final String EASYLIST_ROMANIAN = | 70 public static final String EASYLIST_ROMANIAN = |
| 71 "https://easylist-downloads.adblockplus.org/rolist+easylist.txt"; | 71 "https://easylist-downloads.adblockplus.org/rolist+easylist.txt"; |
| 72 public static final String EASYLIST_RUSSIAN = | 72 public static final String EASYLIST_RUSSIAN = |
| 73 "https://easylist-downloads.adblockplus.org/ruadlist+easylist.txt"; | 73 "https://easylist-downloads.adblockplus.org/ruadlist+easylist.txt"; |
| 74 public static final String ACCEPTABLE_ADS = | 74 public static final String ACCEPTABLE_ADS = |
| 75 "https://easylist-downloads.adblockplus.org/exceptionrules.txt"; | 75 "https://easylist-downloads.adblockplus.org/exceptionrules.txt"; |
| 76 | 76 |
| 77 private Context context; | 77 private Context context; |
| 78 private WebRequest request; | 78 private WebRequest request; |
| 79 private Map<String, Integer> URLtoResouceIdMap; | 79 private Map<String, Integer> urlToResourceIdMap; |
| 80 private Storage storage; | 80 private Storage storage; |
| 81 private Listener listener; | 81 private Listener listener; |
| 82 | 82 |
| 83 /** | 83 /** |
| 84 * Constructor | 84 * Constructor |
| 85 * @param context android context | 85 * @param context android context |
| 86 * @param request wrapped request to perform the request if it's not preloaded
subscription requested | 86 * @param request wrapped request to perform the request if it's not preloaded
subscription requested |
| 87 * @param URLtoResourceIdMap map URL -> android resource id for preloaded subs
criptions | 87 * @param urlToResourceIdMap map URL -> android resource id for preloaded subs
criptions |
| 88 * See AndroidWebRequestResourceWrapper.EASYLIST_...
constants | 88 * See AndroidWebRequestResourceWrapper.EASYLIST_...
constants |
| 89 * @param storage Storage impl to remember served interceptions | 89 * @param storage Storage impl to remember served interceptions |
| 90 */ | 90 */ |
| 91 public AndroidWebRequestResourceWrapper(Context context, WebRequest request, | 91 public AndroidWebRequestResourceWrapper(Context context, WebRequest request, |
| 92 Map<String, Integer> URLtoResourceIdMa
p, | 92 Map<String, Integer> urlToResourceIdMa
p, |
| 93 Storage storage) | 93 Storage storage) |
| 94 { | 94 { |
| 95 this.context = context; | 95 this.context = context; |
| 96 this.request = request; | 96 this.request = request; |
| 97 this.URLtoResouceIdMap = Collections.synchronizedMap(URLtoResourceIdMap); | 97 this.urlToResourceIdMap = Collections.synchronizedMap(urlToResourceIdMap); |
| 98 this.storage = storage; | 98 this.storage = storage; |
| 99 } | 99 } |
| 100 | 100 |
| 101 public Listener getListener() | 101 public Listener getListener() |
| 102 { | 102 { |
| 103 return listener; | 103 return listener; |
| 104 } | 104 } |
| 105 | 105 |
| 106 public void setListener(Listener listener) | 106 public void setListener(Listener listener) |
| 107 { | 107 { |
| 108 this.listener = listener; | 108 this.listener = listener; |
| 109 } | 109 } |
| 110 | 110 |
| 111 @Override | 111 @Override |
| 112 public ServerResponse httpGET(String url, List<HeaderEntry> headers) | 112 public ServerResponse httpGET(String url, List<HeaderEntry> headers) |
| 113 { | 113 { |
| 114 // since parameters may vary we need to ignore them | 114 // since parameters may vary we need to ignore them |
| 115 String urlWithoutParams = url.substring(0, url.indexOf("?")); | 115 String urlWithoutParams = url.substring(0, url.indexOf("?")); |
| 116 Integer resourceId = URLtoResouceIdMap.get(urlWithoutParams); | 116 Integer resourceId = urlToResourceIdMap.get(urlWithoutParams); |
| 117 | 117 |
| 118 if (resourceId != null) | 118 if (resourceId != null) |
| 119 { | 119 { |
| 120 if (!storage.contains(urlWithoutParams)) | 120 if (!storage.contains(urlWithoutParams)) |
| 121 { | 121 { |
| 122 Log.w(TAG, "Intercepting request for " + url + " with resource #" + reso
urceId.intValue()); | 122 Log.w(TAG, "Intercepting request for " + url + " with resource #" + reso
urceId.intValue()); |
| 123 ServerResponse response = buildResourceContentResponse(resourceId); | 123 ServerResponse response = buildResourceContentResponse(resourceId); |
| 124 storage.put(urlWithoutParams); | 124 storage.put(urlWithoutParams); |
| 125 | 125 |
| 126 if (listener != null) | 126 if (listener != null) |
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 247 .commit(); | 247 .commit(); |
| 248 } | 248 } |
| 249 | 249 |
| 250 @Override | 250 @Override |
| 251 public synchronized boolean contains(String url) | 251 public synchronized boolean contains(String url) |
| 252 { | 252 { |
| 253 return urls.contains(url); | 253 return urls.contains(url); |
| 254 } | 254 } |
| 255 } | 255 } |
| 256 } | 256 } |
| LEFT | RIGHT |