OLD | NEW |
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-present eyeo GmbH | 3 * Copyright (C) 2006-present 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 22 matching lines...) Expand all Loading... |
33 import android.widget.EditText; | 33 import android.widget.EditText; |
34 import android.widget.ProgressBar; | 34 import android.widget.ProgressBar; |
35 | 35 |
36 public class MainActivity extends Activity | 36 public class MainActivity extends Activity |
37 { | 37 { |
38 public static final boolean DEVELOPMENT_BUILD = true; | 38 public static final boolean DEVELOPMENT_BUILD = true; |
39 | 39 |
40 // webView can create AdblockEngine instance itself if not passed with `webVie
w.setAdblockEngine()` | 40 // webView can create AdblockEngine instance itself if not passed with `webVie
w.setAdblockEngine()` |
41 public static final boolean USE_EXTERNAL_ADBLOCKENGINE = true; | 41 public static final boolean USE_EXTERNAL_ADBLOCKENGINE = true; |
42 | 42 |
43 // adblock retain() may be long-running, pass `true` to do it in background th
read | |
44 public static final boolean ADBLOCKENGINE_RETAIN_ASYNC = true; | |
45 | |
46 private ProgressBar progress; | 43 private ProgressBar progress; |
47 private EditText url; | 44 private EditText url; |
48 private Button ok; | 45 private Button ok; |
49 private Button back; | 46 private Button back; |
50 private Button forward; | 47 private Button forward; |
51 private Button settings; | 48 private Button settings; |
52 | 49 |
53 private AdblockWebView webView; | 50 private AdblockWebView webView; |
54 | 51 |
55 @Override | 52 @Override |
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
194 | 191 |
195 private void navigateSettings() | 192 private void navigateSettings() |
196 { | 193 { |
197 startActivity(new Intent(this, SettingsActivity.class)); | 194 startActivity(new Intent(this, SettingsActivity.class)); |
198 } | 195 } |
199 | 196 |
200 private void initAdblockWebView() | 197 private void initAdblockWebView() |
201 { | 198 { |
202 if (USE_EXTERNAL_ADBLOCKENGINE) | 199 if (USE_EXTERNAL_ADBLOCKENGINE) |
203 { | 200 { |
204 // external adblockEngine | 201 // external AdblockEngine |
205 AdblockHelper.get().retain(ADBLOCKENGINE_RETAIN_ASYNC); | 202 webView.setProvider(AdblockHelper.get().getProvider()); |
206 | |
207 if (!ADBLOCKENGINE_RETAIN_ASYNC) | |
208 { | |
209 webView.setAdblockEngine(AdblockHelper.get().getEngine()); | |
210 } | |
211 } | 203 } |
212 else | 204 else |
213 { | 205 { |
214 // AdblockWebView will create internal AdblockEngine instance | 206 // AdblockWebView will create internal AdblockEngine instance |
215 } | 207 } |
216 } | 208 } |
217 | 209 |
218 private void hideSoftwareKeyboard() | 210 private void hideSoftwareKeyboard() |
219 { | 211 { |
220 InputMethodManager imm = (InputMethodManager)getSystemService(INPUT_METHOD_S
ERVICE); | 212 InputMethodManager imm = (InputMethodManager)getSystemService(INPUT_METHOD_S
ERVICE); |
(...skipping 23 matching lines...) Expand all Loading... |
244 if (!url.startsWith("http")) | 236 if (!url.startsWith("http")) |
245 url = "http://" + url; | 237 url = "http://" + url; |
246 | 238 |
247 // make sure url is valid URL | 239 // make sure url is valid URL |
248 return url; | 240 return url; |
249 } | 241 } |
250 | 242 |
251 private void loadUrl() | 243 private void loadUrl() |
252 { | 244 { |
253 hideSoftwareKeyboard(); | 245 hideSoftwareKeyboard(); |
254 | |
255 // if retained with `true` we need to make sure it's ready now | |
256 if (USE_EXTERNAL_ADBLOCKENGINE && ADBLOCKENGINE_RETAIN_ASYNC) | |
257 { | |
258 AdblockHelper.get().waitForReady(); | |
259 webView.setAdblockEngine(AdblockHelper.get().getEngine()); | |
260 } | |
261 webView.loadUrl(prepareUrl(url.getText().toString())); | 246 webView.loadUrl(prepareUrl(url.getText().toString())); |
262 } | 247 } |
263 | 248 |
264 @Override | 249 @Override |
265 protected void onDestroy() | 250 protected void onDestroy() |
266 { | 251 { |
267 webView.dispose(new Runnable() | 252 webView.dispose(null); |
268 { | |
269 @Override | |
270 public void run() | |
271 { | |
272 if (USE_EXTERNAL_ADBLOCKENGINE) | |
273 { | |
274 AdblockHelper.get().release(); | |
275 } | |
276 } | |
277 }); | |
278 | 253 |
279 super.onDestroy(); | 254 super.onDestroy(); |
280 } | 255 } |
281 } | 256 } |
OLD | NEW |