| 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 |