22
33import javax .annotation .Nonnull ;
44import javax .annotation .Nullable ;
5- import java .lang .reflect .InvocationTargetException ;
5+ import java .util .HashMap ;
6+ import java .util .Map ;
7+
8+ import org .schabi .newpipe .extractor .timeago .patterns .af ;
9+ import org .schabi .newpipe .extractor .timeago .patterns .am ;
10+ import org .schabi .newpipe .extractor .timeago .patterns .ar ;
11+ import org .schabi .newpipe .extractor .timeago .patterns .az ;
12+ import org .schabi .newpipe .extractor .timeago .patterns .be ;
13+ import org .schabi .newpipe .extractor .timeago .patterns .bg ;
14+ import org .schabi .newpipe .extractor .timeago .patterns .bn ;
15+ import org .schabi .newpipe .extractor .timeago .patterns .bs ;
16+ import org .schabi .newpipe .extractor .timeago .patterns .ca ;
17+ import org .schabi .newpipe .extractor .timeago .patterns .cs ;
18+ import org .schabi .newpipe .extractor .timeago .patterns .da ;
19+ import org .schabi .newpipe .extractor .timeago .patterns .de ;
20+ import org .schabi .newpipe .extractor .timeago .patterns .el ;
21+ import org .schabi .newpipe .extractor .timeago .patterns .en ;
22+ import org .schabi .newpipe .extractor .timeago .patterns .en_GB ;
23+ import org .schabi .newpipe .extractor .timeago .patterns .es ;
24+ import org .schabi .newpipe .extractor .timeago .patterns .es_419 ;
25+ import org .schabi .newpipe .extractor .timeago .patterns .es_US ;
26+ import org .schabi .newpipe .extractor .timeago .patterns .et ;
27+ import org .schabi .newpipe .extractor .timeago .patterns .eu ;
28+ import org .schabi .newpipe .extractor .timeago .patterns .fa ;
29+ import org .schabi .newpipe .extractor .timeago .patterns .fi ;
30+ import org .schabi .newpipe .extractor .timeago .patterns .fil ;
31+ import org .schabi .newpipe .extractor .timeago .patterns .fr ;
32+ import org .schabi .newpipe .extractor .timeago .patterns .fr_CA ;
33+ import org .schabi .newpipe .extractor .timeago .patterns .gl ;
34+ import org .schabi .newpipe .extractor .timeago .patterns .gu ;
35+ import org .schabi .newpipe .extractor .timeago .patterns .hi ;
36+ import org .schabi .newpipe .extractor .timeago .patterns .hr ;
37+ import org .schabi .newpipe .extractor .timeago .patterns .hu ;
38+ import org .schabi .newpipe .extractor .timeago .patterns .hy ;
39+ import org .schabi .newpipe .extractor .timeago .patterns .id ;
40+ import org .schabi .newpipe .extractor .timeago .patterns .is ;
41+ import org .schabi .newpipe .extractor .timeago .patterns .it ;
42+ import org .schabi .newpipe .extractor .timeago .patterns .iw ;
43+ import org .schabi .newpipe .extractor .timeago .patterns .ja ;
44+ import org .schabi .newpipe .extractor .timeago .patterns .ka ;
45+ import org .schabi .newpipe .extractor .timeago .patterns .kk ;
46+ import org .schabi .newpipe .extractor .timeago .patterns .km ;
47+ import org .schabi .newpipe .extractor .timeago .patterns .kn ;
48+ import org .schabi .newpipe .extractor .timeago .patterns .ko ;
49+ import org .schabi .newpipe .extractor .timeago .patterns .ky ;
50+ import org .schabi .newpipe .extractor .timeago .patterns .lo ;
51+ import org .schabi .newpipe .extractor .timeago .patterns .lt ;
52+ import org .schabi .newpipe .extractor .timeago .patterns .lv ;
53+ import org .schabi .newpipe .extractor .timeago .patterns .mk ;
54+ import org .schabi .newpipe .extractor .timeago .patterns .ml ;
55+ import org .schabi .newpipe .extractor .timeago .patterns .mn ;
56+ import org .schabi .newpipe .extractor .timeago .patterns .mr ;
57+ import org .schabi .newpipe .extractor .timeago .patterns .ms ;
58+ import org .schabi .newpipe .extractor .timeago .patterns .my ;
59+ import org .schabi .newpipe .extractor .timeago .patterns .ne ;
60+ import org .schabi .newpipe .extractor .timeago .patterns .nl ;
61+ import org .schabi .newpipe .extractor .timeago .patterns .no ;
62+ import org .schabi .newpipe .extractor .timeago .patterns .pa ;
63+ import org .schabi .newpipe .extractor .timeago .patterns .pl ;
64+ import org .schabi .newpipe .extractor .timeago .patterns .pt ;
65+ import org .schabi .newpipe .extractor .timeago .patterns .pt_PT ;
66+ import org .schabi .newpipe .extractor .timeago .patterns .ro ;
67+ import org .schabi .newpipe .extractor .timeago .patterns .ru ;
68+ import org .schabi .newpipe .extractor .timeago .patterns .si ;
69+ import org .schabi .newpipe .extractor .timeago .patterns .sk ;
70+ import org .schabi .newpipe .extractor .timeago .patterns .sl ;
71+ import org .schabi .newpipe .extractor .timeago .patterns .sq ;
72+ import org .schabi .newpipe .extractor .timeago .patterns .sr ;
73+ import org .schabi .newpipe .extractor .timeago .patterns .sr_Latn ;
74+ import org .schabi .newpipe .extractor .timeago .patterns .sv ;
75+ import org .schabi .newpipe .extractor .timeago .patterns .sw ;
76+ import org .schabi .newpipe .extractor .timeago .patterns .ta ;
77+ import org .schabi .newpipe .extractor .timeago .patterns .te ;
78+ import org .schabi .newpipe .extractor .timeago .patterns .th ;
79+ import org .schabi .newpipe .extractor .timeago .patterns .tr ;
80+ import org .schabi .newpipe .extractor .timeago .patterns .uk ;
81+ import org .schabi .newpipe .extractor .timeago .patterns .ur ;
82+ import org .schabi .newpipe .extractor .timeago .patterns .uz ;
83+ import org .schabi .newpipe .extractor .timeago .patterns .vi ;
84+ import org .schabi .newpipe .extractor .timeago .patterns .zh_CN ;
85+ import org .schabi .newpipe .extractor .timeago .patterns .zh_HK ;
86+ import org .schabi .newpipe .extractor .timeago .patterns .zh_TW ;
87+ import org .schabi .newpipe .extractor .timeago .patterns .zu ;
88+
689
790public class PatternsManager {
91+
92+ private static final Map <String , PatternsHolder > patternsMap = new HashMap <>();
93+
94+ static {
95+ patternsMap .put ("af" , af .getInstance ());
96+ patternsMap .put ("am" , am .getInstance ());
97+ patternsMap .put ("ar" , ar .getInstance ());
98+ patternsMap .put ("az" , az .getInstance ());
99+ patternsMap .put ("be" , be .getInstance ());
100+ patternsMap .put ("bg" , bg .getInstance ());
101+ patternsMap .put ("bn" , bn .getInstance ());
102+ patternsMap .put ("bs" , bs .getInstance ());
103+ patternsMap .put ("ca" , ca .getInstance ());
104+ patternsMap .put ("cs" , cs .getInstance ());
105+ patternsMap .put ("da" , da .getInstance ());
106+ patternsMap .put ("de" , de .getInstance ());
107+ patternsMap .put ("el" , el .getInstance ());
108+ patternsMap .put ("en_GB" , en_GB .getInstance ());
109+ patternsMap .put ("en" , en .getInstance ());
110+ patternsMap .put ("es_419" , es_419 .getInstance ());
111+ patternsMap .put ("es" , es .getInstance ());
112+ patternsMap .put ("es_US" , es_US .getInstance ());
113+ patternsMap .put ("et" , et .getInstance ());
114+ patternsMap .put ("eu" , eu .getInstance ());
115+ patternsMap .put ("fa" , fa .getInstance ());
116+ patternsMap .put ("fi" , fi .getInstance ());
117+ patternsMap .put ("fil" , fil .getInstance ());
118+ patternsMap .put ("fr_CA" , fr_CA .getInstance ());
119+ patternsMap .put ("fr" , fr .getInstance ());
120+ patternsMap .put ("gl" , gl .getInstance ());
121+ patternsMap .put ("gu" , gu .getInstance ());
122+ patternsMap .put ("hi" , hi .getInstance ());
123+ patternsMap .put ("hr" , hr .getInstance ());
124+ patternsMap .put ("hu" , hu .getInstance ());
125+ patternsMap .put ("hy" , hy .getInstance ());
126+ patternsMap .put ("id" , id .getInstance ());
127+ patternsMap .put ("is" , is .getInstance ());
128+ patternsMap .put ("it" , it .getInstance ());
129+ patternsMap .put ("iw" , iw .getInstance ());
130+ patternsMap .put ("ja" , ja .getInstance ());
131+ patternsMap .put ("ka" , ka .getInstance ());
132+ patternsMap .put ("kk" , kk .getInstance ());
133+ patternsMap .put ("km" , km .getInstance ());
134+ patternsMap .put ("kn" , kn .getInstance ());
135+ patternsMap .put ("ko" , ko .getInstance ());
136+ patternsMap .put ("ky" , ky .getInstance ());
137+ patternsMap .put ("lo" , lo .getInstance ());
138+ patternsMap .put ("lt" , lt .getInstance ());
139+ patternsMap .put ("lv" , lv .getInstance ());
140+ patternsMap .put ("mk" , mk .getInstance ());
141+ patternsMap .put ("ml" , ml .getInstance ());
142+ patternsMap .put ("mn" , mn .getInstance ());
143+ patternsMap .put ("mr" , mr .getInstance ());
144+ patternsMap .put ("ms" , ms .getInstance ());
145+ patternsMap .put ("my" , my .getInstance ());
146+ patternsMap .put ("ne" , ne .getInstance ());
147+ patternsMap .put ("nl" , nl .getInstance ());
148+ patternsMap .put ("no" , no .getInstance ());
149+ patternsMap .put ("pa" , pa .getInstance ());
150+ patternsMap .put ("pl" , pl .getInstance ());
151+ patternsMap .put ("pt" , pt .getInstance ());
152+ patternsMap .put ("pt_PT" , pt_PT .getInstance ());
153+ patternsMap .put ("ro" , ro .getInstance ());
154+ patternsMap .put ("ru" , ru .getInstance ());
155+ patternsMap .put ("si" , si .getInstance ());
156+ patternsMap .put ("sk" , sk .getInstance ());
157+ patternsMap .put ("sl" , sl .getInstance ());
158+ patternsMap .put ("sq" , sq .getInstance ());
159+ patternsMap .put ("sr" , sr .getInstance ());
160+ patternsMap .put ("sr_Latn" , sr_Latn .getInstance ());
161+ patternsMap .put ("sv" , sv .getInstance ());
162+ patternsMap .put ("sw" , sw .getInstance ());
163+ patternsMap .put ("ta" , ta .getInstance ());
164+ patternsMap .put ("te" , te .getInstance ());
165+ patternsMap .put ("th" , th .getInstance ());
166+ patternsMap .put ("tr" , tr .getInstance ());
167+ patternsMap .put ("uk" , uk .getInstance ());
168+ patternsMap .put ("ur" , ur .getInstance ());
169+ patternsMap .put ("uz" , uz .getInstance ());
170+ patternsMap .put ("vi" , vi .getInstance ());
171+ patternsMap .put ("zh_CN" , zh_CN .getInstance ());
172+ patternsMap .put ("zh_HK" , zh_HK .getInstance ());
173+ patternsMap .put ("zh_TW" , zh_TW .getInstance ());
174+ patternsMap .put ("zu" , zu .getInstance ());
175+ }
176+
8177 /**
9178 * Return an holder object containing all the patterns array.
10179 *
@@ -14,18 +183,6 @@ public class PatternsManager {
14183 public static PatternsHolder getPatterns (@ Nonnull String languageCode , @ Nullable String countryCode ) {
15184 final String targetLocalizationClassName = languageCode +
16185 (countryCode == null || countryCode .isEmpty () ? "" : "_" + countryCode );
17-
18- try {
19- final Class <?> targetClass = Class .forName (
20- "org.schabi.newpipe.extractor.timeago.patterns." + targetLocalizationClassName );
21-
22- return (PatternsHolder ) targetClass .getDeclaredMethod ("getInstance" ).invoke (null );
23- } catch (ClassNotFoundException ignored ) {
24- // Target localization is not supported
25- } catch (IllegalAccessException | NoSuchMethodException | InvocationTargetException e ) {
26- e .printStackTrace ();
27- }
28-
29- return null ;
186+ return patternsMap .get (targetLocalizationClassName );
30187 }
31188}
0 commit comments