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 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
75 static | 75 static |
76 { | 76 { |
77 for (int i = 0; i < BUILTIN_TITLES.length; i++) | 77 for (int i = 0; i < BUILTIN_TITLES.length; i++) |
78 { | 78 { |
79 BUILTIN_URL_TO_INDEX.put(BUILTIN_LISTS[i * 2 + 1], Integer.valueOf(i)); | 79 BUILTIN_URL_TO_INDEX.put(BUILTIN_LISTS[i * 2 + 1], Integer.valueOf(i)); |
80 } | 80 } |
81 | 81 |
82 IGNORED_URLS.add("https://easylist-downloads.adblockplus.org/exceptionrules.
txt"); | 82 IGNORED_URLS.add("https://easylist-downloads.adblockplus.org/exceptionrules.
txt"); |
83 } | 83 } |
84 | 84 |
85 private synchronized static void initRecommendedSubscriptions() | 85 private synchronized static void initRecommendedSubscriptions(final Context co
ntext) |
86 { | 86 { |
87 if (recommendedSubscriptions == null) | 87 if (recommendedSubscriptions == null) |
88 { | 88 { |
89 recommendedSubscriptions = SubscriptionContainer.create(false); | 89 recommendedSubscriptions = SubscriptionContainer.create(context, false); |
90 | 90 |
91 for (SubscriptionContainer.Subscription s : recommendedSubscriptions.getSu
bscriptions(false)) | 91 for (SubscriptionContainer.Subscription s : recommendedSubscriptions.getSu
bscriptions(false)) |
92 { | 92 { |
93 IGNORED_URLS.add(s.url); | 93 IGNORED_URLS.add(s.url); |
94 } | 94 } |
95 } | 95 } |
96 } | 96 } |
97 | 97 |
98 public MoreSubscriptionsPreferenceGroup(final Context context, final Attribute
Set attrs) | 98 public MoreSubscriptionsPreferenceGroup(final Context context, final Attribute
Set attrs) |
99 { | 99 { |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
138 this.setEnabled(false); | 138 this.setEnabled(false); |
139 this.setShouldDisableView(true); | 139 this.setShouldDisableView(true); |
140 | 140 |
141 super.onAttachedToActivity(); | 141 super.onAttachedToActivity(); |
142 | 142 |
143 this.progressDialog = new ProgressDialog(this.getContext()); | 143 this.progressDialog = new ProgressDialog(this.getContext()); |
144 this.progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); | 144 this.progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); |
145 this.progressDialog.setMessage(this.getContext().getString(R.string.abb_adbl
ocking_waiting)); | 145 this.progressDialog.setMessage(this.getContext().getString(R.string.abb_adbl
ocking_waiting)); |
146 this.progressDialog.show(); | 146 this.progressDialog.show(); |
147 | 147 |
148 AddOnBridge.postToHandler(new Runnable() | 148 ExtensionBridge.postToHandler(new Runnable() |
149 { | 149 { |
150 @Override | 150 @Override |
151 public void run() | 151 public void run() |
152 { | 152 { |
153 initRecommendedSubscriptions(); | 153 initRecommendedSubscriptions(getContext()); |
154 MoreSubscriptionsPreferenceGroup.this.activeSubscriptions.refresh(); | 154 MoreSubscriptionsPreferenceGroup.this.activeSubscriptions.refresh(); |
155 | 155 |
156 ThreadUtils.postToUiThread(new Runnable() | 156 ThreadUtils.postToUiThread(new Runnable() |
157 { | 157 { |
158 @Override | 158 @Override |
159 public void run() | 159 public void run() |
160 { | 160 { |
161 MoreSubscriptionsPreferenceGroup.this.initEntries(); | 161 MoreSubscriptionsPreferenceGroup.this.initEntries(); |
162 } | 162 } |
163 }); | 163 }); |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
212 } | 212 } |
213 | 213 |
214 private void addNewSubscription(final String url) | 214 private void addNewSubscription(final String url) |
215 { | 215 { |
216 this.progressDialog = new ProgressDialog(this.getContext()); | 216 this.progressDialog = new ProgressDialog(this.getContext()); |
217 this.progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); | 217 this.progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); |
218 this.progressDialog | 218 this.progressDialog |
219 .setMessage(this.getContext().getString(R.string.abb_add_subscription_ad
ding)); | 219 .setMessage(this.getContext().getString(R.string.abb_add_subscription_ad
ding)); |
220 this.progressDialog.show(); | 220 this.progressDialog.show(); |
221 | 221 |
222 AddOnBridge.postToHandler(new Runnable() | 222 ExtensionBridge.postToHandler(new Runnable() |
223 { | 223 { |
224 @Override | 224 @Override |
225 public void run() | 225 public void run() |
226 { | 226 { |
227 try | 227 try |
228 { | 228 { |
229 final Semaphore finished = new Semaphore(0); | 229 final Semaphore finished = new Semaphore(0); |
230 | 230 |
231 AddOnBridge.addSubscription(url, null, new AdblockPlusApiCallback() | 231 ExtensionBridge.addSubscription(url, null, new AdblockPlusApiCallback(
) |
232 { | 232 { |
233 @Override | 233 @Override |
234 public void onApiRequestSucceeded(GeckoBundle bundle) | 234 public void onApiRequestSucceeded(GeckoBundle bundle) |
235 { | 235 { |
236 finished.release(); | 236 finished.release(); |
237 } | 237 } |
238 | 238 |
239 @Override | 239 @Override |
240 public void onApiRequestFailed(String errorMessage) | 240 public void onApiRequestFailed(String errorMessage) |
241 { | 241 { |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
275 this.addNewSubscription(input); | 275 this.addNewSubscription(input); |
276 } | 276 } |
277 | 277 |
278 private static class ActiveSubscriptionContainer implements AdblockPlusApiCall
back | 278 private static class ActiveSubscriptionContainer implements AdblockPlusApiCall
back |
279 { | 279 { |
280 public final HashMap<String, String> enabledSubscriptions = new HashMap<Stri
ng, String>(); | 280 public final HashMap<String, String> enabledSubscriptions = new HashMap<Stri
ng, String>(); |
281 private final Semaphore entriesReady = new Semaphore(0); | 281 private final Semaphore entriesReady = new Semaphore(0); |
282 | 282 |
283 public void refresh() | 283 public void refresh() |
284 { | 284 { |
285 AddOnBridge.queryActiveSubscriptions(this); | 285 ExtensionBridge.queryActiveSubscriptions(this); |
286 this.entriesReady.acquireUninterruptibly(); | 286 this.entriesReady.acquireUninterruptibly(); |
287 } | 287 } |
288 | 288 |
289 @Override | 289 @Override |
290 public void onApiRequestSucceeded(GeckoBundle bundle) | 290 public void onApiRequestSucceeded(GeckoBundle bundle) |
291 { | 291 { |
292 try | 292 try |
293 { | 293 { |
294 this.enabledSubscriptions.clear(); | 294 this.enabledSubscriptions.clear(); |
295 for (final GeckoBundle sub : bundle.getBundleArray("value")) | 295 for (final GeckoBundle sub : bundle.getBundleArray("value")) |
(...skipping 27 matching lines...) Expand all Loading... |
323 @Override | 323 @Override |
324 public boolean onPreferenceChange(Preference preference, Object newValue) | 324 public boolean onPreferenceChange(Preference preference, Object newValue) |
325 { | 325 { |
326 if (preference instanceof CheckBoxPreference && newValue instanceof Boolea
n) | 326 if (preference instanceof CheckBoxPreference && newValue instanceof Boolea
n) |
327 { | 327 { |
328 final CheckBoxPreference cbp = (CheckBoxPreference) preference; | 328 final CheckBoxPreference cbp = (CheckBoxPreference) preference; |
329 final boolean enable = ((Boolean) newValue).booleanValue(); | 329 final boolean enable = ((Boolean) newValue).booleanValue(); |
330 | 330 |
331 if (enable) | 331 if (enable) |
332 { | 332 { |
333 AddOnBridge.addSubscription(cbp.getKey(), null, this); | 333 ExtensionBridge.addSubscription(cbp.getKey(), null, this); |
334 } | 334 } |
335 else | 335 else |
336 { | 336 { |
337 AddOnBridge.removeSubscription(cbp.getKey(), this); | 337 ExtensionBridge.removeSubscription(cbp.getKey(), this); |
338 } | 338 } |
339 } | 339 } |
340 return true; | 340 return true; |
341 } | 341 } |
342 | 342 |
343 @Override | 343 @Override |
344 public void onApiRequestSucceeded(GeckoBundle bundle) | 344 public void onApiRequestSucceeded(GeckoBundle bundle) |
345 { | 345 { |
346 // ignored | 346 // ignored |
347 } | 347 } |
348 | 348 |
349 @Override | 349 @Override |
350 public void onApiRequestFailed(String errorMessage) | 350 public void onApiRequestFailed(String errorMessage) |
351 { | 351 { |
352 // ignored | 352 // ignored |
353 } | 353 } |
354 } | 354 } |
355 } | 355 } |
OLD | NEW |