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 |