Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Unified Diff: mobile/android/base/java/org/adblockplus/browser/MoreSubscriptionsPreferenceGroup.java

Issue 30046562: Issue 7458 - Duplicate entries for EasyPrivacy and Fanboy's Social Blocking List
Patch Set: Created April 16, 2019, 2:06 p.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: mobile/android/base/java/org/adblockplus/browser/MoreSubscriptionsPreferenceGroup.java
===================================================================
--- a/mobile/android/base/java/org/adblockplus/browser/MoreSubscriptionsPreferenceGroup.java
+++ b/mobile/android/base/java/org/adblockplus/browser/MoreSubscriptionsPreferenceGroup.java
@@ -12,19 +12,22 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>.
*/
package org.adblockplus.browser;
+import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
+import java.util.List;
import java.util.Map.Entry;
+import java.util.Set;
import java.util.concurrent.Semaphore;
import org.mozilla.gecko.R;
import org.mozilla.gecko.preferences.CustomCheckBoxPreference;
import org.mozilla.gecko.util.GeckoBundle;
import org.mozilla.gecko.util.ThreadUtils;
import android.app.ProgressDialog;
@@ -37,65 +40,55 @@
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
public class MoreSubscriptionsPreferenceGroup extends PreferenceGroup implements
InputValidatorDialogPreference.OnInputReadyListener
{
private static final String TAG = "AdblockBrowser.OtherPreferenceGroup";
- private static final HashMap<String, Integer> BUILTIN_URL_TO_INDEX = new HashMap<String, Integer>();
- private static final HashSet<String> IGNORED_URLS = new HashSet<String>();
+
+ public static final List<String> BUILTIN_URLS = Arrays.asList(
+ "https://easylist-downloads.adblockplus.org/easyprivacy.txt",
anton 2019/04/17 09:46:35 the order of `BUILTIN_URLS` should be consistent t
+ "https://easylist-downloads.adblockplus.org/malwaredomains_full.txt",
+ "https://easylist-downloads.adblockplus.org/antiadblockfilters.txt",
+ "https://easylist-downloads.adblockplus.org/fanboy-social.txt"
+ );
+
+ private static final List<Integer> BUILTIN_TITLES = Arrays.asList(
+ R.string.abb_subscription_disable_tracking,
+ R.string.abb_subscription_disable_malware,
+ R.string.abb_subscription_disable_anti_adblock,
+ R.string.abb_subscription_disable_social_media
+ );
+
+ private static final Set<String> IGNORED_URLS = new HashSet<>(Arrays.asList(
+ "https://easylist-downloads.adblockplus.org/exceptionrules.txt"
+ ));
+
+ private static final String USER_SUBSCRIPTION_PREFIX = "~user~";
+
private static SubscriptionContainer recommendedSubscriptions = null;
private final CheckBoxChangeListener checkBoxChangeListener = new CheckBoxChangeListener();
private final ActiveSubscriptionContainer activeSubscriptions = new ActiveSubscriptionContainer();
private ProgressDialog progressDialog;
- private static final int[] BUILTIN_TITLES =
- {
- R.string.abb_subscription_disable_tracking,
- R.string.abb_subscription_disable_malware,
- R.string.abb_subscription_disable_anti_adblock,
- R.string.abb_subscription_disable_social_media
- };
-
- private static final String[] BUILTIN_LISTS =
- {
- "EasyPrivacy",
- "https://easylist-downloads.adblockplus.org/easyprivacy.txt",
- "Malware Domains",
- "https://easylist-downloads.adblockplus.org/malwaredomains_full.txt",
- "Adblock Warning Removal List",
- "https://easylist-downloads.adblockplus.org/antiadblockfilters.txt",
- "Fanboy's Social Blocking List",
- "https://easylist-downloads.adblockplus.org/fanboy-social.txt"
- };
-
- private static final String USER_SUBSCRIPTION_PREFIX = "~user~";
-
- static
- {
- for (int i = 0; i < BUILTIN_TITLES.length; i++)
- {
- BUILTIN_URL_TO_INDEX.put(BUILTIN_LISTS[i * 2 + 1], Integer.valueOf(i));
- }
-
- IGNORED_URLS.add("https://easylist-downloads.adblockplus.org/exceptionrules.txt");
- }
-
private synchronized static void initRecommendedSubscriptions(final Context context)
{
if (recommendedSubscriptions == null)
{
recommendedSubscriptions = SubscriptionContainer.create(context, false);
for (SubscriptionContainer.Subscription s : recommendedSubscriptions.getSubscriptions(false))
{
- IGNORED_URLS.add(s.url);
+ if(!BUILTIN_URLS.contains(s.url))
jens 2019/04/17 09:39:22 The white space after the if is missing
+ {
+ IGNORED_URLS.add(s.url);
+ }
}
}
}
public MoreSubscriptionsPreferenceGroup(final Context context, final AttributeSet attrs)
{
this(context, attrs, 0);
}
@@ -163,31 +156,31 @@
});
}
});
}
private void initEntries()
{
this.removeAll();
- for (int i = 0; i < BUILTIN_TITLES.length; i++)
+ for (int i = 0; i < BUILTIN_TITLES.size(); i++)
{
final CheckBoxPreference cbp = new CustomCheckBoxPreference(this.getContext());
- final String url = BUILTIN_LISTS[i * 2 + 1];
- cbp.setTitle(BUILTIN_TITLES[i]);
+ final String url = BUILTIN_URLS.get(i);
+ cbp.setTitle(BUILTIN_TITLES.get(i));
cbp.setKey(url);
cbp.setChecked(this.activeSubscriptions.enabledSubscriptions.containsKey(url));
cbp.setOnPreferenceChangeListener(this.checkBoxChangeListener);
cbp.setPersistent(false);
this.addPreference(cbp);
}
for (Entry<String, String> e : this.activeSubscriptions.enabledSubscriptions.entrySet())
{
- if (!BUILTIN_URL_TO_INDEX.containsKey(e.getKey()))
+ if (!BUILTIN_URLS.contains(e.getKey()))
{
final CheckBoxPreference cbp = new CustomCheckBoxPreference(this.getContext());
cbp.setTitle(e.getValue());
cbp.setKey(e.getKey());
cbp.setChecked(true);
cbp.setOnPreferenceChangeListener(this.checkBoxChangeListener);
cbp.setPersistent(false);
this.addPreference(cbp);

Powered by Google App Engine
This is Rietveld