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 |
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
12 * GNU General Public License for more details. | 12 * GNU General Public License for more details. |
13 * | 13 * |
14 * You should have received a copy of the GNU General Public License | 14 * You should have received a copy of the GNU General Public License |
15 * along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. | 15 * along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. |
16 */ | 16 */ |
17 | 17 |
18 package org.adblockplus.sbrowser.contentblocker.util; | 18 package org.adblockplus.sbrowser.contentblocker.util; |
19 | 19 |
20 import java.util.List; | 20 import java.util.List; |
21 import java.util.Locale; | 21 import java.util.Locale; |
22 | 22 |
| 23 import org.adblockplus.adblockplussbrowser.BuildConfig; |
23 import org.adblockplus.sbrowser.contentblocker.engine.DefaultSubscriptionInfo; | 24 import org.adblockplus.sbrowser.contentblocker.engine.DefaultSubscriptionInfo; |
24 import org.adblockplus.sbrowser.contentblocker.engine.Engine; | 25 import org.adblockplus.sbrowser.contentblocker.engine.Engine; |
25 | 26 |
26 import android.content.res.Resources; | 27 import android.content.res.Resources; |
27 | 28 |
28 public class SubscriptionUtils | 29 public class SubscriptionUtils |
29 { | 30 { |
30 | 31 |
| 32 public static final String EASYLIST_URL = "https://easylist-downloads.adblockp
lus.org/easylist.txt"; |
| 33 private static final String EASYLIST_CHINA_URL ="https://easylist-downloads.ad
blockplus.org/easylistchina+easylist.txt"; |
| 34 |
31 private static final String INDONESIAN_OLD = "in"; | 35 private static final String INDONESIAN_OLD = "in"; |
32 private static final String INDONESIAN_NEW = "id"; | 36 private static final String INDONESIAN_NEW = "id"; |
33 private static final String HEBREW_OLD = "iw"; | 37 private static final String HEBREW_OLD = "iw"; |
34 private static final String HEBREW_NEW = "he"; | 38 private static final String HEBREW_NEW = "he"; |
35 private static final String YIDDISH_OLD = "ji"; | 39 private static final String YIDDISH_OLD = "ji"; |
36 private static final String YIDDISH_NEW = "yi"; | 40 private static final String YIDDISH_NEW = "yi"; |
37 | 41 |
38 /** | 42 /** |
39 * @param defaultSubscriptions | 43 * @param defaultSubscriptions |
40 * @return The URL of the filter list which fits best for the device language. | 44 * @return The URL of the filter list which fits best for the device language. |
41 * If no match was found, return EASYLIST as default. | 45 * If no match was found, return EASYLIST as default. |
42 */ | 46 */ |
43 public static String chooseDefaultSubscriptionUrl(List<DefaultSubscriptionInfo
> defaultSubscriptions) | 47 public static String chooseDefaultSubscriptionUrl(List<DefaultSubscriptionInfo
> defaultSubscriptions) |
44 { | 48 { |
| 49 if (BuildConfig.FLAVOR.equals(BuildConfig.FLAVOR_REGION_CHINA)) |
| 50 { |
| 51 return EASYLIST_CHINA_URL; |
| 52 } |
45 for (final DefaultSubscriptionInfo info : defaultSubscriptions) | 53 for (final DefaultSubscriptionInfo info : defaultSubscriptions) |
46 { | 54 { |
47 if (info != null && info.getPrefixes().contains(getDeviceLanguageCode()) &
& info.isComplete()) | 55 if (info != null && info.getPrefixes().contains(getDeviceLanguageCode()) &
& info.isComplete()) |
48 { | 56 { |
49 return info.getUrl(); | 57 return info.getUrl(); |
50 } | 58 } |
51 } | 59 } |
52 return Engine.EASYLIST_URL; | 60 return EASYLIST_URL; |
53 } | 61 } |
54 | 62 |
55 @SuppressWarnings("deprecation") | 63 @SuppressWarnings("deprecation") |
56 private static String getDeviceLanguageCode() | 64 private static String getDeviceLanguageCode() |
57 { | 65 { |
58 Locale locale; | 66 Locale locale; |
59 if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) | 67 if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) |
60 { | 68 { |
61 locale = Resources.getSystem().getConfiguration().getLocales().get(0); | 69 locale = Resources.getSystem().getConfiguration().getLocales().get(0); |
62 } | 70 } |
(...skipping 19 matching lines...) Expand all Loading... |
82 return HEBREW_NEW; | 90 return HEBREW_NEW; |
83 case YIDDISH_OLD: | 91 case YIDDISH_OLD: |
84 return YIDDISH_NEW; | 92 return YIDDISH_NEW; |
85 case INDONESIAN_OLD: | 93 case INDONESIAN_OLD: |
86 return INDONESIAN_NEW; | 94 return INDONESIAN_NEW; |
87 default: | 95 default: |
88 return language; | 96 return language; |
89 } | 97 } |
90 } | 98 } |
91 } | 99 } |
OLD | NEW |