mirror of
https://github.com/TeamNewPipe/NewPipe
synced 2025-09-19 00:20:50 +02:00
Compare commits
1885 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
3bb95ad44c | ||
![]() |
0a6572c282 | ||
![]() |
3937067be1 | ||
![]() |
48e4eb44f2 | ||
![]() |
c78cc6f2fd | ||
![]() |
73a71e0f5c | ||
![]() |
93605774f0 | ||
![]() |
2834e5d78f | ||
![]() |
dd467b4d63 | ||
![]() |
1fa541776b | ||
![]() |
f6f67c7b0a | ||
![]() |
9b3f19c19b | ||
![]() |
f4a9ec15e8 | ||
![]() |
006c4ecb02 | ||
![]() |
1c752b0e18 | ||
![]() |
f84aff63e3 | ||
![]() |
ae8121b680 | ||
![]() |
882fbf9275 | ||
![]() |
0a1743251e | ||
![]() |
3403a127c1 | ||
![]() |
9c5ca9f09d | ||
![]() |
73eea5608a | ||
![]() |
f48aeb91f4 | ||
![]() |
0bda964ece | ||
![]() |
14f5d54b50 | ||
![]() |
105ac2f6ff | ||
![]() |
160560f1fd | ||
![]() |
deeb667d6f | ||
![]() |
78123ff6f5 | ||
![]() |
9b1fdff22f | ||
![]() |
0275502796 | ||
![]() |
8af475e319 | ||
![]() |
2202c8f09e | ||
![]() |
adf309d3a8 | ||
![]() |
3071314586 | ||
![]() |
88e1df840d | ||
![]() |
23c1b66f6c | ||
![]() |
b0318a1cce | ||
![]() |
c130a66e4d | ||
![]() |
3386ba6d1b | ||
![]() |
9275569fa6 | ||
![]() |
2b23dfd0a6 | ||
![]() |
2a13d9990e | ||
![]() |
c9669b51c6 | ||
![]() |
486c180b3c | ||
![]() |
9eb5bf9b87 | ||
![]() |
953a89f3a1 | ||
![]() |
d638fa1434 | ||
![]() |
e6d700288c | ||
![]() |
371f14cdc9 | ||
![]() |
0733ae2404 | ||
![]() |
b1731ebd49 | ||
![]() |
342b3191ac | ||
![]() |
cd39445245 | ||
![]() |
92eac67367 | ||
![]() |
0e31a0c704 | ||
![]() |
d60c117a70 | ||
![]() |
69ccad5998 | ||
![]() |
b6d22320e6 | ||
![]() |
d3bf948dba | ||
![]() |
5de3d96b31 | ||
![]() |
d30dd64322 | ||
![]() |
386df10a5a | ||
![]() |
af147de547 | ||
![]() |
23cd0e5a5e | ||
![]() |
c5a566657c | ||
![]() |
ce2018c864 | ||
![]() |
472ab46af2 | ||
![]() |
7f87d45bb5 | ||
![]() |
e9f7ab18bb | ||
![]() |
fba83a8afe | ||
![]() |
05089abddc | ||
![]() |
ccd70aac51 | ||
![]() |
5df8445d04 | ||
![]() |
8c43674fa4 | ||
![]() |
f162316a6b | ||
![]() |
670596ed88 | ||
![]() |
6b3eb716c4 | ||
![]() |
6a5180d94c | ||
![]() |
83faaedfcc | ||
![]() |
d98d790a7a | ||
![]() |
36b5833a3a | ||
![]() |
5e86781a79 | ||
![]() |
6a780504b4 | ||
![]() |
a0d8212136 | ||
![]() |
0e1e6a9d62 | ||
![]() |
812282a332 | ||
![]() |
a8a4c9e97f | ||
![]() |
24c293e335 | ||
![]() |
0a596df497 | ||
![]() |
3d66c6572b | ||
![]() |
f45769cbb2 | ||
![]() |
ef51f93c6f | ||
![]() |
35af68f148 | ||
![]() |
ff21430b43 | ||
![]() |
fcb67f5119 | ||
![]() |
0a41fbd185 | ||
![]() |
d32aaf488f | ||
![]() |
1254798013 | ||
![]() |
c72d2a2308 | ||
![]() |
703181655b | ||
![]() |
da4a1c5bf0 | ||
![]() |
1130bd502e | ||
![]() |
27ea4ee679 | ||
![]() |
56e3b66d06 | ||
![]() |
7d4768e151 | ||
![]() |
7ec1011610 | ||
![]() |
e1bbd2055c | ||
![]() |
8a19547d9f | ||
![]() |
6e6922dab8 | ||
![]() |
e009ade922 | ||
![]() |
90e15bcab9 | ||
![]() |
2a040cea4b | ||
![]() |
72f2a7f8db | ||
![]() |
8a8022afe6 | ||
![]() |
b692bec310 | ||
![]() |
536c01c70d | ||
![]() |
ec8e14e977 | ||
![]() |
85b34f8809 | ||
![]() |
22951a56a5 | ||
![]() |
46ad84b101 | ||
![]() |
5efb77e520 | ||
![]() |
76903102b8 | ||
![]() |
c8e26b429c | ||
![]() |
55c1310f74 | ||
![]() |
b8278d91e0 | ||
![]() |
b032502148 | ||
![]() |
bec1a4dd1a | ||
![]() |
4dfb9e7977 | ||
![]() |
2bfa165cdc | ||
![]() |
658666276d | ||
![]() |
62f91b9084 | ||
![]() |
719140ab78 | ||
![]() |
0471fd8145 | ||
![]() |
a079a0c901 | ||
![]() |
ac2fa74c8f | ||
![]() |
4c10ef65f5 | ||
![]() |
cfa697fab2 | ||
![]() |
a09b9d3e4d | ||
![]() |
c470909f19 | ||
![]() |
5e59cfcf9d | ||
![]() |
a099fe35d2 | ||
![]() |
bcfd8a2450 | ||
![]() |
8ed9d71e14 | ||
![]() |
004c2fa55a | ||
![]() |
3dd63d03cb | ||
![]() |
cceedab864 | ||
![]() |
b494b2ea39 | ||
![]() |
0b29cf086b | ||
![]() |
11d33097f7 | ||
![]() |
3ae61645de | ||
![]() |
4711befffa | ||
![]() |
5673d53a20 | ||
![]() |
90ca4a5e92 | ||
![]() |
ad252956ab | ||
![]() |
1b2c091c39 | ||
![]() |
9031bc0c7b | ||
![]() |
1d85e0ea63 | ||
![]() |
458774aadb | ||
![]() |
ae89f7bea3 | ||
![]() |
fd77b8552b | ||
![]() |
bae9f5e844 | ||
![]() |
e3f3d90b68 | ||
![]() |
7f3bd8aec2 | ||
![]() |
4501203a7a | ||
![]() |
06292bceb2 | ||
![]() |
f94f14ab65 | ||
![]() |
7145c68e03 | ||
![]() |
bac3825c87 | ||
![]() |
fc1d283414 | ||
![]() |
c0652daa97 | ||
![]() |
553903bd9d | ||
![]() |
a43ec25b7e | ||
![]() |
bb2a66fd02 | ||
![]() |
71ac830bfa | ||
![]() |
82bce80c62 | ||
![]() |
67ddf78e18 | ||
![]() |
8285df0f3f | ||
![]() |
bdb45295b9 | ||
![]() |
f330ee8f8d | ||
![]() |
7331e4a7f2 | ||
![]() |
51252d3b61 | ||
![]() |
dcdb2c323e | ||
![]() |
c4ac901c67 | ||
![]() |
a7ce072ca2 | ||
![]() |
a9b427b877 | ||
![]() |
67a9f3a4ad | ||
![]() |
1a4905f36a | ||
![]() |
cbb1fde7b0 | ||
![]() |
b86bd019a7 | ||
![]() |
6a0bada9d2 | ||
![]() |
a708278cf0 | ||
![]() |
119462cbc9 | ||
![]() |
0324a4928c | ||
![]() |
895a2a56b5 | ||
![]() |
d9e616beee | ||
![]() |
aa5d5d2b6d | ||
![]() |
85dc555358 | ||
![]() |
15b4a7d055 | ||
![]() |
696c94050d | ||
![]() |
b222614c4a | ||
![]() |
edff694bf3 | ||
![]() |
be430a6ac0 | ||
![]() |
937d40c5f7 | ||
![]() |
d3979676ab | ||
![]() |
6716262a28 | ||
![]() |
06d8bafce6 | ||
![]() |
f814755908 | ||
![]() |
f355fd2551 | ||
![]() |
ea84c62d76 | ||
![]() |
acda71cebb | ||
![]() |
67dcd2e5c6 | ||
![]() |
c996644613 | ||
![]() |
171c3e492d | ||
![]() |
8834195cc6 | ||
![]() |
ed57e72fa1 | ||
![]() |
7e84c3e167 | ||
![]() |
4adc33471b | ||
![]() |
31d07cc1e2 | ||
![]() |
a349a66d5a | ||
![]() |
7d427b4cc4 | ||
![]() |
6c7e54868d | ||
![]() |
9484a5e2ee | ||
![]() |
3cbd2057e3 | ||
![]() |
71ff1cf713 | ||
![]() |
c737d891bc | ||
![]() |
82a53343fc | ||
![]() |
03fdc60018 | ||
![]() |
42d19d98ad | ||
![]() |
c9915bba18 | ||
![]() |
a275d7ff50 | ||
![]() |
74199c8624 | ||
![]() |
238bff1fee | ||
![]() |
de534b58c5 | ||
![]() |
111a0f9f17 | ||
![]() |
50392ed67d | ||
![]() |
3de9da0528 | ||
![]() |
ece93cadd5 | ||
![]() |
7219c8d33c | ||
![]() |
b0a09c7876 | ||
![]() |
1d017d3cbc | ||
![]() |
5fa56f2aca | ||
![]() |
5ded1b139f | ||
![]() |
2abb0db272 | ||
![]() |
674c041c13 | ||
![]() |
03c89a69a2 | ||
![]() |
dbed5e2a62 | ||
![]() |
d7519903a1 | ||
![]() |
ab14f0d7ac | ||
![]() |
3b6e43b7ca | ||
![]() |
7d3b7af874 | ||
![]() |
2acc348062 | ||
![]() |
33ba8acd05 | ||
![]() |
0c56af7090 | ||
![]() |
4375ecaad7 | ||
![]() |
90c538d4b6 | ||
![]() |
1ffa8329d0 | ||
![]() |
b404b7974a | ||
![]() |
de44b580f9 | ||
![]() |
2a630cd745 | ||
![]() |
1ccccc5e39 | ||
![]() |
aec851acfa | ||
![]() |
ad5ac479fd | ||
![]() |
67b82a404c | ||
![]() |
f7f86a2f62 | ||
![]() |
6e42b4af27 | ||
![]() |
fe9ed8af76 | ||
![]() |
c4c3f369c0 | ||
![]() |
9b9bf40e47 | ||
![]() |
14a888a610 | ||
![]() |
f3d777c65c | ||
![]() |
d494b6c934 | ||
![]() |
7294220727 | ||
![]() |
665b9087b1 | ||
![]() |
f1691050cd | ||
![]() |
169b6acd24 | ||
![]() |
35b3bf2edb | ||
![]() |
8f73c8c98b | ||
![]() |
94ea8c21eb | ||
![]() |
b6a19c3e2d | ||
![]() |
21455d58a6 | ||
![]() |
239e9bd3db | ||
![]() |
0832171a2b | ||
![]() |
1edfcc629c | ||
![]() |
9a2a8698ef | ||
![]() |
54c31422d9 | ||
![]() |
a33464284c | ||
![]() |
4842caf426 | ||
![]() |
02b6b4d8eb | ||
![]() |
4b0d7c7d88 | ||
![]() |
559b53acc3 | ||
![]() |
4233c18dbb | ||
![]() |
adec2c9fcc | ||
![]() |
6ad2406262 | ||
![]() |
bfeb8ca104 | ||
![]() |
5614edfa2f | ||
![]() |
946f7b2305 | ||
![]() |
dfcf435f88 | ||
![]() |
0e734c267c | ||
![]() |
faadcec4d1 | ||
![]() |
eb81784818 | ||
![]() |
327010f76b | ||
![]() |
371669dcb6 | ||
![]() |
fb702b93ca | ||
![]() |
50c8453785 | ||
![]() |
14fb5ee6c4 | ||
![]() |
46c2343ec6 | ||
![]() |
f5c226362f | ||
![]() |
9114c1157d | ||
![]() |
a4f4230275 | ||
![]() |
46a6147c08 | ||
![]() |
0d26923d79 | ||
![]() |
b57c93cf03 | ||
![]() |
ec19e4bc8f | ||
![]() |
cb68a9c2ce | ||
![]() |
b51ded1580 | ||
![]() |
4b6fb5bfeb | ||
![]() |
9b8175b5be | ||
![]() |
3ecfc622e2 | ||
![]() |
d8d2ee4e09 | ||
![]() |
be478cb088 | ||
![]() |
c187b4487f | ||
![]() |
f6d21e74cb | ||
![]() |
bde4c4bd25 | ||
![]() |
d9aaceea95 | ||
![]() |
676d64a24a | ||
![]() |
8ae1768f71 | ||
![]() |
212705e7e3 | ||
![]() |
b3f6524e5c | ||
![]() |
5ca0a0adf2 | ||
![]() |
669d2c44c9 | ||
![]() |
604bc5b4c1 | ||
![]() |
88268ae569 | ||
![]() |
140fb86401 | ||
![]() |
2b281c4357 | ||
![]() |
7b6dbfb456 | ||
![]() |
b3c49ac86b | ||
![]() |
d309fd9c97 | ||
![]() |
f3a280dcb6 | ||
![]() |
43894687a2 | ||
![]() |
8dd8928dab | ||
![]() |
282a4d15c2 | ||
![]() |
83a2ffc67e | ||
![]() |
e9a6e3fae0 | ||
![]() |
97944b9793 | ||
![]() |
0b5d995b6d | ||
![]() |
1781a9fe9a | ||
![]() |
a0479bf7ca | ||
![]() |
2affa31edf | ||
![]() |
0bd040a851 | ||
![]() |
616c6a1607 | ||
![]() |
a5176fbf80 | ||
![]() |
f2b76b7582 | ||
![]() |
f4847f31ae | ||
![]() |
05adcf2c12 | ||
![]() |
ea301be3c1 | ||
![]() |
88e9785b01 | ||
![]() |
78efabfc1c | ||
![]() |
9d3e22200c | ||
![]() |
183f9701fd | ||
![]() |
ebbba134fe | ||
![]() |
c257be8176 | ||
![]() |
afb0aea660 | ||
![]() |
960bf46f44 | ||
![]() |
16db799e88 | ||
![]() |
f8f2cdcfcc | ||
![]() |
a1f7862f96 | ||
![]() |
3ff9284f2a | ||
![]() |
edf8f27c0f | ||
![]() |
a720953ff3 | ||
![]() |
f79dd26a82 | ||
![]() |
36b5fce4dd | ||
![]() |
89537322fd | ||
![]() |
2229ce1fe9 | ||
![]() |
f257b2177a | ||
![]() |
056c1fd43e | ||
![]() |
acacd3134f | ||
![]() |
1fe0ba1a6e | ||
![]() |
e639f4b5de | ||
![]() |
5a234bd989 | ||
![]() |
661227266e | ||
![]() |
e01556fd9a | ||
![]() |
5cb53ffc18 | ||
![]() |
e7178626ab | ||
![]() |
7f0948b0ed | ||
![]() |
4baee67781 | ||
![]() |
7061f38abe | ||
![]() |
2aa259c0b2 | ||
![]() |
a0f74e715a | ||
![]() |
c13e761c3f | ||
![]() |
2837e44bab | ||
![]() |
d41e3bb41e | ||
![]() |
4160bbb8c4 | ||
![]() |
404a20f280 | ||
![]() |
2241146b9f | ||
![]() |
bcb26c5721 | ||
![]() |
a681d8c1ba | ||
![]() |
0515b74f75 | ||
![]() |
7eeb96d88e | ||
![]() |
5b6c73ef06 | ||
![]() |
c70b866d16 | ||
![]() |
b84f2874dc | ||
![]() |
c372b5529b | ||
![]() |
a43156c38d | ||
![]() |
a15112febc | ||
![]() |
1c6a677a39 | ||
![]() |
9bf749a2c8 | ||
![]() |
f6c9d9df20 | ||
![]() |
5386e0ded9 | ||
![]() |
8fab405a3a | ||
![]() |
ee409f3ca9 | ||
![]() |
bda9beacaa | ||
![]() |
5d8c7e5733 | ||
![]() |
a68c763125 | ||
![]() |
31ac89d9d6 | ||
![]() |
8b258cbbe4 | ||
![]() |
53676fc0fd | ||
![]() |
42c561af9e | ||
![]() |
fae777c14c | ||
![]() |
1af6dc614a | ||
![]() |
2986004638 | ||
![]() |
d6f7b4706b | ||
![]() |
b40dd3e5c0 | ||
![]() |
2f4097ca9d | ||
![]() |
c8a91fbb25 | ||
![]() |
0ec259a5fc | ||
![]() |
2fda99bdb7 | ||
![]() |
1bb4ac4e9c | ||
![]() |
f376b98c09 | ||
![]() |
7382fdb2d2 | ||
![]() |
aead9592cf | ||
![]() |
bedacf29d9 | ||
![]() |
570e9a8307 | ||
![]() |
fcb94ec603 | ||
![]() |
69886ed58b | ||
![]() |
798235cd21 | ||
![]() |
b38b6b6f35 | ||
![]() |
2dba13c52e | ||
![]() |
ff366cb2c5 | ||
![]() |
a87861a993 | ||
![]() |
65476356c9 | ||
![]() |
8af6667f3e | ||
![]() |
b546df7b95 | ||
![]() |
20c1f12da8 | ||
![]() |
e65ff201af | ||
![]() |
4f367a3dcd | ||
![]() |
d7093bce4d | ||
![]() |
79e3e59cae | ||
![]() |
f1b292df93 | ||
![]() |
0cd383b8dd | ||
![]() |
22c404a667 | ||
![]() |
ba11a59d89 | ||
![]() |
06020851a9 | ||
![]() |
fd5cbde18c | ||
![]() |
384398a1e2 | ||
![]() |
2bdba4ba8b | ||
![]() |
db4179a530 | ||
![]() |
b905b74dc2 | ||
![]() |
ff05c36856 | ||
![]() |
40ea5eb53d | ||
![]() |
02f48ccc7f | ||
![]() |
72eaff148c | ||
![]() |
8b60397f06 | ||
![]() |
18d019c62a | ||
![]() |
27527b18e1 | ||
![]() |
ae9aa2662a | ||
![]() |
3bfb593b21 | ||
![]() |
8556e99241 | ||
![]() |
e885822a34 | ||
![]() |
8ebb564a79 | ||
![]() |
7dc176edcb | ||
![]() |
5167fe078b | ||
![]() |
bc7188c8a8 | ||
![]() |
5a05cb96be | ||
![]() |
0258726f0a | ||
![]() |
2fa9aa04f4 | ||
![]() |
a5f9927459 | ||
![]() |
61b422502b | ||
![]() |
1e57b5ea49 | ||
![]() |
12ce915e8e | ||
![]() |
a32273af91 | ||
![]() |
96a327af17 | ||
![]() |
1910e81ad9 | ||
![]() |
80593e774c | ||
![]() |
c092fc8e18 | ||
![]() |
579efa15c7 | ||
![]() |
37ff4e9aeb | ||
![]() |
4e4a7de5d4 | ||
![]() |
2d1bc6436a | ||
![]() |
65726d75cc | ||
![]() |
d63c0a32eb | ||
![]() |
e49c4162e5 | ||
![]() |
ffc5ad5ce7 | ||
![]() |
2dbfc28d69 | ||
![]() |
1ac7b2b8cb | ||
![]() |
7d047e612e | ||
![]() |
24f2999669 | ||
![]() |
b08728b645 | ||
![]() |
00dee43a1e | ||
![]() |
21e300b9f3 | ||
![]() |
158f0aa2d9 | ||
![]() |
10fb763d66 | ||
![]() |
4aa2c1c2c2 | ||
![]() |
bdf044d264 | ||
![]() |
6049a1f2f5 | ||
![]() |
a9fea9f606 | ||
![]() |
11002e9d45 | ||
![]() |
e7a0b850df | ||
![]() |
736c902f3c | ||
![]() |
a67ff564d0 | ||
![]() |
2a778383b1 | ||
![]() |
36457400e7 | ||
![]() |
1d629e7b2e | ||
![]() |
5f764ab8f5 | ||
![]() |
a8c9edbc3f | ||
![]() |
0a5bffe826 | ||
![]() |
9c9b6bc0d6 | ||
![]() |
562f7e7e41 | ||
![]() |
594c55afa6 | ||
![]() |
0abf97e999 | ||
![]() |
b811aec773 | ||
![]() |
ca47f566dc | ||
![]() |
65674f7fd4 | ||
![]() |
dcc510ff6c | ||
![]() |
a4fe43a964 | ||
![]() |
3dab4c07cf | ||
![]() |
ee3248ea5d | ||
![]() |
7be5ec0521 | ||
![]() |
04e90cc279 | ||
![]() |
ec8d488249 | ||
![]() |
41fdafac45 | ||
![]() |
d2e2622279 | ||
![]() |
9476bd6527 | ||
![]() |
24a06ea6f6 | ||
![]() |
2567f8eefb | ||
![]() |
fa5f5ce251 | ||
![]() |
728a61756a | ||
![]() |
736ccbe376 | ||
![]() |
fa2b226b9e | ||
![]() |
e8c5ae194d | ||
![]() |
cc2feab37e | ||
![]() |
83b084a90b | ||
![]() |
e2ac0722c8 | ||
![]() |
c3efb40b8e | ||
![]() |
03d7a416f3 | ||
![]() |
e6e812fdb0 | ||
![]() |
b34160eeec | ||
![]() |
d01aeab242 | ||
![]() |
9904e01252 | ||
![]() |
7f068b691b | ||
![]() |
59558efed1 | ||
![]() |
a88e19a8ed | ||
![]() |
0c17f0825b | ||
![]() |
9384d2523a | ||
![]() |
0e13172a89 | ||
![]() |
92f34452b5 | ||
![]() |
db54929584 | ||
![]() |
ba23cafb18 | ||
![]() |
a2e189767b | ||
![]() |
0d236fd678 | ||
![]() |
9979b160c7 | ||
![]() |
65b332c395 | ||
![]() |
b867ac8cc7 | ||
![]() |
9a0ff24ffe | ||
![]() |
9540a12b6f | ||
![]() |
fdfb53c05c | ||
![]() |
3ec979cc40 | ||
![]() |
9ea08c8a4b | ||
![]() |
629eada5c3 | ||
![]() |
a1220c77da | ||
![]() |
b4668367c6 | ||
![]() |
77da40e507 | ||
![]() |
b3b2748bb7 | ||
![]() |
26e8143616 | ||
![]() |
1444fe5468 | ||
![]() |
ac431e3ece | ||
![]() |
563a4137bd | ||
![]() |
19cbcd0c1d | ||
![]() |
8803b60b28 | ||
![]() |
e9f59ae769 | ||
![]() |
5cf3bee336 | ||
![]() |
060fe835c7 | ||
![]() |
2688ea8f59 | ||
![]() |
8eb61cf752 | ||
![]() |
6628901d46 | ||
![]() |
5a31882be3 | ||
![]() |
a42da09d6c | ||
![]() |
658cf5c873 | ||
![]() |
b8c752b740 | ||
![]() |
9151ae7081 | ||
![]() |
a1a894f722 | ||
![]() |
3352ee3151 | ||
![]() |
da3533a430 | ||
![]() |
0bb7f9becf | ||
![]() |
40c64ee2d8 | ||
![]() |
66651f7111 | ||
![]() |
c7d0bd5dec | ||
![]() |
9ce0a9d49d | ||
![]() |
2070b353c2 | ||
![]() |
1d91f3b91b | ||
![]() |
8b0aebfddb | ||
![]() |
467905d7b0 | ||
![]() |
cc81921bcb | ||
![]() |
8600c04ff3 | ||
![]() |
3f31445f12 | ||
![]() |
8a33371f37 | ||
![]() |
1164bd7183 | ||
![]() |
589fcd09c0 | ||
![]() |
c5d49016d4 | ||
![]() |
8886b12151 | ||
![]() |
336ffd7cf0 | ||
![]() |
3088778a9f | ||
![]() |
4c1de83b24 | ||
![]() |
ee2fbfc2d1 | ||
![]() |
dff7fe722b | ||
![]() |
eb6dac2e9f | ||
![]() |
255760de16 | ||
![]() |
a2373b817a | ||
![]() |
72a9940863 | ||
![]() |
46e088b5f3 | ||
![]() |
a3468b51e2 | ||
![]() |
34f19c4268 | ||
![]() |
1d2c616ce0 | ||
![]() |
99e0f0c3e4 | ||
![]() |
7d4c45c4c0 | ||
![]() |
1a92dfb019 | ||
![]() |
cc7f27fb53 | ||
![]() |
e8402008bc | ||
![]() |
c1a302834c | ||
![]() |
762f374f93 | ||
![]() |
e21d2bd511 | ||
![]() |
d936ca6b89 | ||
![]() |
88ac821070 | ||
![]() |
c20837d5f5 | ||
![]() |
81a4c66f92 | ||
![]() |
e4dfb02cb0 | ||
![]() |
0abaab4880 | ||
![]() |
a1aaa52c2a | ||
![]() |
b3a509ad14 | ||
![]() |
ad0f58090f | ||
![]() |
43c4e619c2 | ||
![]() |
427397ba7b | ||
![]() |
b51abf1ea6 | ||
![]() |
76e082159d | ||
![]() |
d36c371c1d | ||
![]() |
a5b2100f8a | ||
![]() |
fe19780f06 | ||
![]() |
83f1d7af82 | ||
![]() |
1916616b07 | ||
![]() |
0a6a684acc | ||
![]() |
6d9aecd500 | ||
![]() |
4d25db2e11 | ||
![]() |
77d5714059 | ||
![]() |
76c59cbdea | ||
![]() |
212f7dfc93 | ||
![]() |
9ba37ce34c | ||
![]() |
6c439bfbc4 | ||
![]() |
352d0db08b | ||
![]() |
be8ce1fce5 | ||
![]() |
f6356e576a | ||
![]() |
83a34a8ba1 | ||
![]() |
fb7a855eda | ||
![]() |
9c1d778623 | ||
![]() |
1bad2a023d | ||
![]() |
999da51e99 | ||
![]() |
ea4b965eeb | ||
![]() |
33160e83cb | ||
![]() |
3e5e7f49cc | ||
![]() |
cc02b01c2b | ||
![]() |
243e5391db | ||
![]() |
230ad5c04f | ||
![]() |
289cfaa407 | ||
![]() |
0798745c16 | ||
![]() |
094695a7ff | ||
![]() |
86f041b803 | ||
![]() |
00e65153f4 | ||
![]() |
b12f0490f3 | ||
![]() |
42a2bc8a9a | ||
![]() |
8adca3725d | ||
![]() |
b57d4b3048 | ||
![]() |
9c7aa241e4 | ||
![]() |
c3ec9b2ad7 | ||
![]() |
195070f8f5 | ||
![]() |
cbfe91f36f | ||
![]() |
738e2ac344 | ||
![]() |
ba0be665ae | ||
![]() |
0ba6f8b39f | ||
![]() |
2773f5fbc8 | ||
![]() |
263a816c3b | ||
![]() |
e7d148336b | ||
![]() |
829059ea01 | ||
![]() |
622d698ff8 | ||
![]() |
f09b04dce0 | ||
![]() |
59f8583895 | ||
![]() |
f506fc0478 | ||
![]() |
880676d670 | ||
![]() |
6485327b97 | ||
![]() |
5773152ed3 | ||
![]() |
e88312659b | ||
![]() |
c4d0ba549f | ||
![]() |
cb41afb11f | ||
![]() |
6d27aea9f2 | ||
![]() |
39e1f9cb76 | ||
![]() |
8fb7d64f79 | ||
![]() |
08fdef4870 | ||
![]() |
aa0196b9d0 | ||
![]() |
a3426f92ac | ||
![]() |
d50d4254c5 | ||
![]() |
50cdadc4a2 | ||
![]() |
5aa9b6cb12 | ||
![]() |
44fc8d80e0 | ||
![]() |
817fa57bfe | ||
![]() |
668e2da01b | ||
![]() |
7f3982d153 | ||
![]() |
f62ae930c7 | ||
![]() |
d0808ce159 | ||
![]() |
7b19dadbf5 | ||
![]() |
43ab0283d9 | ||
![]() |
c27e9d5901 | ||
![]() |
e0d21627bb | ||
![]() |
1b1dd6ef88 | ||
![]() |
10700007d5 | ||
![]() |
c5ec8d04c1 | ||
![]() |
490b250db6 | ||
![]() |
0630423c8e | ||
![]() |
c2e06517e1 | ||
![]() |
b01ae33d1e | ||
![]() |
a55ee32058 | ||
![]() |
c3941d5bec | ||
![]() |
6020dc2b2d | ||
![]() |
7ab41e0c3a | ||
![]() |
c0a75f5b98 | ||
![]() |
efd4db40ef | ||
![]() |
3c3fe7bf83 | ||
![]() |
268762166a | ||
![]() |
53a1833e26 | ||
![]() |
1ff8b5fb9f | ||
![]() |
225b43ca3c | ||
![]() |
75a58d6381 | ||
![]() |
62814f083e | ||
![]() |
6f9deea873 | ||
![]() |
d3160eed9d | ||
![]() |
9b4a07de34 | ||
![]() |
d31eeac49e | ||
![]() |
84c5d27416 | ||
![]() |
17d77aa31f | ||
![]() |
388ec3e3d3 | ||
![]() |
f0829f9ef3 | ||
![]() |
81f481833c | ||
![]() |
a74c4168f3 | ||
![]() |
776dbc34f7 | ||
![]() |
168ac91ab8 | ||
![]() |
9bd26798b6 | ||
![]() |
4ae81a2de4 | ||
![]() |
3c314ced0a | ||
![]() |
ba9d0d7707 | ||
![]() |
38946e4b0f | ||
![]() |
f71242a036 | ||
![]() |
960fd9be38 | ||
![]() |
40844dcd76 | ||
![]() |
420d28c713 | ||
![]() |
5bbd6afaf1 | ||
![]() |
77a06c7604 | ||
![]() |
1f4f87d3bd | ||
![]() |
2e8d86575e | ||
![]() |
ef0659f436 | ||
![]() |
e18e69966f | ||
![]() |
e7b4b88055 | ||
![]() |
de65d1e1fc | ||
![]() |
7ea0862f95 | ||
![]() |
efc7049dfd | ||
![]() |
629549d76f | ||
![]() |
756fb795d6 | ||
![]() |
13d1974a5b | ||
![]() |
d3168a9022 | ||
![]() |
059378eedf | ||
![]() |
e973868a90 | ||
![]() |
2a0e5d6835 | ||
![]() |
5537abe2c3 | ||
![]() |
5eae235b3c | ||
![]() |
bfc7718a21 | ||
![]() |
405d6bee78 | ||
![]() |
f65f2da890 | ||
![]() |
30ab58c33d | ||
![]() |
87ba5a7eb6 | ||
![]() |
6e8593af91 | ||
![]() |
0ab1d3fc40 | ||
![]() |
f22d13e695 | ||
![]() |
cdde61a460 | ||
![]() |
989ce126f1 | ||
![]() |
28618e822e | ||
![]() |
6772381afc | ||
![]() |
75b45beabc | ||
![]() |
56d53e9b01 | ||
![]() |
3a8b04e2d1 | ||
![]() |
1ce7d66fb1 | ||
![]() |
7b5a9b69fe | ||
![]() |
837b22ccac | ||
![]() |
7146719393 | ||
![]() |
71ee604c69 | ||
![]() |
9945a5b813 | ||
![]() |
7254387042 | ||
![]() |
3a7f2a94a6 | ||
![]() |
6bea4aa96b | ||
![]() |
fa262bbceb | ||
![]() |
3139fe0170 | ||
![]() |
ef6c5de65b | ||
![]() |
07799563b5 | ||
![]() |
b1de4b7bd6 | ||
![]() |
2b8ae9a5ea | ||
![]() |
7c52d3ec5d | ||
![]() |
aefaa7619e | ||
![]() |
ca202290bf | ||
![]() |
cbdbc4cba2 | ||
![]() |
8abf904a78 | ||
![]() |
ecf7969c46 | ||
![]() |
a473e3d623 | ||
![]() |
1f8e90858e | ||
![]() |
2c2edca8fa | ||
![]() |
50e86ff1ca | ||
![]() |
02ecc5011a | ||
![]() |
6e666a018b | ||
![]() |
66fbb2ce1e | ||
![]() |
b00722ec0a | ||
![]() |
77b1413319 | ||
![]() |
87b8d60c9d | ||
![]() |
db5203e1ff | ||
![]() |
ea022670c4 | ||
![]() |
54b009cc49 | ||
![]() |
80c3acace9 | ||
![]() |
cea9428b47 | ||
![]() |
f8ffbfabbe | ||
![]() |
836a1e652b | ||
![]() |
d8544e0b84 | ||
![]() |
4817d7fddc | ||
![]() |
e6a385a85e | ||
![]() |
3634f68364 | ||
![]() |
f17ffa94fe | ||
![]() |
d52bcd46a1 | ||
![]() |
7e58b0b6fe | ||
![]() |
f451f1f65d | ||
![]() |
4d12e71fba | ||
![]() |
66fde7a212 | ||
![]() |
86eccf219d | ||
![]() |
677865f347 | ||
![]() |
eb4b3810e9 | ||
![]() |
5f26501ddf | ||
![]() |
b33a72f864 | ||
![]() |
675f43b968 | ||
![]() |
9f117a2e59 | ||
![]() |
a0844229a3 | ||
![]() |
114fcc144c | ||
![]() |
43372ff648 | ||
![]() |
b8ebbc5404 | ||
![]() |
28309f82f3 | ||
![]() |
c70fa391b6 | ||
![]() |
caab589dce | ||
![]() |
20370054e7 | ||
![]() |
f1882cb1e1 | ||
![]() |
2ed149852d | ||
![]() |
ac7226a0df | ||
![]() |
5705650ca8 | ||
![]() |
60855ca7c5 | ||
![]() |
b8d8d181f3 | ||
![]() |
6309160fc6 | ||
![]() |
fc0e6ed273 | ||
![]() |
ada0cee656 | ||
![]() |
6dde524d2c | ||
![]() |
6a631e1915 | ||
![]() |
bb6fa343cf | ||
![]() |
7557acde6c | ||
![]() |
25ed8952f9 | ||
![]() |
b93d94b0bd | ||
![]() |
33d75fd2fb | ||
![]() |
28a9855fd2 | ||
![]() |
9aad07621c | ||
![]() |
384cde6eaa | ||
![]() |
5ae98661ad | ||
![]() |
8f4d9ceca9 | ||
![]() |
83d9a1233e | ||
![]() |
522a287d79 | ||
![]() |
e052d4660d | ||
![]() |
39b0b2f032 | ||
![]() |
0223d6d200 | ||
![]() |
808ce72078 | ||
![]() |
3a84c47176 | ||
![]() |
20c2426128 | ||
![]() |
bf11d4c9fa | ||
![]() |
783c0f79d7 | ||
![]() |
98b94bd9c4 | ||
![]() |
ff0178f965 | ||
![]() |
7f88c3d0a9 | ||
![]() |
11e8e38f2c | ||
![]() |
50c5314eaf | ||
![]() |
a7a76d4f58 | ||
![]() |
4df4f68fe1 | ||
![]() |
7db8d37137 | ||
![]() |
b7503a7d81 | ||
![]() |
9f5d4034e3 | ||
![]() |
3c941f6c4b | ||
![]() |
ec8fff421a | ||
![]() |
a47a0b5432 | ||
![]() |
96ba46f21d | ||
![]() |
90f48d5817 | ||
![]() |
7288dd097a | ||
![]() |
0119d62a35 | ||
![]() |
4d6ab73fa9 | ||
![]() |
f58c95840a | ||
![]() |
ecf24f81ec | ||
![]() |
dd3306a940 | ||
![]() |
bbb2b98f27 | ||
![]() |
bc7332780d | ||
![]() |
6f3bc3ac8f | ||
![]() |
cd04d869b7 | ||
![]() |
909e15cbdd | ||
![]() |
33fa30ab78 | ||
![]() |
44933ac17a | ||
![]() |
bb2af96deb | ||
![]() |
1fe6da14ea | ||
![]() |
b7b9653c21 | ||
![]() |
8adc5918f8 | ||
![]() |
0db593b1bb | ||
![]() |
a0c9dbeb78 | ||
![]() |
61d5546d89 | ||
![]() |
f97b7c943b | ||
![]() |
97549b633b | ||
![]() |
1949e4a9d4 | ||
![]() |
ecb5f7a5ba | ||
![]() |
6021f72cf0 | ||
![]() |
c00ef74f96 | ||
![]() |
962e070150 | ||
![]() |
221cbf5e07 | ||
![]() |
a72d37ab69 | ||
![]() |
f92227e5df | ||
![]() |
c50617452f | ||
![]() |
3957eca94d | ||
![]() |
70111cf614 | ||
![]() |
f9e03c9a40 | ||
![]() |
88fbdf1cc4 | ||
![]() |
7b76bd79e8 | ||
![]() |
f4b58e649d | ||
![]() |
91ff301d53 | ||
![]() |
f5e1c99259 | ||
![]() |
abdcd3cc30 | ||
![]() |
23615a39ac | ||
![]() |
5fa5fc39fc | ||
![]() |
01b3c7e91b | ||
![]() |
e4e364af3f | ||
![]() |
f2358692af | ||
![]() |
26ed6299e3 | ||
![]() |
3a85187111 | ||
![]() |
4261a2eed3 | ||
![]() |
fef17163a9 | ||
![]() |
9dd447a14f | ||
![]() |
ecf4407ba4 | ||
![]() |
039c0d3ee6 | ||
![]() |
5808aead55 | ||
![]() |
e797e2e7f1 | ||
![]() |
23cacbfe65 | ||
![]() |
4f94ee9b72 | ||
![]() |
0d1a26298a | ||
![]() |
8ccd0b23e9 | ||
![]() |
9d8b991354 | ||
![]() |
d273f69852 | ||
![]() |
eee3ccafc3 | ||
![]() |
3686e90e81 | ||
![]() |
f5f8371865 | ||
![]() |
1191455d37 | ||
![]() |
1a5d9da2bf | ||
![]() |
011e151c91 | ||
![]() |
54aa40eac1 | ||
![]() |
21a7a73f6d | ||
![]() |
5090b41eef | ||
![]() |
0e55aa6249 | ||
![]() |
dd2dcf4df2 | ||
![]() |
2e84b28998 | ||
![]() |
e6cbfea5a7 | ||
![]() |
641d662944 | ||
![]() |
09208e183b | ||
![]() |
fba3ece688 | ||
![]() |
f7d849a3cc | ||
![]() |
709c700cc6 | ||
![]() |
2da411c1ec | ||
![]() |
d6e4f3c809 | ||
![]() |
1bb08db8ba | ||
![]() |
2ba116b1e6 | ||
![]() |
7088de0fb9 | ||
![]() |
7084f73d6c | ||
![]() |
69374e25fe | ||
![]() |
5e16969d61 | ||
![]() |
0fe5a44e5a | ||
![]() |
98e617001d | ||
![]() |
979bd09b29 | ||
![]() |
77678b8f31 | ||
![]() |
3575cac9d7 | ||
![]() |
8cdeaf1b27 | ||
![]() |
08a8c6c414 | ||
![]() |
fa5c1b22ae | ||
![]() |
a99e7f3288 | ||
![]() |
a29506ed2f | ||
![]() |
1434b40d03 | ||
![]() |
6d6609187b | ||
![]() |
9682eaae2a | ||
![]() |
1cdb4ccc17 | ||
![]() |
2a878dffbc | ||
![]() |
49f4fb7ed7 | ||
![]() |
caa985660a | ||
![]() |
3842a1e4fb | ||
![]() |
e06d83cb93 | ||
![]() |
67df894448 | ||
![]() |
d1ec6cf21b | ||
![]() |
537c561cee | ||
![]() |
a65ddc5b36 | ||
![]() |
1fb1b3a784 | ||
![]() |
b80879765c | ||
![]() |
10919fe15b | ||
![]() |
9e5fe1edca | ||
![]() |
03ee3f3d2a | ||
![]() |
4113283069 | ||
![]() |
56c5f696df | ||
![]() |
9beb76e641 | ||
![]() |
f71403be58 | ||
![]() |
d0e5d36b1b | ||
![]() |
fdeb7543ca | ||
![]() |
90716f4f5b | ||
![]() |
54d41bc288 | ||
![]() |
d63c7a9042 | ||
![]() |
cd5b60cbed | ||
![]() |
6d60e6698a | ||
![]() |
d53cb01396 | ||
![]() |
8baaecab1b | ||
![]() |
1368f9f89e | ||
![]() |
ce36f3ae3b | ||
![]() |
cf147aa161 | ||
![]() |
7700cff5e5 | ||
![]() |
b883f313ba | ||
![]() |
b1ee22cde6 | ||
![]() |
b32f149a1b | ||
![]() |
1d136c6c35 | ||
![]() |
b8a17580c5 | ||
![]() |
87febf8679 | ||
![]() |
38b2ffd450 | ||
![]() |
01e031e7e7 | ||
![]() |
0b1eda3050 | ||
![]() |
52cdf96dfe | ||
![]() |
1f5eba59c5 | ||
![]() |
372c2f2be0 | ||
![]() |
25e0b46396 | ||
![]() |
621a1909ec | ||
![]() |
d3332583b6 | ||
![]() |
cb5cf9bb09 | ||
![]() |
6cb2c2a84e | ||
![]() |
633137fd79 | ||
![]() |
9627fdf33f | ||
![]() |
b39366c80a | ||
![]() |
ac01c49666 | ||
![]() |
80d16ea407 | ||
![]() |
4f44f26333 | ||
![]() |
a21bdb1487 | ||
![]() |
4d6a2f40d3 | ||
![]() |
e6773aac0e | ||
![]() |
997381d0c3 | ||
![]() |
ac53eeb76d | ||
![]() |
a09c8934fc | ||
![]() |
b4120c39e6 | ||
![]() |
5d6320d925 | ||
![]() |
985bf50f7f | ||
![]() |
84d21af644 | ||
![]() |
267cd99b04 | ||
![]() |
401960079c | ||
![]() |
1fbc8a2850 | ||
![]() |
16fe5a94ac | ||
![]() |
1c20a4d9eb | ||
![]() |
3a9f30d954 | ||
![]() |
856aacf8ce | ||
![]() |
441b510775 | ||
![]() |
88a10b5af1 | ||
![]() |
65205ace95 | ||
![]() |
1a4ef06ee9 | ||
![]() |
64ac631040 | ||
![]() |
4e4cabb929 | ||
![]() |
b242c86869 | ||
![]() |
d37fee346a | ||
![]() |
cc52d3b0af | ||
![]() |
d5b1bae305 | ||
![]() |
04e22faf85 | ||
![]() |
48cb3ed138 | ||
![]() |
ebdeee8b3c | ||
![]() |
6449d7d4ee | ||
![]() |
4b775d15a2 | ||
![]() |
e4d6a453b0 | ||
![]() |
9dcbcd57cb | ||
![]() |
17aa44c88b | ||
![]() |
60dc266e13 | ||
![]() |
60ed308caa | ||
![]() |
c485e7e167 | ||
![]() |
71a8361580 | ||
![]() |
666dce1b6f | ||
![]() |
7bed1c2295 | ||
![]() |
51325089f0 | ||
![]() |
90666a84ac | ||
![]() |
0c37bd3a64 | ||
![]() |
753517fb56 | ||
![]() |
b939daac2a | ||
![]() |
8f2b7b2783 | ||
![]() |
883d4b4065 | ||
![]() |
ff38ae202b | ||
![]() |
7b71302a63 | ||
![]() |
cbf8fc5bb9 | ||
![]() |
00797a7834 | ||
![]() |
de092e5357 | ||
![]() |
bba8739008 | ||
![]() |
3c5564b274 | ||
![]() |
f3ff24cfbf | ||
![]() |
975b519585 | ||
![]() |
7f1f34f812 | ||
![]() |
d5bab1006e | ||
![]() |
b52e48a355 | ||
![]() |
68a807a446 | ||
![]() |
0dc6b66825 | ||
![]() |
a9db7616aa | ||
![]() |
b71e2833d6 | ||
![]() |
56bc919866 | ||
![]() |
ac3d8cddbe | ||
![]() |
aa10b392ae | ||
![]() |
e8ea1c92b1 | ||
![]() |
b5d7b80fe9 | ||
![]() |
2a328e28da | ||
![]() |
3d1cc348c8 | ||
![]() |
3d5c173d61 | ||
![]() |
9a5da5199d | ||
![]() |
764a171a25 | ||
![]() |
25061ab07c | ||
![]() |
6074925102 | ||
![]() |
f8c0c449bf | ||
![]() |
26d18c588e | ||
![]() |
6f18dd26a2 | ||
![]() |
7340bc05b4 | ||
![]() |
b0948cf9fc | ||
![]() |
86c16fa5d8 | ||
![]() |
68695bbf92 | ||
![]() |
b4fdbdeb1b | ||
![]() |
1fb3774e03 | ||
![]() |
f284a799ef | ||
![]() |
c6e759a94c | ||
![]() |
052c9a9869 | ||
![]() |
0806344ffb | ||
![]() |
d0e626c6ee | ||
![]() |
9068247856 | ||
![]() |
4553850412 | ||
![]() |
21d42c92e5 | ||
![]() |
eb9770e3ba | ||
![]() |
d54a6e0b0e | ||
![]() |
a8f5cfa640 | ||
![]() |
0d3e0c201e | ||
![]() |
cc4e4a4f91 | ||
![]() |
b597774bb9 | ||
![]() |
87fca5cffe | ||
![]() |
9685456ee4 | ||
![]() |
6a9e3ef639 | ||
![]() |
b5a9f042cc | ||
![]() |
770dcc1832 | ||
![]() |
94f7baf299 | ||
![]() |
77979eddde | ||
![]() |
f1e52b8b92 | ||
![]() |
2e414cfd63 | ||
![]() |
f5b5982e1c | ||
![]() |
eebd83d6ac | ||
![]() |
a9aee21e58 | ||
![]() |
bd9ee18e56 | ||
![]() |
c75c2d0f21 | ||
![]() |
80f3e3c3b6 | ||
![]() |
86a1fcf009 | ||
![]() |
c235c647a0 | ||
![]() |
09d8ae1316 | ||
![]() |
cb7e94449c | ||
![]() |
e742091a37 | ||
![]() |
8e3be3826f | ||
![]() |
9bc95f030c | ||
![]() |
9576d5bd89 | ||
![]() |
a0ba3ce2e4 | ||
![]() |
6b816a11f7 | ||
![]() |
86c7b8522e | ||
![]() |
f9eb2a1ee5 | ||
![]() |
174d040ca3 | ||
![]() |
6b16b08712 | ||
![]() |
e9cdb28a06 | ||
![]() |
f8abf92a66 | ||
![]() |
9413856463 | ||
![]() |
c24d46cf0f | ||
![]() |
c38e4190f1 | ||
![]() |
53cec61cdf | ||
![]() |
150c3b413a | ||
![]() |
eb15c04254 | ||
![]() |
7d7a6f7ccc | ||
![]() |
b54d18d888 | ||
![]() |
705028c79d | ||
![]() |
a91ef2ce9e | ||
![]() |
73f46d3762 | ||
![]() |
1ceda017c7 | ||
![]() |
725cedab72 | ||
![]() |
40b60e8313 | ||
![]() |
5c01f04a07 | ||
![]() |
183181ee54 | ||
![]() |
74b58cae59 | ||
![]() |
b859823011 | ||
![]() |
701320b100 | ||
![]() |
dcdcf17f5e | ||
![]() |
7c9c3de644 | ||
![]() |
cbcd281784 | ||
![]() |
e70dcdc642 | ||
![]() |
391d3e7fc7 | ||
![]() |
02d986fc89 | ||
![]() |
65a6488e44 | ||
![]() |
cf703d5213 | ||
![]() |
3a8437c6f3 | ||
![]() |
640396da64 | ||
![]() |
7e005549fe | ||
![]() |
59b3362715 | ||
![]() |
9dc8e47113 | ||
![]() |
e958545230 | ||
![]() |
76f3e170d5 | ||
![]() |
a5af49dafd | ||
![]() |
736d9fe450 | ||
![]() |
bd7a520316 | ||
![]() |
7f5b5d6f03 | ||
![]() |
8d5a59e7d5 | ||
![]() |
989acce0a5 | ||
![]() |
641b4a806a | ||
![]() |
025a44b629 | ||
![]() |
dd64bf2af7 | ||
![]() |
d5b3f65076 | ||
![]() |
66de4cbead | ||
![]() |
be3d6adf77 | ||
![]() |
65e83e8fb6 | ||
![]() |
7a2be6f12c | ||
![]() |
0d6662b558 | ||
![]() |
0a2aa54508 | ||
![]() |
f6353cfb47 | ||
![]() |
fb71ba3b7c | ||
![]() |
ac6e086c26 | ||
![]() |
4c4cfb49b4 | ||
![]() |
9a073713bb | ||
![]() |
4db3bd3270 | ||
![]() |
d5d9ed7200 | ||
![]() |
0e409bb993 | ||
![]() |
89a8769399 | ||
![]() |
fdfd94b9d0 | ||
![]() |
ba56aec353 | ||
![]() |
3ac3cedc19 | ||
![]() |
2756db6601 | ||
![]() |
7d296ee650 | ||
![]() |
ccd26b4146 | ||
![]() |
5d4269be4c | ||
![]() |
54cdfc0c16 | ||
![]() |
fd899a2e95 | ||
![]() |
d1f446aae2 | ||
![]() |
c3f04ea67d | ||
![]() |
7b56aaad53 | ||
![]() |
b73677fa5e | ||
![]() |
0040ee5cb6 | ||
![]() |
f391574113 | ||
![]() |
ea863b0c24 | ||
![]() |
4506c90e59 | ||
![]() |
894a63ed82 | ||
![]() |
0155454526 | ||
![]() |
f7aafb87a8 | ||
![]() |
227001ec32 | ||
![]() |
d765364915 | ||
![]() |
3d47e63d6f | ||
![]() |
79c5c3cc57 | ||
![]() |
8babbddcf9 | ||
![]() |
13756508d3 | ||
![]() |
b7fe001b13 | ||
![]() |
35b4110a7a | ||
![]() |
cdca0c6325 | ||
![]() |
d928f5759f | ||
![]() |
23eeb4353d | ||
![]() |
8e8d74b5b7 | ||
![]() |
094851cc7d | ||
![]() |
f55612be40 | ||
![]() |
0951f0f824 | ||
![]() |
b70fd826e7 | ||
![]() |
994559b39b | ||
![]() |
f7534b3a0f | ||
![]() |
7fcc07805a | ||
![]() |
7f9f075147 | ||
![]() |
cbfc359a99 | ||
![]() |
907842c672 | ||
![]() |
c890ab44d6 | ||
![]() |
89b11ff71c | ||
![]() |
3e34eeeed7 | ||
![]() |
69302fcbd0 | ||
![]() |
60879351a9 | ||
![]() |
f4433ac508 | ||
![]() |
7b7d0d6171 | ||
![]() |
a6e0ed09a8 | ||
![]() |
19ed6ebbaf | ||
![]() |
dfeee17d39 | ||
![]() |
4c429c869c | ||
![]() |
6d8a361c9a | ||
![]() |
825de1b6ee | ||
![]() |
124461f587 | ||
![]() |
a570fa6110 | ||
![]() |
0e8df83bbd | ||
![]() |
952c8428d8 | ||
![]() |
5fe2c10aa1 | ||
![]() |
1f4aa2506b | ||
![]() |
9f8844fa5f | ||
![]() |
990aa88e00 | ||
![]() |
9e335c1894 | ||
![]() |
8f2b9a6bb7 | ||
![]() |
448f3e8918 | ||
![]() |
62b2ab7571 | ||
![]() |
46fa9a9366 | ||
![]() |
29fee28d1d | ||
![]() |
78cbfa20d9 | ||
![]() |
ccd42d42ab | ||
![]() |
abe03ef9a3 | ||
![]() |
9813ffb83b | ||
![]() |
b4eefa3eed | ||
![]() |
3490273b49 | ||
![]() |
65c8b6e66a | ||
![]() |
6a166b798a | ||
![]() |
0686aec606 | ||
![]() |
54b3c62803 | ||
![]() |
40d83ba7e7 | ||
![]() |
ea3c379d88 | ||
![]() |
a6ee3e99ea | ||
![]() |
b2cab4aea0 | ||
![]() |
2a2e532acc | ||
![]() |
0954a494e7 | ||
![]() |
bc32c946ff | ||
![]() |
95debf66e5 | ||
![]() |
3b166f82a8 | ||
![]() |
7d19250565 | ||
![]() |
c510a4149d | ||
![]() |
33e473c509 | ||
![]() |
e3dfdb0b06 | ||
![]() |
efa262480a | ||
![]() |
2c8dd9ce2a | ||
![]() |
ead1399e7b | ||
![]() |
5ebde97352 | ||
![]() |
f6c624b59a | ||
![]() |
4a4b1e0e49 | ||
![]() |
cb5e37184a | ||
![]() |
4b78a9366d | ||
![]() |
90b9223aae | ||
![]() |
094a3af8ae | ||
![]() |
0d2296917a | ||
![]() |
d6fffc7e55 | ||
![]() |
283d33aa27 | ||
![]() |
6c445c0833 | ||
![]() |
dd10c1756f | ||
![]() |
74bda719a6 | ||
![]() |
ced75a9b60 | ||
![]() |
5ecad47d6e | ||
![]() |
6e11ca1ac4 | ||
![]() |
edfdabb691 | ||
![]() |
4653e94c57 | ||
![]() |
54df50f84d | ||
![]() |
7588c8de5a | ||
![]() |
d564199e88 | ||
![]() |
e458adb342 | ||
![]() |
b43a7354cf | ||
![]() |
6341ad88e8 | ||
![]() |
314b2fb14f | ||
![]() |
795ba89dc4 | ||
![]() |
5b8ff28556 | ||
![]() |
5e66a66111 | ||
![]() |
3e6bed538a | ||
![]() |
f893edeb82 | ||
![]() |
64e4adef29 | ||
![]() |
c1fe03aab6 | ||
![]() |
25db3c2940 | ||
![]() |
442290d7f0 | ||
![]() |
a6eb871f5e | ||
![]() |
b500c3f526 | ||
![]() |
4b0a071a35 | ||
![]() |
4ef69969a7 | ||
![]() |
c5885d9ce4 | ||
![]() |
4c2d705311 | ||
![]() |
939017ada9 | ||
![]() |
322c5c05cf | ||
![]() |
cd174b8ce9 | ||
![]() |
f5999f28e9 | ||
![]() |
428a754bfc | ||
![]() |
9ba2a9d907 | ||
![]() |
71a22348c9 | ||
![]() |
4ac0db1869 | ||
![]() |
bca9035302 | ||
![]() |
33b316d72f | ||
![]() |
020322df0b | ||
![]() |
6068043fd4 | ||
![]() |
2bf4032a6f | ||
![]() |
5e659e3f46 | ||
![]() |
23f70d6b8b | ||
![]() |
ddcf2c5206 | ||
![]() |
6b88349c77 | ||
![]() |
4eb2d3805d | ||
![]() |
6cdddc4e9f | ||
![]() |
406d844722 | ||
![]() |
09ee0357c7 | ||
![]() |
f603f63361 | ||
![]() |
720bb5d615 | ||
![]() |
eebd76661d | ||
![]() |
7885ae5d3f | ||
![]() |
08257cc5dd | ||
![]() |
27f8144bb8 | ||
![]() |
146d4a8365 | ||
![]() |
bddd9b3409 | ||
![]() |
0d4d83f3a6 | ||
![]() |
4bb0bb4ff0 | ||
![]() |
2d75968532 | ||
![]() |
aa0e759168 | ||
![]() |
cdae745c00 | ||
![]() |
a8b6af1f03 | ||
![]() |
c7106073b4 | ||
![]() |
d96139798f | ||
![]() |
bd560644fe | ||
![]() |
f6772c4138 | ||
![]() |
dd733640e5 | ||
![]() |
75a0c0a527 | ||
![]() |
a5925875a7 | ||
![]() |
84157f9247 | ||
![]() |
fcf3ed7881 | ||
![]() |
dac3be69d6 | ||
![]() |
5118e5cceb | ||
![]() |
7ca0d20dda | ||
![]() |
378222e484 | ||
![]() |
812bec205c | ||
![]() |
2ee8803e33 | ||
![]() |
007616ca42 | ||
![]() |
f3b235e4a7 | ||
![]() |
074d4be4ba | ||
![]() |
03cd48257b | ||
![]() |
546db83de3 | ||
![]() |
cc11a39f7e | ||
![]() |
a83b365afd | ||
![]() |
6a6cfac603 | ||
![]() |
5270cedc56 | ||
![]() |
2ac833d2a6 | ||
![]() |
f7be210b12 | ||
![]() |
24774d7921 | ||
![]() |
2b2e954b84 | ||
![]() |
85108be686 | ||
![]() |
9fbac943bb | ||
![]() |
d901eaa8d2 | ||
![]() |
5fb0e8d007 | ||
![]() |
cd5c76cb76 | ||
![]() |
b2a64f8bf3 | ||
![]() |
b91acc9de5 | ||
![]() |
07836c7ffa | ||
![]() |
8b30a0d7cc | ||
![]() |
13a3e2feb2 | ||
![]() |
f4dca71497 | ||
![]() |
e4c6e87338 | ||
![]() |
b2862520fd | ||
![]() |
bb29f1ea95 | ||
![]() |
69b92757f4 | ||
![]() |
62ae2652c7 | ||
![]() |
6f6633050b | ||
![]() |
d37bfd6651 | ||
![]() |
55a17a8a83 | ||
![]() |
422b06b72d | ||
![]() |
873a1d1c3b | ||
![]() |
44d06767b5 | ||
![]() |
3f4379afbf | ||
![]() |
c0515de6b7 | ||
![]() |
09159ec245 | ||
![]() |
ab0bf80888 | ||
![]() |
74b8eaed04 | ||
![]() |
d64b5ccae2 | ||
![]() |
3883212ca7 | ||
![]() |
1cec41dba0 | ||
![]() |
d00c0ff60c | ||
![]() |
1d597c5f5b | ||
![]() |
c004ef7d0b | ||
![]() |
1bfb977b28 | ||
![]() |
04138047f6 | ||
![]() |
147e99a915 | ||
![]() |
6f7d162edc | ||
![]() |
910aee4b73 | ||
![]() |
77e376751a | ||
![]() |
7e1264ac44 | ||
![]() |
8f3a4a5a04 | ||
![]() |
2d2689362d | ||
![]() |
913500a6de | ||
![]() |
81d7c54a55 | ||
![]() |
4501d5a8fc | ||
![]() |
becc90409f | ||
![]() |
10c4f7b465 | ||
![]() |
cb5b0ff764 | ||
![]() |
277a817eaf | ||
![]() |
fbac6f6a57 | ||
![]() |
b1b0d6ceb6 | ||
![]() |
07421542df | ||
![]() |
74a8139ac9 | ||
![]() |
77eb76fefb | ||
![]() |
42a450c61f | ||
![]() |
9e2ed10144 | ||
![]() |
27e5ce7f9b | ||
![]() |
f7b322da49 | ||
![]() |
16ad13c962 | ||
![]() |
a8880bbc0a | ||
![]() |
f020b88db3 | ||
![]() |
a4f5c9e2a3 | ||
![]() |
96d3841dba | ||
![]() |
39277d569f | ||
![]() |
75b5bc03f7 | ||
![]() |
01e17d9c2e | ||
![]() |
8047ff96a8 | ||
![]() |
0e737a2f3b | ||
![]() |
854579d814 | ||
![]() |
f3cbd99e45 | ||
![]() |
c13ed3f347 | ||
![]() |
7409b58546 | ||
![]() |
404ebb8810 | ||
![]() |
b4a9a300c5 | ||
![]() |
aa637e6a2b | ||
![]() |
85132e1e6e | ||
![]() |
f0aa5a4646 | ||
![]() |
b0479d0bd9 | ||
![]() |
e475b888aa | ||
![]() |
a8a3bbd9f5 | ||
![]() |
f3cbd17598 | ||
![]() |
3d7e4dc286 | ||
![]() |
2e98729527 | ||
![]() |
3ac838a7ec | ||
![]() |
a1bd5bfc00 | ||
![]() |
b99571a797 | ||
![]() |
43dec8914c | ||
![]() |
5b5cb78595 | ||
![]() |
cb8c919609 | ||
![]() |
be3810dfed | ||
![]() |
b961b59ad4 | ||
![]() |
d2fbb86d8a | ||
![]() |
782c6211d0 | ||
![]() |
c0dd11b61a | ||
![]() |
885830849e | ||
![]() |
079958f66b | ||
![]() |
77c5d7d160 | ||
![]() |
327195dcca | ||
![]() |
cfbc88d375 | ||
![]() |
d75a11b397 | ||
![]() |
8706da2890 | ||
![]() |
824a06c39b | ||
![]() |
9c80c37ee9 | ||
![]() |
ad6d383ee2 | ||
![]() |
5251f970b7 | ||
![]() |
2225927bb1 | ||
![]() |
d210b600d7 | ||
![]() |
70da5769d4 | ||
![]() |
69e3814c77 | ||
![]() |
d950e11332 | ||
![]() |
1a2b18f722 | ||
![]() |
af78369f87 | ||
![]() |
8e4aca0582 | ||
![]() |
b603c178d1 | ||
![]() |
31e5a7afb0 | ||
![]() |
6fb1847327 | ||
![]() |
0c1d773134 | ||
![]() |
894ea27df2 | ||
![]() |
f13731f91e | ||
![]() |
6742cbfd59 | ||
![]() |
6c0dea6138 | ||
![]() |
388e8d0c2f | ||
![]() |
27b455592a | ||
![]() |
dad1c04528 | ||
![]() |
4ad9fcdc6f | ||
![]() |
81b7fe0e9c | ||
![]() |
735cc8d6cc | ||
![]() |
43a1c4ce11 | ||
![]() |
9ca048a881 | ||
![]() |
bab3dd417e | ||
![]() |
11541310d6 | ||
![]() |
76740303c5 | ||
![]() |
0a7ecb89ce | ||
![]() |
c16a7d5da2 | ||
![]() |
b03723c3fb | ||
![]() |
40213b2d6a | ||
![]() |
e8b71e867c | ||
![]() |
8ab1b7fd8f | ||
![]() |
8009aa975e | ||
![]() |
cea706d14a | ||
![]() |
7b60648424 | ||
![]() |
3cb4952281 | ||
![]() |
ec1ae647b0 | ||
![]() |
a3be9f36b3 | ||
![]() |
451910763d | ||
![]() |
884dc38701 | ||
![]() |
3cca7aead9 | ||
![]() |
4c4852129e | ||
![]() |
ae2b0cc76b | ||
![]() |
71e963c853 | ||
![]() |
89b680f6d9 | ||
![]() |
f3eacac4ce | ||
![]() |
26ec32cbe1 | ||
![]() |
6d74038866 | ||
![]() |
7e45e88914 | ||
![]() |
62a4869eb7 | ||
![]() |
4f8b51701b | ||
![]() |
169bcc2550 | ||
![]() |
88b29cbbf9 | ||
![]() |
51d4d0d3dc | ||
![]() |
a482aa1e21 | ||
![]() |
040b38689d | ||
![]() |
8e8e53c4d5 | ||
![]() |
d717c6d2f6 | ||
![]() |
9587ce97a8 | ||
![]() |
aaaf573475 | ||
![]() |
6c6f322d90 | ||
![]() |
c03f0ed1fb | ||
![]() |
55287393be | ||
![]() |
9575f92165 | ||
![]() |
a5cbaad804 | ||
![]() |
f492414b5e | ||
![]() |
3e6ddf7176 | ||
![]() |
29ffb05653 | ||
![]() |
50c3ee2e9c | ||
![]() |
6292470677 | ||
![]() |
8d912f2673 | ||
![]() |
227d129c3a | ||
![]() |
d9eeb6afa0 | ||
![]() |
478aecb0f4 | ||
![]() |
abb82154c9 | ||
![]() |
03c8b6b5f5 | ||
![]() |
2281300165 | ||
![]() |
84068d101b | ||
![]() |
62020fa85b | ||
![]() |
3c8bf5ccc9 | ||
![]() |
71d5762be8 | ||
![]() |
65d5358366 | ||
![]() |
6ecdfaf19e | ||
![]() |
32bd6ae1ac | ||
![]() |
92231a1e26 | ||
![]() |
38ad4dc440 | ||
![]() |
6645a47b0e | ||
![]() |
75a2d20b0b | ||
![]() |
8c15d708e6 | ||
![]() |
539b7ad87b | ||
![]() |
fc7c2c9f5a | ||
![]() |
3cd760f654 | ||
![]() |
2ec0a5d003 | ||
![]() |
1a605e814b | ||
![]() |
fe0053a15d | ||
![]() |
014f3e5aff | ||
![]() |
4a25e3b644 | ||
![]() |
e7f59bc436 | ||
![]() |
488d1ccd5a | ||
![]() |
409b36c254 | ||
![]() |
b0e567dbfa | ||
![]() |
c6086ba281 | ||
![]() |
aede925351 | ||
![]() |
9d38c66510 | ||
![]() |
0c516189c3 | ||
![]() |
c2936ea289 | ||
![]() |
dc33460a34 | ||
![]() |
ffacc93b55 | ||
![]() |
74f0ee2718 | ||
![]() |
7189791d9f | ||
![]() |
dc18d53c8f | ||
![]() |
f71ef8e130 | ||
![]() |
6eec9d8993 | ||
![]() |
9560f98359 | ||
![]() |
217433bf69 | ||
![]() |
ff5db1b939 | ||
![]() |
455a46d3ad | ||
![]() |
039a879104 | ||
![]() |
dfba9ea53b | ||
![]() |
177cce5e8f | ||
![]() |
309d36260e | ||
![]() |
bdc73eb755 | ||
![]() |
0786750eb9 | ||
![]() |
9f5d921275 | ||
![]() |
8991b2d8e3 | ||
![]() |
79dffce59b | ||
![]() |
e0301a621b | ||
![]() |
1e4361abdc | ||
![]() |
80c26fd278 | ||
![]() |
3339531086 | ||
![]() |
07ad9fbb11 | ||
![]() |
6ddc581d76 | ||
![]() |
dfe94172aa | ||
![]() |
edb632f9c7 | ||
![]() |
7f73612b9f | ||
![]() |
7f130f18b6 | ||
![]() |
d05a4c53aa | ||
![]() |
d99a9b90a0 | ||
![]() |
f311225312 | ||
![]() |
dee17fc313 | ||
![]() |
0662538d60 | ||
![]() |
5b52ad91ac | ||
![]() |
8552c41bff | ||
![]() |
7ecd298285 | ||
![]() |
2546f515d1 | ||
![]() |
8804924d27 | ||
![]() |
e410cae141 | ||
![]() |
140cfaec90 | ||
![]() |
a0f20aac23 | ||
![]() |
93fafb362f | ||
![]() |
9152df5512 | ||
![]() |
415bcd9f7e | ||
![]() |
2224033a85 | ||
![]() |
ade0498684 | ||
![]() |
211b00fff4 | ||
![]() |
77c72d03a8 | ||
![]() |
f429d93351 | ||
![]() |
e428f8b116 | ||
![]() |
9482b9d638 | ||
![]() |
e019c9f720 | ||
![]() |
e2778366e9 | ||
![]() |
36d2f8339c | ||
![]() |
a4a0c3b9fd | ||
![]() |
1b1b6c8af8 | ||
![]() |
064fd2bc68 | ||
![]() |
13152ab6ea | ||
![]() |
1743d821eb | ||
![]() |
ff16e577ef | ||
![]() |
86062c6e94 | ||
![]() |
8ce2350563 | ||
![]() |
cb8989af7f | ||
![]() |
877fa45eb4 | ||
![]() |
e33942486d | ||
![]() |
9606e080ef | ||
![]() |
d5cd9c55be | ||
![]() |
9c197ced80 | ||
![]() |
f8424599e1 | ||
![]() |
ccee18057a | ||
![]() |
1ad0f342ad | ||
![]() |
7a16ac574b | ||
![]() |
f46738f750 | ||
![]() |
fb8ff3fece | ||
![]() |
7498dd3800 | ||
![]() |
957c31b9c5 | ||
![]() |
b260570e8c | ||
![]() |
46542747b7 | ||
![]() |
d64480fc9b | ||
![]() |
c00e694d40 | ||
![]() |
f0761cc95e | ||
![]() |
068554955c | ||
![]() |
a2f915f556 | ||
![]() |
cffd35c974 | ||
![]() |
2ef2aa98a4 | ||
![]() |
ba98b30aa4 | ||
![]() |
87c0f9c803 | ||
![]() |
ce620b9e28 | ||
![]() |
fcbb5536eb | ||
![]() |
72df6dbd80 | ||
![]() |
3a6b023dbf | ||
![]() |
8b67f1358d | ||
![]() |
2aebb3b8db | ||
![]() |
f2b38be2b0 | ||
![]() |
a43001f30d | ||
![]() |
17abe1ea5c | ||
![]() |
6aaefab618 | ||
![]() |
cd867fb4d1 | ||
![]() |
25988f61a6 | ||
![]() |
be421e580d | ||
![]() |
641ab25470 | ||
![]() |
a508539c2e | ||
![]() |
cac79d9a0d | ||
![]() |
9ede8118da | ||
![]() |
e47761750a | ||
![]() |
2f181ce7c9 | ||
![]() |
3a13d4a1de | ||
![]() |
719de00e0f | ||
![]() |
ddffe99f53 | ||
![]() |
9ade596f06 | ||
![]() |
46f413b7f2 | ||
![]() |
5fe2e7b8ad | ||
![]() |
3008cbb5f4 | ||
![]() |
f7983960e5 | ||
![]() |
bb8007bb7c | ||
![]() |
01751ba97a | ||
![]() |
f41475d11c | ||
![]() |
d8914d9b6d | ||
![]() |
94cc2ad365 | ||
![]() |
e07464b81c | ||
![]() |
9d231b55b5 | ||
![]() |
77d8dac3c1 | ||
![]() |
e160015283 | ||
![]() |
aeb0cac3ee | ||
![]() |
a539f94837 | ||
![]() |
df70751071 | ||
![]() |
e55f1dff78 | ||
![]() |
47646e1c62 | ||
![]() |
80e673f20c | ||
![]() |
9ca8c5480c | ||
![]() |
4d0d3c7ead | ||
![]() |
58137aadc9 | ||
![]() |
82a59ae479 | ||
![]() |
affd23b14e | ||
![]() |
9c7f249756 | ||
![]() |
e2a0502171 | ||
![]() |
3832a4b355 | ||
![]() |
84f059415c | ||
![]() |
bb292e3199 | ||
![]() |
70541bf561 | ||
![]() |
48dd8e88e3 | ||
![]() |
52c2e0899d | ||
![]() |
9955d5b62f | ||
![]() |
8e26247fa1 | ||
![]() |
72924e2692 | ||
![]() |
8c2c8d630f | ||
![]() |
5ccf0baa6b | ||
![]() |
8fff0ccdf2 | ||
![]() |
35264bfb97 | ||
![]() |
4c9b0dc8e9 | ||
![]() |
4deb7caa83 | ||
![]() |
45f1a512b4 | ||
![]() |
ab95fdc087 | ||
![]() |
df608b9ded | ||
![]() |
6a4c81d160 | ||
![]() |
040d658540 | ||
![]() |
cbc9913e9c | ||
![]() |
f007cbd5ee | ||
![]() |
7351591df7 | ||
![]() |
5222d4cbba | ||
![]() |
ef9966815e | ||
![]() |
ad73440ce9 | ||
![]() |
c81cfdc455 | ||
![]() |
134c3804db | ||
![]() |
e355df5eda | ||
![]() |
a68e0a95f4 | ||
![]() |
6fd6facf72 | ||
![]() |
00102d4048 | ||
![]() |
adbeff11d4 | ||
![]() |
a8fe329678 | ||
![]() |
a4b61bf730 | ||
![]() |
ee592def0c | ||
![]() |
c14e117239 | ||
![]() |
b6e94dde0c | ||
![]() |
63a4a44d7e | ||
![]() |
eb8ab5d527 | ||
![]() |
b778d40d65 | ||
![]() |
2f570672dc | ||
![]() |
9290ed490f | ||
![]() |
1bda812c75 | ||
![]() |
ab82406c98 | ||
![]() |
be763349df | ||
![]() |
91764ad601 | ||
![]() |
1c4031aa38 | ||
![]() |
c3bc648dd4 | ||
![]() |
c97d794272 | ||
![]() |
8e7d2e91e9 | ||
![]() |
cf0fbbbd3d | ||
![]() |
7d3ede7946 | ||
![]() |
1aa308eb5d | ||
![]() |
4bfd30e34a | ||
![]() |
0f46c90688 | ||
![]() |
aa2173fc4a | ||
![]() |
932cb1d19c | ||
![]() |
18b038d8e4 | ||
![]() |
2ac71c75c0 | ||
![]() |
4067ba5232 | ||
![]() |
ab47dd5a5b | ||
![]() |
3130910307 | ||
![]() |
22113439a4 | ||
![]() |
2d25a9ad7a | ||
![]() |
8f0a2cc2f0 | ||
![]() |
4ca39258c9 | ||
![]() |
d0c0238b8b | ||
![]() |
f9f08e5169 | ||
![]() |
cfc51b2401 | ||
![]() |
54c2704cb5 | ||
![]() |
9b51c946fe | ||
![]() |
06f38cbcb4 | ||
![]() |
f368d6b257 | ||
![]() |
f4301da14d | ||
![]() |
f34c09f165 | ||
![]() |
6d1db56512 | ||
![]() |
b70c07d004 | ||
![]() |
f9f48a5eb6 | ||
![]() |
14e4e73444 | ||
![]() |
f2ce4d2daf | ||
![]() |
468ebdda87 | ||
![]() |
a1f0fb3b14 | ||
![]() |
3c9f4de234 | ||
![]() |
8ae411619f | ||
![]() |
61e5c9121a | ||
![]() |
8a3cf0d5dc | ||
![]() |
ecb5df65ac | ||
![]() |
5f1e98a0d3 | ||
![]() |
3b9a477499 |
47
.github/CONTRIBUTING.md
vendored
47
.github/CONTRIBUTING.md
vendored
@@ -1,39 +1,46 @@
|
||||
NewPipe contribution guidelines
|
||||
===============================
|
||||
|
||||
READ THIS GUIDELINES CAREFULLY BEFORE CONTRIBUTING.
|
||||
PLEASE READ THESE GUIDELINES CAREFULLY BEFORE ANY CONTRIBUTION!
|
||||
|
||||
## Crash reporting
|
||||
|
||||
Do not report crashes in the GitHub issue tracker. NewPipe has an automated crash report system that will ask you to send a report if a crash occures.
|
||||
Do not report crashes in the GitHub issue tracker. NewPipe has an automated crash report system that will ask you to send a report via e-mail when a crash occurs. This contains all the data we need for debugging, and allows you to even add a comment to it. You'll see exactly what is sent, the system is 100% transparent.
|
||||
|
||||
## Issue reporting/feature request
|
||||
## Issue reporting/feature requests
|
||||
|
||||
* Search the [existing issues](https://github.com/theScrabi/NewPipe/issues) first to make sure your issue/feature hasn't been reported/requested before
|
||||
* Check if this issue/feature is already fixed/implemented in the repository
|
||||
* If you are an android/java developer you are always welcome to fix/implement an issue/a feature yourself
|
||||
* Search the [existing issues](https://github.com/TeamNewPipe/NewPipe/issues) first to make sure your issue/feature hasn't been reported/requested before
|
||||
* Check whether your issue/feature is already fixed/implemented
|
||||
* Check if the issue still exists in the latest release/beta version
|
||||
* If you are an Android/Java developer, you are always welcome to fix/implement an issue/a feature yourself. PRs welcome!
|
||||
* We use English for development. Issues in other languages will be closed and ignored.
|
||||
* Please only add *one* issue at a time. Do not put multiple issues into one thread.
|
||||
|
||||
## Bugfixing
|
||||
* If you want to help NewPipe getting bug free, you can send me a mail to tnp@newpipe.schabi.org to let me know that you intent to help, and than register at our [sentry](https://support.schabi.org) setup.
|
||||
## Bug Fixing
|
||||
* If you want to help NewPipe to become free of bugs (this is our utopic goal for NewPipe), you can send us an email to tnp@newpipe.schabi.org to let me know that you intend to help. We'll send you further instructions. You may, on request, register at our [Sentry](https://sentry.schabi.org) instance (see section "Crash reporting" for more information.
|
||||
|
||||
## Translation
|
||||
|
||||
* NewPipe can be translated on [weblate](https://hosted.weblate.org/projects/newpipe/strings/)
|
||||
* NewPipe can be translated via [Weblate](https://hosted.weblate.org/projects/newpipe/strings/). You can log in there with your GitHub account.
|
||||
|
||||
## Code contribution
|
||||
|
||||
* Stick to NewPipe style guidelines (just look the other code and than do it the same way :) )
|
||||
* Do not bring nonfree software/binary blobs into the project (keep it google free)
|
||||
* Stick to [f-droid contribution guidelines](https://f-droid.org/wiki/page/Inclusion_Policy)
|
||||
* Make changes on a separate branch, not on the master branch (Feature-branching)
|
||||
* When submitting changes, you agree that your code will be licensed under GPLv3
|
||||
* Please test (compile and run) your code before you submit changes!!!
|
||||
* Try to figure out you selves why CI fails, or why a merge request collides
|
||||
* Please maintain your code after you contributed it.
|
||||
* Respond yourselves if someone request changes or notifies issues
|
||||
* Stick to NewPipe's style conventions (well, just look the other code and then do it the same way :))
|
||||
* Do not bring non-free software (e.g., binary blobs) into the project. Also, make sure you do not introduce Google libraries.
|
||||
* Stick to [F-Droid contribution guidelines](https://f-droid.org/wiki/page/Inclusion_Policy)
|
||||
* Make changes on a separate branch, not on the master branch. This is commonly known as *feature branch workflow*. You may then send your changes as a pull request on GitHub. Patches to the email address mentioned in this document might not be considered, GitHub is the primary platform. (This only affects you if you are a member of TeamNewPipe)
|
||||
* When submitting changes, you confirm that your code is licensed under the terms of the [GNU General Public License v3](https://www.gnu.org/licenses/gpl-3.0.html).
|
||||
* Please test (compile and run) your code before you submit changes! Ideally, provide test feedback in the PR description. Untested code will **not** be merged!
|
||||
* Try to figure out yourself why builds on our CI fail.
|
||||
* Make sure your PR is up-to-date with the rest of the code. Often, a simple click on "Update branch" will do the job, but if not, you are asked to merge the master branch manually and resolve the problems on your own. That will make the maintainers' jobs way easier.
|
||||
* Please show intention to maintain your features and code after you contributed it. Unmaintained code is a hassle for the core developers, and just adds work. If you do not intend to maintain features you contributed, please think again about submission, or clearly state that in the description of your PR.
|
||||
* Respond yourselves if someone requests changes or otherwise raises issues about your PRs.
|
||||
* Check if your contributions align with the [fdroid inclusion guidelines](https://f-droid.org/en/docs/Inclusion_Policy/).
|
||||
* Check if your submission can be build with the current fdroid build server setup.
|
||||
|
||||
## Communication
|
||||
|
||||
* WE DO NOW HAVE A MAILING LIST: [newpipe@list.schabi.org](https://list.schabi.org/cgi-bin/mailman/listinfo/newpipe).
|
||||
* If you want to get in contact with me or one of our other contributors you can send me an email at tnp(at)schabi.org
|
||||
* Feel free to post suggestions, changes, ideas etc!
|
||||
* There is an IRC channel on Freenode which is regularly visited by the core team and other developers: [#newpipe](irc:irc.freenode.net/newpipe). [Click here for Webchat](https://webchat.freenode.net/?channels=newpipe)!
|
||||
* If you want to get in touch with the core team or one of our other contributors you can send an email to tnp(at)schabi.org. Please do not send issue reports, they will be ignored and remain unanswered! Use the GitHub issue tracker described above!
|
||||
* Feel free to post suggestions, changes, ideas etc. on GitHub, IRC or the mailing list!
|
||||
|
1
.github/PULL_REQUEST_TEAMPLATE.md
vendored
1
.github/PULL_REQUEST_TEAMPLATE.md
vendored
@@ -1 +0,0 @@
|
||||
[ ] I carefully reed the [contribution guidelines](https://github.com/TeamNewPipe/NewPipe/blob/HEAD/.github/CONTRIBUTING.md) and agree to them.
|
1
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
1
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
@@ -0,0 +1 @@
|
||||
- [ ] I carefully read the [contribution guidelines](https://github.com/TeamNewPipe/NewPipe/blob/HEAD/.github/CONTRIBUTING.md) and agree to them.
|
2
.gitignore
vendored
2
.gitignore
vendored
@@ -9,3 +9,5 @@
|
||||
/*.iml
|
||||
gradle.properties
|
||||
*~
|
||||
.weblate
|
||||
*.class
|
||||
|
3
.gitmodules
vendored
3
.gitmodules
vendored
@@ -1,3 +0,0 @@
|
||||
[submodule "app/src/main/java/org/schabi/newpipe/extractor"]
|
||||
path = app/src/main/java/org/schabi/newpipe/extractor
|
||||
url = https://github.com/TeamNewPipe/NewPipeExtractor.git
|
||||
|
10
.travis.yml
10
.travis.yml
@@ -5,16 +5,14 @@ android:
|
||||
components:
|
||||
# The BuildTools version used by NewPipe
|
||||
- tools
|
||||
- build-tools-25.0.0
|
||||
- build-tools-27.0.3
|
||||
|
||||
# The SDK version used to compile NewPipe
|
||||
- android-25
|
||||
|
||||
# Additional components
|
||||
- extra-android-m2repository
|
||||
- android-27
|
||||
|
||||
before_install:
|
||||
- yes | sdkmanager "platforms;android-27"
|
||||
script: ./gradlew -Dorg.gradle.jvmargs=-Xmx1536m assembleDebug lintDebug testDebugUnitTest
|
||||
|
||||
licenses:
|
||||
- '.+'
|
||||
|
||||
|
Binary file not shown.
102
README.md
102
README.md
@@ -1,29 +1,34 @@
|
||||
<p align="center"><a href="https://newpipe.schabi.org"><img src="assets/new_pipe_icon_5.png" width="150"/></a></p>
|
||||
<h2 align="center"><b>NewPipe</b></h2>
|
||||
<h4 align="center">A free lightweight YouTube frontend for Android.</h4>
|
||||
<p align="center"><a href="https://f-droid.org/packages/org.schabi.newpipe/"><img src="https://f-droid.org/wiki/images/0/06/F-Droid-button_get-it-on.png"/></a></p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://github.com/TeamNewPipe/NewPipe" alt="GitHub release"><img src="https://img.shields.io/github/release/TeamNewPipe/NewPipe.svg" /></a>
|
||||
<a href="https://www.gnu.org/licenses/gpl-3.0" alt="License: GPL v3"><img src="https://img.shields.io/badge/License-GPL%20v3-blue.svg" /></a>
|
||||
<a href="https://travis-ci.org/TeamNewPipe/NewPipe" alt="Build Status"><img src="https://travis-ci.org/TeamNewPipe/NewPipe.svg" /></a>
|
||||
<a href="https://hosted.weblate.org/engage/NewPipe/" alt="Translation Status"><img src="https://hosted.weblate.org/widgets/NewPipe/-/svg-badge.svg" /></a>
|
||||
<a href="http://webchat.freenode.net/?channels=%23newpipe" alt="IRC channel: #newpipe"><img src="https://img.shields.io/badge/IRC%20chat-%23newpipe-brightgreen.svg" /></a>
|
||||
<a href="https://www.bountysource.com/teams/newpipe" alt="Bountysource bounties"><img src="https://img.shields.io/bountysource/team/newpipe/activity.svg?colorB=cd201f"/></a>
|
||||
</p>
|
||||
<hr />
|
||||
<p align="center"><a href="#screenshots">Screenshots</a> • <a href="#description">Description</a> • <a href="#features">Features</a> • <a href="#contribution">Contribution</a> • <a href="#donate">Donate</a> • <a href="#license">License</a></p>
|
||||
<p align="center"><a href="https://newpipe.schabi.org">Website</a> • <a href="https://newpipe.schabi.org/blog/">Blog</a> • <a href="https://newpipe.schabi.org/press/">Press</a></p>
|
||||
<hr />
|
||||
WARNING: PUTTING NEWPIPE OR ANY FORK OF IT INTO GOOGLE PLAYSTORE VIOLATES THEIR TERMS OF CONDITIONS.
|
||||
|
||||
# NewPipe
|
||||
NewPipe: A free lightweight Youtube frontend for Android.
|
||||
|
||||
[](https://newpipe.schabi.org)
|
||||
[](https://f-droid.org/repository/browse/?fdfilter=newpipe&fdid=org.schabi.newpipe)
|
||||
|
||||
|
||||
Project status:
|
||||
[](https://hosted.weblate.org/engage/NewPipe/)
|
||||
[](https://travis-ci.org/TeamNewPipe/NewPipe)
|
||||
|
||||
## Donate
|
||||

|
||||

|
||||
|
||||
`16A9J59ahMRqkLSZjhYj33n9j3fMztFxnh`
|
||||
|
||||
## Screenshots
|
||||
|
||||
[<img src="screenshots/screenshot_1.png" width=150>](screenshots/screenshot_1.png)
|
||||
[<img src="screenshots/screenshot_2.png" width=150>](screenshots/screenshot_2.png)
|
||||
[<img src="screenshots/screenshot_3.png" width=150>](screenshots/screenshot_3.png)
|
||||
[<img src="screenshots/screenshot_4.png" width=150>](screenshots/screenshot_4.png)
|
||||
[<img src="screenshots/screenshot_5.png" width=150>](screenshots/screenshot_5.png)
|
||||
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_1.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_1.png)
|
||||
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_2.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_2.png)
|
||||
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_3.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_3.png)
|
||||
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_4.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_4.png)
|
||||
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_5.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_5.png)
|
||||
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_6.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_6.png)
|
||||
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_7.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_7.png)
|
||||
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_8.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_8.png)
|
||||
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_9.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_9.png)
|
||||
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_10.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_10.png)
|
||||
|
||||
## Description
|
||||
|
||||
@@ -34,41 +39,64 @@ NewPipe does not use any Google framework libraries, or the YouTube API. It only
|
||||
* Search videos
|
||||
* Display general information about a video
|
||||
* Watch YouTube videos
|
||||
* Listen to YouTube videos (experimental)
|
||||
* Listen to YouTube videos
|
||||
* Popup mode (floating player)
|
||||
* Select the streaming player to watch the video with
|
||||
* Download videos
|
||||
* Download audio only
|
||||
* Open a video in Kodi
|
||||
* Show Next/Related videos
|
||||
* Search YouTube in a specific language
|
||||
* Watch age restricted material
|
||||
* Watch/Block age restricted material
|
||||
* Display general information about channels
|
||||
* Search channels
|
||||
* Watch videos from a channel
|
||||
* Orbot/Tor support (not yet directly)
|
||||
* 1080p/2k/4k support
|
||||
* View history
|
||||
* Subscribe to channels
|
||||
* Search history
|
||||
* Search/Watch Playlists
|
||||
* Watch as queues Playlists
|
||||
* Queuing videos
|
||||
* Local playlists
|
||||
* Subtitles
|
||||
* Multi-service support (eg. SoundCloud in NewPipe Beta)
|
||||
|
||||
### Coming Features
|
||||
|
||||
* Bookmarks
|
||||
* View history
|
||||
* Search history
|
||||
* Subscribe to channels
|
||||
* Search/Watch Playlists
|
||||
* Queeing videos
|
||||
* Subtitles support
|
||||
* 1080p support
|
||||
* livestream support
|
||||
* Livestream support
|
||||
* Cast to UPnP and Cast
|
||||
* Show comments
|
||||
* ... and many more
|
||||
|
||||
### Multiservice support
|
||||
Although NewPipe only supports YouTube at the moment, it's designed to support many more streaming services. The plan is, that NewPipe will get such support by the version 2.0.
|
||||
|
||||
## Contribution
|
||||
Whether you have ideas, translation, design changes, code cleaning, or real heavy code changes, help is always welcome.
|
||||
Whether you have ideas, translations, design changes, code cleaning, or real heavy code changes, help is always welcome.
|
||||
The more is done the better it gets!
|
||||
|
||||
If you'd like to get involved, check our [contribution notes](.github/CONTRIBUTING.md).
|
||||
|
||||
## Donate
|
||||
If you like NewPipe we'd be happy about a donation. You can either donate via Bitcoin, Bountysource or Liberapay. For further information about donating to NewPipe, please visit our [website](https://newpipe.schabi.org/donate).
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td><img src="https://bitcoin.org/img/icons/logotop.svg" alt="Bitcoin" /></td>
|
||||
<td><img src="assets/bitcoin_qr_code.png" alt="Bitcoin QR Code" width="100px"/></td>
|
||||
<td><samp>16A9J59ahMRqkLSZjhYj33n9j3fMztFxnh</samp></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://liberapay.com/TeamNewPipe/"><img src="https://upload.wikimedia.org/wikipedia/commons/2/27/Liberapay_logo_v2_white-on-yellow.svg" alt="Liberapay" width="80px" /></a></td>
|
||||
<td><a href="https://liberapay.com/TeamNewPipe/"><img src="assets/liberapay_qr_code.png" alt="Visit NewPipe at liberapay.com" width="100px"/></a></td>
|
||||
<td><a href="https://liberapay.com/TeamNewPipe/donate"><img src="assets/liberapay_donate_button.svg" alt="Donate via Liberapay" height="35px" /></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://www.bountysource.com/teams/newpipe"><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/2/22/Bountysource.png/320px-Bountysource.png" alt="Bountysource" width="190px" /></a></td>
|
||||
<td><a href="https://www.bountysource.com/teams/newpipe"><img src="assets/bountysource_qr_code.png" alt="Visit NewPipe at bountysource.com" width="100px"/></a></td>
|
||||
<td><a href="https://www.bountysource.com/teams/newpipe/issues"><img src="https://img.shields.io/bountysource/team/newpipe/activity.svg?colorB=cd201f" height="30px" alt="Check out how many bounties you can earn." /></a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
## License
|
||||
[](http://www.gnu.org/licenses/gpl-3.0.en.html)
|
||||
|
||||
|
100
app/build.gradle
100
app/build.gradle
@@ -1,21 +1,31 @@
|
||||
apply plugin: 'com.android.application'
|
||||
|
||||
android {
|
||||
compileSdkVersion 25
|
||||
buildToolsVersion '25.0.0'
|
||||
compileSdkVersion 27
|
||||
buildToolsVersion '27.0.3'
|
||||
|
||||
defaultConfig {
|
||||
applicationId "org.schabi.newpipe"
|
||||
minSdkVersion 15
|
||||
targetSdkVersion 25
|
||||
versionCode 29
|
||||
versionName "0.9.2"
|
||||
targetSdkVersion 27
|
||||
versionCode 63
|
||||
versionName "0.13.4"
|
||||
|
||||
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
|
||||
vectorDrawables.useSupportLibrary = true
|
||||
}
|
||||
buildTypes {
|
||||
release {
|
||||
minifyEnabled false
|
||||
minifyEnabled true
|
||||
shrinkResources true
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||
}
|
||||
debug {
|
||||
multiDexEnabled true
|
||||
|
||||
debuggable true
|
||||
applicationIdSuffix ".debug"
|
||||
}
|
||||
}
|
||||
|
||||
lintOptions {
|
||||
@@ -25,28 +35,64 @@ android {
|
||||
abortOnError false
|
||||
}
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_1_7
|
||||
targetCompatibility JavaVersion.VERSION_1_7
|
||||
sourceCompatibility JavaVersion.VERSION_1_8
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
testCompile 'junit:junit:4.12'
|
||||
testCompile 'org.mockito:mockito-core:1.10.19'
|
||||
testCompile 'org.json:json:20160810'
|
||||
|
||||
compile 'com.android.support:appcompat-v7:25.1.0'
|
||||
compile 'com.android.support:support-v4:25.1.0'
|
||||
compile 'com.android.support:design:25.1.0'
|
||||
compile 'com.android.support:recyclerview-v7:25.1.0'
|
||||
compile 'org.jsoup:jsoup:1.8.3'
|
||||
compile 'org.mozilla:rhino:1.7.7'
|
||||
compile 'info.guardianproject.netcipher:netcipher:1.2'
|
||||
compile 'de.hdodenhof:circleimageview:2.0.0'
|
||||
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
|
||||
compile 'com.github.nirhart:parallaxscroll:1.0'
|
||||
compile 'com.google.code.gson:gson:2.4'
|
||||
compile 'com.nononsenseapps:filepicker:3.0.0'
|
||||
compile 'ch.acra:acra:4.9.0'
|
||||
compile 'com.google.android.exoplayer:exoplayer:r2.3.1'
|
||||
ext {
|
||||
supportLibVersion = '27.1.1'
|
||||
exoPlayerLibVersion = '2.7.3'
|
||||
roomDbLibVersion = '1.0.0'
|
||||
leakCanaryLibVersion = '1.5.4'
|
||||
okHttpLibVersion = '1.5.0'
|
||||
icepickLibVersion = '3.2.0'
|
||||
stethoLibVersion = '1.5.0'
|
||||
}
|
||||
dependencies {
|
||||
androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2') {
|
||||
exclude module: 'support-annotations'
|
||||
}
|
||||
|
||||
implementation 'com.github.TeamNewPipe:NewPipeExtractor:bf1c771'
|
||||
|
||||
testImplementation 'junit:junit:4.12'
|
||||
testImplementation 'org.mockito:mockito-core:1.10.19'
|
||||
|
||||
implementation "com.android.support:appcompat-v7:$supportLibVersion"
|
||||
implementation "com.android.support:support-v4:$supportLibVersion"
|
||||
implementation "com.android.support:design:$supportLibVersion"
|
||||
implementation "com.android.support:recyclerview-v7:$supportLibVersion"
|
||||
implementation "com.android.support:preference-v14:$supportLibVersion"
|
||||
|
||||
implementation 'ch.acra:acra:4.9.2'
|
||||
|
||||
implementation 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
|
||||
implementation 'de.hdodenhof:circleimageview:2.2.0'
|
||||
implementation 'com.github.nirhart:ParallaxScroll:dd53d1f9d1'
|
||||
implementation 'com.nononsenseapps:filepicker:4.2.1'
|
||||
|
||||
implementation "com.google.android.exoplayer:exoplayer:$exoPlayerLibVersion"
|
||||
implementation "com.google.android.exoplayer:extension-mediasession:$exoPlayerLibVersion"
|
||||
|
||||
debugImplementation "com.facebook.stetho:stetho:$stethoLibVersion"
|
||||
debugImplementation "com.facebook.stetho:stetho-urlconnection:$stethoLibVersion"
|
||||
debugImplementation 'com.android.support:multidex:1.0.3'
|
||||
|
||||
implementation 'io.reactivex.rxjava2:rxjava:2.1.10'
|
||||
implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
|
||||
implementation 'com.jakewharton.rxbinding2:rxbinding:2.1.1'
|
||||
|
||||
implementation "android.arch.persistence.room:runtime:$roomDbLibVersion"
|
||||
implementation "android.arch.persistence.room:rxjava2:$roomDbLibVersion"
|
||||
annotationProcessor "android.arch.persistence.room:compiler:$roomDbLibVersion"
|
||||
|
||||
implementation "frankiesardo:icepick:$icepickLibVersion"
|
||||
annotationProcessor "frankiesardo:icepick-processor:$icepickLibVersion"
|
||||
|
||||
debugImplementation "com.squareup.leakcanary:leakcanary-android:$leakCanaryLibVersion"
|
||||
releaseImplementation "com.squareup.leakcanary:leakcanary-android-no-op:$leakCanaryLibVersion"
|
||||
|
||||
implementation 'com.squareup.okhttp3:okhttp:3.9.1'
|
||||
debugImplementation "com.facebook.stetho:stetho-okhttp3:$okHttpLibVersion"
|
||||
}
|
||||
|
27
app/proguard-rules.pro
vendored
27
app/proguard-rules.pro
vendored
@@ -15,3 +15,30 @@
|
||||
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
||||
# public *;
|
||||
#}
|
||||
|
||||
-dontobfuscate
|
||||
-keep class org.mozilla.javascript.** { *; }
|
||||
|
||||
-keep class org.mozilla.classfile.ClassFileWriter
|
||||
-keep class com.google.android.exoplayer2.** { *; }
|
||||
|
||||
-dontwarn org.mozilla.javascript.tools.**
|
||||
-dontwarn android.arch.util.paging.CountedDataSource
|
||||
-dontwarn android.arch.persistence.room.paging.LimitOffsetDataSource
|
||||
|
||||
|
||||
# Rules for icepick. Copy paste from https://github.com/frankiesardo/icepick
|
||||
-dontwarn icepick.**
|
||||
-keep class icepick.** { *; }
|
||||
-keep class **$$Icepick { *; }
|
||||
-keepclasseswithmembernames class * {
|
||||
@icepick.* <fields>;
|
||||
}
|
||||
-keepnames class * { @icepick.State *;}
|
||||
|
||||
# Rules for OkHttp. Copy paste from https://github.com/square/okhttp
|
||||
-dontwarn okhttp3.**
|
||||
-dontwarn okio.**
|
||||
-dontwarn javax.annotation.**
|
||||
# A resource is loaded with a relative path so the package of this class must be preserved.
|
||||
-keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase
|
||||
|
@@ -0,0 +1,37 @@
|
||||
package org.schabi.newpipe.report;
|
||||
|
||||
import android.os.Parcel;
|
||||
import android.support.test.filters.LargeTest;
|
||||
import android.support.test.runner.AndroidJUnit4;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.schabi.newpipe.R;
|
||||
import org.schabi.newpipe.report.ErrorActivity.ErrorInfo;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
/**
|
||||
* Instrumented tests for {@link ErrorInfo}
|
||||
*/
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
@LargeTest
|
||||
public class ErrorInfoTest {
|
||||
|
||||
@Test
|
||||
public void errorInfo_testParcelable() {
|
||||
ErrorInfo info = ErrorInfo.make(UserAction.USER_REPORT, "youtube", "request", R.string.general_error);
|
||||
// Obtain a Parcel object and write the parcelable object to it:
|
||||
Parcel parcel = Parcel.obtain();
|
||||
info.writeToParcel(parcel, 0);
|
||||
parcel.setDataPosition(0);
|
||||
ErrorInfo infoFromParcel = ErrorInfo.CREATOR.createFromParcel(parcel);
|
||||
|
||||
assertEquals(UserAction.USER_REPORT, infoFromParcel.userAction);
|
||||
assertEquals("youtube", infoFromParcel.serviceName);
|
||||
assertEquals("request", infoFromParcel.request);
|
||||
assertEquals(R.string.general_error, infoFromParcel.message);
|
||||
|
||||
parcel.recycle();
|
||||
}
|
||||
}
|
17
app/src/debug/AndroidManifest.xml
Normal file
17
app/src/debug/AndroidManifest.xml
Normal file
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
package="org.schabi.newpipe">
|
||||
|
||||
<application
|
||||
android:name=".DebugApp"
|
||||
android:label="NewPipe Debug"
|
||||
tools:replace="android:name, android:label">
|
||||
<activity
|
||||
android:name=".MainActivity"
|
||||
android:label="NewPipe Debug"
|
||||
tools:replace="android:label"/>
|
||||
</application>
|
||||
|
||||
</manifest>
|
104
app/src/debug/java/org/schabi/newpipe/DebugApp.java
Normal file
104
app/src/debug/java/org/schabi/newpipe/DebugApp.java
Normal file
@@ -0,0 +1,104 @@
|
||||
package org.schabi.newpipe;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.multidex.MultiDex;
|
||||
|
||||
import com.facebook.stetho.Stetho;
|
||||
import com.facebook.stetho.okhttp3.StethoInterceptor;
|
||||
import com.squareup.leakcanary.AndroidHeapDumper;
|
||||
import com.squareup.leakcanary.DefaultLeakDirectoryProvider;
|
||||
import com.squareup.leakcanary.HeapDumper;
|
||||
import com.squareup.leakcanary.LeakCanary;
|
||||
import com.squareup.leakcanary.LeakDirectoryProvider;
|
||||
import com.squareup.leakcanary.RefWatcher;
|
||||
|
||||
import org.schabi.newpipe.extractor.Downloader;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import okhttp3.OkHttpClient;
|
||||
|
||||
public class DebugApp extends App {
|
||||
private static final String TAG = DebugApp.class.toString();
|
||||
|
||||
@Override
|
||||
protected void attachBaseContext(Context base) {
|
||||
super.attachBaseContext(base);
|
||||
MultiDex.install(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate() {
|
||||
super.onCreate();
|
||||
initStetho();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Downloader getDownloader() {
|
||||
return org.schabi.newpipe.Downloader.init(new OkHttpClient.Builder()
|
||||
.addNetworkInterceptor(new StethoInterceptor()));
|
||||
}
|
||||
|
||||
private void initStetho() {
|
||||
// Create an InitializerBuilder
|
||||
Stetho.InitializerBuilder initializerBuilder =
|
||||
Stetho.newInitializerBuilder(this);
|
||||
|
||||
// Enable Chrome DevTools
|
||||
initializerBuilder.enableWebKitInspector(
|
||||
Stetho.defaultInspectorModulesProvider(this)
|
||||
);
|
||||
|
||||
// Enable command line interface
|
||||
initializerBuilder.enableDumpapp(
|
||||
Stetho.defaultDumperPluginsProvider(getApplicationContext())
|
||||
);
|
||||
|
||||
// Use the InitializerBuilder to generate an Initializer
|
||||
Stetho.Initializer initializer = initializerBuilder.build();
|
||||
|
||||
// Initialize Stetho with the Initializer
|
||||
Stetho.initialize(initializer);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isDisposedRxExceptionsReported() {
|
||||
return PreferenceManager.getDefaultSharedPreferences(this)
|
||||
.getBoolean(getString(R.string.allow_disposed_exceptions_key), false);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected RefWatcher installLeakCanary() {
|
||||
return LeakCanary.refWatcher(this)
|
||||
.heapDumper(new ToggleableHeapDumper(this))
|
||||
// give each object 10 seconds to be gc'ed, before leak canary gets nosy on it
|
||||
.watchDelay(10, TimeUnit.SECONDS)
|
||||
.buildAndInstall();
|
||||
}
|
||||
|
||||
public static class ToggleableHeapDumper implements HeapDumper {
|
||||
private final HeapDumper dumper;
|
||||
private final SharedPreferences preferences;
|
||||
private final String dumpingAllowanceKey;
|
||||
|
||||
ToggleableHeapDumper(@NonNull final Context context) {
|
||||
LeakDirectoryProvider leakDirectoryProvider = new DefaultLeakDirectoryProvider(context);
|
||||
this.dumper = new AndroidHeapDumper(context, leakDirectoryProvider);
|
||||
this.preferences = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
this.dumpingAllowanceKey = context.getString(R.string.allow_heap_dumping_key);
|
||||
}
|
||||
|
||||
private boolean isDumpingAllowed() {
|
||||
return preferences.getBoolean(dumpingAllowanceKey, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public File dumpHeap() {
|
||||
return isDumpingAllowed() ? dumper.dumpHeap() : HeapDumper.RETRY_LATER;
|
||||
}
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
162
app/src/main/assets/apache2.html
Normal file
162
app/src/main/assets/apache2.html
Normal file
@@ -0,0 +1,162 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<title>Apache License - Version 2.0, January 2004</title>
|
||||
</head>
|
||||
<body>
|
||||
<p>Apache License<br>Version 2.0, January 2004<br>
|
||||
<a href="http://www.apache.org/licenses/">http://www.apache.org/licenses/</a> </p>
|
||||
<p>TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION</p>
|
||||
<p><strong><a name="definitions">1. Definitions</a></strong>.</p>
|
||||
<p>"License" shall mean the terms and conditions for use, reproduction, and
|
||||
distribution as defined by Sections 1 through 9 of this document.</p>
|
||||
<p>"Licensor" shall mean the copyright owner or entity authorized by the
|
||||
copyright owner that is granting the License.</p>
|
||||
<p>"Legal Entity" shall mean the union of the acting entity and all other
|
||||
entities that control, are controlled by, or are under common control with
|
||||
that entity. For the purposes of this definition, "control" means (i) the
|
||||
power, direct or indirect, to cause the direction or management of such
|
||||
entity, whether by contract or otherwise, or (ii) ownership of fifty
|
||||
percent (50%) or more of the outstanding shares, or (iii) beneficial
|
||||
ownership of such entity.</p>
|
||||
<p>"You" (or "Your") shall mean an individual or Legal Entity exercising
|
||||
permissions granted by this License.</p>
|
||||
<p>"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation source,
|
||||
and configuration files.</p>
|
||||
<p>"Object" form shall mean any form resulting from mechanical transformation
|
||||
or translation of a Source form, including but not limited to compiled
|
||||
object code, generated documentation, and conversions to other media types.</p>
|
||||
<p>"Work" shall mean the work of authorship, whether in Source or Object form,
|
||||
made available under the License, as indicated by a copyright notice that
|
||||
is included in or attached to the work (an example is provided in the
|
||||
Appendix below).</p>
|
||||
<p>"Derivative Works" shall mean any work, whether in Source or Object form,
|
||||
that is based on (or derived from) the Work and for which the editorial
|
||||
revisions, annotations, elaborations, or other modifications represent, as
|
||||
a whole, an original work of authorship. For the purposes of this License,
|
||||
Derivative Works shall not include works that remain separable from, or
|
||||
merely link (or bind by name) to the interfaces of, the Work and Derivative
|
||||
Works thereof.</p>
|
||||
<p>"Contribution" shall mean any work of authorship, including the original
|
||||
version of the Work and any modifications or additions to that Work or
|
||||
Derivative Works thereof, that is intentionally submitted to Licensor for
|
||||
inclusion in the Work by the copyright owner or by an individual or Legal
|
||||
Entity authorized to submit on behalf of the copyright owner. For the
|
||||
purposes of this definition, "submitted" means any form of electronic,
|
||||
verbal, or written communication sent to the Licensor or its
|
||||
representatives, including but not limited to communication on electronic
|
||||
mailing lists, source code control systems, and issue tracking systems that
|
||||
are managed by, or on behalf of, the Licensor for the purpose of discussing
|
||||
and improving the Work, but excluding communication that is conspicuously
|
||||
marked or otherwise designated in writing by the copyright owner as "Not a
|
||||
Contribution."</p>
|
||||
<p>"Contributor" shall mean Licensor and any individual or Legal Entity on
|
||||
behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.</p>
|
||||
<p><strong><a name="copyright">2. Grant of Copyright License</a></strong>. Subject to the
|
||||
terms and conditions of this License, each Contributor hereby grants to You
|
||||
a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of, publicly
|
||||
display, publicly perform, sublicense, and distribute the Work and such
|
||||
Derivative Works in Source or Object form.</p>
|
||||
<p><strong><a name="patent">3. Grant of Patent License</a></strong>. Subject to the terms
|
||||
and conditions of this License, each Contributor hereby grants to You a
|
||||
perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made, use,
|
||||
offer to sell, sell, import, and otherwise transfer the Work, where such
|
||||
license applies only to those patent claims licensable by such Contributor
|
||||
that are necessarily infringed by their Contribution(s) alone or by
|
||||
combination of their Contribution(s) with the Work to which such
|
||||
Contribution(s) was submitted. If You institute patent litigation against
|
||||
any entity (including a cross-claim or counterclaim in a lawsuit) alleging
|
||||
that the Work or a Contribution incorporated within the Work constitutes
|
||||
direct or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate as of the
|
||||
date such litigation is filed.</p>
|
||||
<p><strong><a name="redistribution">4. Redistribution</a></strong>. You may reproduce and
|
||||
distribute copies of the Work or Derivative Works thereof in any medium,
|
||||
with or without modifications, and in Source or Object form, provided that
|
||||
You meet the following conditions:</p>
|
||||
<ol style="list-style: lower-latin;">
|
||||
<li>You must give any other recipients of the Work or Derivative Works a
|
||||
copy of this License; and</li>
|
||||
|
||||
<li>You must cause any modified files to carry prominent notices stating
|
||||
that You changed the files; and</li>
|
||||
|
||||
<li>You must retain, in the Source form of any Derivative Works that You
|
||||
distribute, all copyright, patent, trademark, and attribution notices from
|
||||
the Source form of the Work, excluding those notices that do not pertain to
|
||||
any part of the Derivative Works; and</li>
|
||||
|
||||
<li>If the Work includes a "NOTICE" text file as part of its distribution,
|
||||
then any Derivative Works that You distribute must include a readable copy
|
||||
of the attribution notices contained within such NOTICE file, excluding
|
||||
those notices that do not pertain to any part of the Derivative Works, in
|
||||
at least one of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or documentation,
|
||||
if provided along with the Derivative Works; or, within a display generated
|
||||
by the Derivative Works, if and wherever such third-party notices normally
|
||||
appear. The contents of the NOTICE file are for informational purposes only
|
||||
and do not modify the License. You may add Your own attribution notices
|
||||
within Derivative Works that You distribute, alongside or as an addendum to
|
||||
the NOTICE text from the Work, provided that such additional attribution
|
||||
notices cannot be construed as modifying the License.
|
||||
<br/>
|
||||
<br/>
|
||||
You may add Your own copyright statement to Your modifications and may
|
||||
provide additional or different license terms and conditions for use,
|
||||
reproduction, or distribution of Your modifications, or for any such
|
||||
Derivative Works as a whole, provided Your use, reproduction, and
|
||||
distribution of the Work otherwise complies with the conditions stated in
|
||||
this License.
|
||||
</li>
|
||||
|
||||
</ol>
|
||||
|
||||
<p><strong><a name="contributions">5. Submission of Contributions</a></strong>. Unless You
|
||||
explicitly state otherwise, any Contribution intentionally submitted for
|
||||
inclusion in the Work by You to the Licensor shall be under the terms and
|
||||
conditions of this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify the
|
||||
terms of any separate license agreement you may have executed with Licensor
|
||||
regarding such Contributions.</p>
|
||||
<p><strong><a name="trademarks">6. Trademarks</a></strong>. This License does not grant
|
||||
permission to use the trade names, trademarks, service marks, or product
|
||||
names of the Licensor, except as required for reasonable and customary use
|
||||
in describing the origin of the Work and reproducing the content of the
|
||||
NOTICE file.</p>
|
||||
<p><strong><a name="no-warranty">7. Disclaimer of Warranty</a></strong>. Unless required by
|
||||
applicable law or agreed to in writing, Licensor provides the Work (and
|
||||
each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT
|
||||
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including,
|
||||
without limitation, any warranties or conditions of TITLE,
|
||||
NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You
|
||||
are solely responsible for determining the appropriateness of using or
|
||||
redistributing the Work and assume any risks associated with Your exercise
|
||||
of permissions under this License.</p>
|
||||
<p><strong><a name="no-liability">8. Limitation of Liability</a></strong>. In no event and
|
||||
under no legal theory, whether in tort (including negligence), contract, or
|
||||
otherwise, unless required by applicable law (such as deliberate and
|
||||
grossly negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a result
|
||||
of this License or out of the use or inability to use the Work (including
|
||||
but not limited to damages for loss of goodwill, work stoppage, computer
|
||||
failure or malfunction, or any and all other commercial damages or losses),
|
||||
even if such Contributor has been advised of the possibility of such
|
||||
damages.</p>
|
||||
<p><strong><a name="additional">9. Accepting Warranty or Additional Liability</a></strong>.
|
||||
While redistributing the Work or Derivative Works thereof, You may choose
|
||||
to offer, and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this License.
|
||||
However, in accepting such obligations, You may act only on Your own behalf
|
||||
and on Your sole responsibility, not on behalf of any other Contributor,
|
||||
and only if You agree to indemnify, defend, and hold each Contributor
|
||||
harmless for any liability incurred by, or claims asserted against, such
|
||||
Contributor by reason of your accepting any such warranty or additional
|
||||
liability.</p>
|
||||
</body>
|
||||
</html>
|
400
app/src/main/assets/gpl_2.html
Normal file
400
app/src/main/assets/gpl_2.html
Normal file
File diff suppressed because it is too large
Load Diff
639
app/src/main/assets/gpl_3.html
Normal file
639
app/src/main/assets/gpl_3.html
Normal file
File diff suppressed because it is too large
Load Diff
26
app/src/main/assets/mit.html
Normal file
26
app/src/main/assets/mit.html
Normal file
@@ -0,0 +1,26 @@
|
||||
<html>
|
||||
<head></head>
|
||||
<body>
|
||||
<p>Copyright (c) <year> <copyright holders></p>
|
||||
|
||||
<p>Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:</p>
|
||||
|
||||
<p>
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.</p>
|
||||
<p>
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.<br />
|
||||
NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
|
||||
</body>
|
||||
</html>
|
261
app/src/main/assets/mpl2.html
Normal file
261
app/src/main/assets/mpl2.html
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
package org.schabi.newpipe;
|
||||
|
||||
/**
|
||||
/*
|
||||
* Created by Christian Schabesberger on 24.12.15.
|
||||
*
|
||||
* Copyright (C) Christian Schabesberger 2015 <chris.schabesberger@mailbox.org>
|
||||
@@ -20,10 +20,6 @@ package org.schabi.newpipe;
|
||||
* along with NewPipe. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import android.graphics.Bitmap;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Singleton:
|
||||
* Used to send data between certain Activity/Services within the same process.
|
||||
@@ -39,8 +35,5 @@ public class ActivityCommunicator {
|
||||
return activityCommunicator;
|
||||
}
|
||||
|
||||
// Thumbnail send from VideoItemDetailFragment to BackgroundPlayer
|
||||
public volatile Bitmap backgroundPlayerThumbnail;
|
||||
|
||||
public volatile Class returnActivity;
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
95
app/src/main/java/org/schabi/newpipe/BaseFragment.java
Normal file
95
app/src/main/java/org/schabi/newpipe/BaseFragment.java
Normal file
@@ -0,0 +1,95 @@
|
||||
package org.schabi.newpipe;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
|
||||
import com.nostra13.universalimageloader.core.ImageLoader;
|
||||
import com.squareup.leakcanary.RefWatcher;
|
||||
|
||||
import icepick.Icepick;
|
||||
|
||||
public abstract class BaseFragment extends Fragment {
|
||||
protected final String TAG = getClass().getSimpleName() + "@" + Integer.toHexString(hashCode());
|
||||
protected boolean DEBUG = MainActivity.DEBUG;
|
||||
|
||||
protected AppCompatActivity activity;
|
||||
public static final ImageLoader imageLoader = ImageLoader.getInstance();
|
||||
|
||||
/*//////////////////////////////////////////////////////////////////////////
|
||||
// Fragment's Lifecycle
|
||||
//////////////////////////////////////////////////////////////////////////*/
|
||||
|
||||
@Override
|
||||
public void onAttach(Context context) {
|
||||
super.onAttach(context);
|
||||
activity = (AppCompatActivity) context;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDetach() {
|
||||
super.onDetach();
|
||||
activity = null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
if (DEBUG) Log.d(TAG, "onCreate() called with: savedInstanceState = [" + savedInstanceState + "]");
|
||||
super.onCreate(savedInstanceState);
|
||||
Icepick.restoreInstanceState(this, savedInstanceState);
|
||||
if (savedInstanceState != null) onRestoreInstanceState(savedInstanceState);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onViewCreated(View rootView, Bundle savedInstanceState) {
|
||||
super.onViewCreated(rootView, savedInstanceState);
|
||||
if (DEBUG) {
|
||||
Log.d(TAG, "onViewCreated() called with: rootView = [" + rootView + "], savedInstanceState = [" + savedInstanceState + "]");
|
||||
}
|
||||
initViews(rootView, savedInstanceState);
|
||||
initListeners();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSaveInstanceState(Bundle outState) {
|
||||
super.onSaveInstanceState(outState);
|
||||
Icepick.saveInstanceState(this, outState);
|
||||
}
|
||||
|
||||
protected void onRestoreInstanceState(@NonNull Bundle savedInstanceState) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
super.onDestroy();
|
||||
|
||||
RefWatcher refWatcher = App.getRefWatcher(getActivity());
|
||||
if (refWatcher != null) refWatcher.watch(this);
|
||||
}
|
||||
|
||||
/*//////////////////////////////////////////////////////////////////////////
|
||||
// Init
|
||||
//////////////////////////////////////////////////////////////////////////*/
|
||||
|
||||
protected void initViews(View rootView, Bundle savedInstanceState) {
|
||||
}
|
||||
|
||||
protected void initListeners() {
|
||||
}
|
||||
|
||||
/*//////////////////////////////////////////////////////////////////////////
|
||||
// Utils
|
||||
//////////////////////////////////////////////////////////////////////////*/
|
||||
|
||||
public void setTitle(String title) {
|
||||
if (DEBUG) Log.d(TAG, "setTitle() called with: title = [" + title + "]");
|
||||
if (activity != null && activity.getSupportActionBar() != null) {
|
||||
activity.getSupportActionBar().setTitle(title);
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,20 +1,24 @@
|
||||
package org.schabi.newpipe;
|
||||
|
||||
import android.support.annotation.Nullable;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import org.schabi.newpipe.extractor.exceptions.ReCaptchaException;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
import java.net.URL;
|
||||
import java.net.UnknownHostException;
|
||||
import java.io.InputStream;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import javax.net.ssl.HttpsURLConnection;
|
||||
import okhttp3.OkHttpClient;
|
||||
import okhttp3.Request;
|
||||
import okhttp3.Response;
|
||||
import okhttp3.ResponseBody;
|
||||
|
||||
|
||||
/**
|
||||
/*
|
||||
* Created by Christian Schabesberger on 28.01.16.
|
||||
*
|
||||
* Copyright (C) Christian Schabesberger 2016 <chris.schabesberger@mailbox.org>
|
||||
@@ -35,112 +39,140 @@ import javax.net.ssl.HttpsURLConnection;
|
||||
*/
|
||||
|
||||
public class Downloader implements org.schabi.newpipe.extractor.Downloader {
|
||||
|
||||
private static final String USER_AGENT = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0";
|
||||
private static String mCookies = "";
|
||||
public static final String USER_AGENT = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0";
|
||||
|
||||
private static Downloader instance = null;
|
||||
private static Downloader instance;
|
||||
private String mCookies;
|
||||
private OkHttpClient client;
|
||||
|
||||
private Downloader() {}
|
||||
private Downloader(OkHttpClient.Builder builder) {
|
||||
this.client = builder
|
||||
.readTimeout(30, TimeUnit.SECONDS)
|
||||
//.cache(new Cache(new File(context.getExternalCacheDir(), "okhttp"), 16 * 1024 * 1024))
|
||||
.build();
|
||||
}
|
||||
|
||||
/**
|
||||
* It's recommended to call exactly once in the entire lifetime of the application.
|
||||
*
|
||||
* @param builder if null, default builder will be used
|
||||
*/
|
||||
public static Downloader init(@Nullable OkHttpClient.Builder builder) {
|
||||
return instance = new Downloader(builder != null ? builder : new OkHttpClient.Builder());
|
||||
}
|
||||
|
||||
public static Downloader getInstance() {
|
||||
if(instance == null) {
|
||||
synchronized (Downloader.class) {
|
||||
if (instance == null) {
|
||||
instance = new Downloader();
|
||||
}
|
||||
}
|
||||
}
|
||||
return instance;
|
||||
}
|
||||
|
||||
public static synchronized void setCookies(String cookies) {
|
||||
Downloader.mCookies = cookies;
|
||||
public String getCookies() {
|
||||
return mCookies;
|
||||
}
|
||||
|
||||
public static synchronized String getCookies() {
|
||||
return Downloader.mCookies;
|
||||
public void setCookies(String cookies) {
|
||||
mCookies = cookies;
|
||||
}
|
||||
|
||||
/**Download the text file at the supplied URL as in download(String),
|
||||
/**
|
||||
* Get the size of the content that the url is pointing by firing a HEAD request.
|
||||
*
|
||||
* @param url an url pointing to the content
|
||||
* @return the size of the content, in bytes
|
||||
*/
|
||||
public long getContentLength(String url) throws IOException {
|
||||
Response response = null;
|
||||
try {
|
||||
final Request request = new Request.Builder()
|
||||
.head().url(url)
|
||||
.addHeader("User-Agent", USER_AGENT)
|
||||
.build();
|
||||
response = client.newCall(request).execute();
|
||||
|
||||
return Long.parseLong(response.header("Content-Length"));
|
||||
} catch (NumberFormatException e) {
|
||||
throw new IOException("Invalid content length", e);
|
||||
} finally {
|
||||
if (response != null) {
|
||||
response.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Download the text file at the supplied URL as in download(String),
|
||||
* but set the HTTP header field "Accept-Language" to the supplied string.
|
||||
* @param siteUrl the URL of the text file to return the contents of
|
||||
*
|
||||
* @param siteUrl the URL of the text file to return the contents of
|
||||
* @param language the language (usually a 2-character code) to set as the preferred language
|
||||
* @return the contents of the specified text file*/
|
||||
* @return the contents of the specified text file
|
||||
*/
|
||||
@Override
|
||||
public String download(String siteUrl, String language) throws IOException, ReCaptchaException {
|
||||
Map<String, String> requestProperties = new HashMap<>();
|
||||
requestProperties.put("Accept-Language", language);
|
||||
return download(siteUrl, requestProperties);
|
||||
}
|
||||
|
||||
|
||||
/**Download the text file at the supplied URL as in download(String),
|
||||
* but set the HTTP header field "Accept-Language" to the supplied string.
|
||||
* @param siteUrl the URL of the text file to return the contents of
|
||||
/**
|
||||
* Download the text file at the supplied URL as in download(String),
|
||||
* but set the HTTP headers included in the customProperties map.
|
||||
*
|
||||
* @param siteUrl the URL of the text file to return the contents of
|
||||
* @param customProperties set request header properties
|
||||
* @return the contents of the specified text file
|
||||
* @throws IOException*/
|
||||
* @throws IOException
|
||||
*/
|
||||
@Override
|
||||
public String download(String siteUrl, Map<String, String> customProperties) throws IOException, ReCaptchaException {
|
||||
URL url = new URL(siteUrl);
|
||||
HttpsURLConnection con = (HttpsURLConnection) url.openConnection();
|
||||
Iterator it = customProperties.entrySet().iterator();
|
||||
while(it.hasNext()) {
|
||||
Map.Entry pair = (Map.Entry)it.next();
|
||||
con.setRequestProperty((String)pair.getKey(), (String)pair.getValue());
|
||||
}
|
||||
return dl(con);
|
||||
return getBody(siteUrl, customProperties).string();
|
||||
}
|
||||
|
||||
/**Common functionality between download(String url) and download(String url, String language)*/
|
||||
private static String dl(HttpsURLConnection con) throws IOException, ReCaptchaException {
|
||||
StringBuilder response = new StringBuilder();
|
||||
BufferedReader in = null;
|
||||
|
||||
public InputStream stream(String siteUrl) throws IOException {
|
||||
try {
|
||||
con.setRequestMethod("GET");
|
||||
con.setRequestProperty("User-Agent", USER_AGENT);
|
||||
|
||||
if (getCookies().length() > 0) {
|
||||
con.setRequestProperty("Cookie", getCookies());
|
||||
}
|
||||
|
||||
in = new BufferedReader(
|
||||
new InputStreamReader(con.getInputStream()));
|
||||
String inputLine;
|
||||
|
||||
while((inputLine = in.readLine()) != null) {
|
||||
response.append(inputLine);
|
||||
}
|
||||
} catch(UnknownHostException uhe) {//thrown when there's no internet connection
|
||||
throw new IOException("unknown host or no network", uhe);
|
||||
//Toast.makeText(getActivity(), uhe.getMessage(), Toast.LENGTH_LONG).show();
|
||||
} catch(Exception e) {
|
||||
/*
|
||||
* HTTP 429 == Too Many Request
|
||||
* Receive from Youtube.com = ReCaptcha challenge request
|
||||
* See : https://github.com/rg3/youtube-dl/issues/5138
|
||||
*/
|
||||
if (con.getResponseCode() == 429) {
|
||||
throw new ReCaptchaException("reCaptcha Challenge requested");
|
||||
}
|
||||
throw new IOException(e);
|
||||
} finally {
|
||||
if(in != null) {
|
||||
in.close();
|
||||
}
|
||||
return getBody(siteUrl, Collections.emptyMap()).byteStream();
|
||||
} catch (ReCaptchaException e) {
|
||||
throw new IOException(e.getMessage(), e.getCause());
|
||||
}
|
||||
|
||||
return response.toString();
|
||||
}
|
||||
|
||||
/**Download (via HTTP) the text file located at the supplied URL, and return its contents.
|
||||
private ResponseBody getBody(String siteUrl, Map<String, String> customProperties) throws IOException, ReCaptchaException {
|
||||
final Request.Builder requestBuilder = new Request.Builder()
|
||||
.method("GET", null).url(siteUrl)
|
||||
.addHeader("User-Agent", USER_AGENT);
|
||||
|
||||
for (Map.Entry<String, String> header : customProperties.entrySet()) {
|
||||
requestBuilder.addHeader(header.getKey(), header.getValue());
|
||||
}
|
||||
|
||||
if (!TextUtils.isEmpty(mCookies)) {
|
||||
requestBuilder.addHeader("Cookie", mCookies);
|
||||
}
|
||||
|
||||
final Request request = requestBuilder.build();
|
||||
final Response response = client.newCall(request).execute();
|
||||
final ResponseBody body = response.body();
|
||||
|
||||
if (response.code() == 429) {
|
||||
throw new ReCaptchaException("reCaptcha Challenge requested");
|
||||
}
|
||||
|
||||
if (body == null) {
|
||||
response.close();
|
||||
return null;
|
||||
}
|
||||
|
||||
return body;
|
||||
}
|
||||
|
||||
/**
|
||||
* Download (via HTTP) the text file located at the supplied URL, and return its contents.
|
||||
* Primarily intended for downloading web pages.
|
||||
*
|
||||
* @param siteUrl the URL of the text file to download
|
||||
* @return the contents of the specified text file*/
|
||||
* @return the contents of the specified text file
|
||||
*/
|
||||
@Override
|
||||
public String download(String siteUrl) throws IOException, ReCaptchaException {
|
||||
URL url = new URL(siteUrl);
|
||||
HttpsURLConnection con = (HttpsURLConnection) url.openConnection();
|
||||
//HttpsURLConnection con = NetCipher.getHttpsURLConnection(url);
|
||||
return dl(con);
|
||||
return download(siteUrl, Collections.emptyMap());
|
||||
}
|
||||
}
|
||||
|
@@ -7,7 +7,7 @@ import android.content.Intent;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
|
||||
/**
|
||||
/*
|
||||
* Copyright (C) Hans-Christoph Steiner 2016 <hans@eds.org>
|
||||
* ExitActivity.java is part of NewPipe.
|
||||
*
|
||||
|
46
app/src/main/java/org/schabi/newpipe/ImageDownloader.java
Normal file
46
app/src/main/java/org/schabi/newpipe/ImageDownloader.java
Normal file
@@ -0,0 +1,46 @@
|
||||
package org.schabi.newpipe;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.res.Resources;
|
||||
import android.preference.PreferenceManager;
|
||||
|
||||
import com.nostra13.universalimageloader.core.download.BaseImageDownloader;
|
||||
|
||||
import org.schabi.newpipe.extractor.NewPipe;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
|
||||
public class ImageDownloader extends BaseImageDownloader {
|
||||
private final Resources resources;
|
||||
private final SharedPreferences preferences;
|
||||
private final String downloadThumbnailKey;
|
||||
|
||||
public ImageDownloader(Context context) {
|
||||
super(context);
|
||||
this.resources = context.getResources();
|
||||
this.preferences = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
this.downloadThumbnailKey = context.getString(R.string.download_thumbnail_key);
|
||||
}
|
||||
|
||||
private boolean isDownloadingThumbnail() {
|
||||
return preferences.getBoolean(downloadThumbnailKey, true);
|
||||
}
|
||||
|
||||
@SuppressLint("ResourceType")
|
||||
@Override
|
||||
public InputStream getStream(String imageUri, Object extra) throws IOException {
|
||||
if (isDownloadingThumbnail()) {
|
||||
return super.getStream(imageUri, extra);
|
||||
} else {
|
||||
return resources.openRawResource(R.drawable.dummy_thumbnail_dark);
|
||||
}
|
||||
}
|
||||
|
||||
protected InputStream getStreamFromNetwork(String imageUri, Object extra) throws IOException {
|
||||
final Downloader downloader = (Downloader) NewPipe.getDownloader();
|
||||
return downloader.stream(imageUri);
|
||||
}
|
||||
}
|
@@ -1,64 +0,0 @@
|
||||
package org.schabi.newpipe;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Bitmap;
|
||||
import android.view.View;
|
||||
|
||||
import com.nostra13.universalimageloader.core.assist.FailReason;
|
||||
import com.nostra13.universalimageloader.core.listener.ImageLoadingListener;
|
||||
|
||||
import org.schabi.newpipe.extractor.NewPipe;
|
||||
import org.schabi.newpipe.report.ErrorActivity;
|
||||
|
||||
/**
|
||||
* Created by Christian Schabesberger on 01.08.16.
|
||||
*
|
||||
* Copyright (C) Christian Schabesberger 2015 <chris.schabesberger@mailbox.org>
|
||||
* StreamInfoItemViewCreator.java is part of NewPipe.
|
||||
*
|
||||
* NewPipe is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* NewPipe is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with NewPipe. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
public class ImageErrorLoadingListener implements ImageLoadingListener {
|
||||
|
||||
private int serviceId = -1;
|
||||
private Context context = null;
|
||||
private View rootView = null;
|
||||
|
||||
public ImageErrorLoadingListener(Context context, View rootView, int serviceId) {
|
||||
this.context = context;
|
||||
this.serviceId= serviceId;
|
||||
this.rootView = rootView;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoadingStarted(String imageUri, View view) {}
|
||||
|
||||
@Override
|
||||
public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
|
||||
ErrorActivity.reportError(context,
|
||||
failReason.getCause(), null, rootView,
|
||||
ErrorActivity.ErrorInfo.make(ErrorActivity.LOAD_IMAGE,
|
||||
NewPipe.getNameOfService(serviceId), imageUri,
|
||||
R.string.could_not_load_image));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoadingCancelled(String imageUri, View view) {}
|
||||
}
|
@@ -1,96 +0,0 @@
|
||||
package org.schabi.newpipe;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.res.Resources;
|
||||
import android.preference.PreferenceManager;
|
||||
|
||||
import java.text.DateFormat;
|
||||
import java.text.NumberFormat;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
* Created by chschtsch on 12/29/15.
|
||||
*
|
||||
* Copyright (C) Gregory Arkhipov 2015
|
||||
* Localization.java is part of NewPipe.
|
||||
*
|
||||
* NewPipe is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* NewPipe is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with NewPipe. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
public class Localization {
|
||||
|
||||
private Localization() {
|
||||
}
|
||||
|
||||
public static Locale getPreferredLocale(Context context) {
|
||||
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
|
||||
String languageCode = sp.getString(String.valueOf(R.string.search_language_key),
|
||||
context.getString(R.string.default_language_value));
|
||||
|
||||
if(languageCode.length() == 2) {
|
||||
return new Locale(languageCode);
|
||||
}
|
||||
else if(languageCode.contains("_")) {
|
||||
String country = languageCode
|
||||
.substring(languageCode.indexOf("_"), languageCode.length());
|
||||
return new Locale(languageCode.substring(0, 2), country);
|
||||
}
|
||||
return Locale.getDefault();
|
||||
}
|
||||
|
||||
public static String localizeViewCount(long viewCount, Context context) {
|
||||
Locale locale = getPreferredLocale(context);
|
||||
|
||||
Resources res = context.getResources();
|
||||
String viewsString = res.getString(R.string.view_count_text);
|
||||
|
||||
NumberFormat nf = NumberFormat.getInstance(locale);
|
||||
String formattedViewCount = nf.format(viewCount);
|
||||
return String.format(viewsString, formattedViewCount);
|
||||
}
|
||||
|
||||
public static String localizeNumber(long number, Context context) {
|
||||
Locale locale = getPreferredLocale(context);
|
||||
NumberFormat nf = NumberFormat.getInstance(locale);
|
||||
return nf.format(number);
|
||||
}
|
||||
|
||||
private static String formatDate(String date, Context context) {
|
||||
Locale locale = getPreferredLocale(context);
|
||||
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
|
||||
Date datum = null;
|
||||
try {
|
||||
datum = formatter.parse(date);
|
||||
} catch (ParseException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
DateFormat df = DateFormat.getDateInstance(DateFormat.MEDIUM, locale);
|
||||
|
||||
return df.format(datum);
|
||||
}
|
||||
|
||||
public static String localizeDate(String date, Context context) {
|
||||
Resources res = context.getResources();
|
||||
String dateString = res.getString(R.string.upload_date_text);
|
||||
|
||||
String formattedDate = formatDate(date, context);
|
||||
return String.format(dateString, formattedDate);
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
42
app/src/main/java/org/schabi/newpipe/NewPipeDatabase.java
Normal file
42
app/src/main/java/org/schabi/newpipe/NewPipeDatabase.java
Normal file
@@ -0,0 +1,42 @@
|
||||
package org.schabi.newpipe;
|
||||
|
||||
import android.arch.persistence.room.Room;
|
||||
import android.content.Context;
|
||||
import android.support.annotation.NonNull;
|
||||
|
||||
import org.schabi.newpipe.database.AppDatabase;
|
||||
|
||||
import static org.schabi.newpipe.database.AppDatabase.DATABASE_NAME;
|
||||
import static org.schabi.newpipe.database.Migrations.MIGRATION_11_12;
|
||||
|
||||
public final class NewPipeDatabase {
|
||||
|
||||
private static volatile AppDatabase databaseInstance;
|
||||
|
||||
private NewPipeDatabase() {
|
||||
//no instance
|
||||
}
|
||||
|
||||
private static AppDatabase getDatabase(Context context) {
|
||||
return Room
|
||||
.databaseBuilder(context.getApplicationContext(), AppDatabase.class, DATABASE_NAME)
|
||||
.addMigrations(MIGRATION_11_12)
|
||||
.fallbackToDestructiveMigration()
|
||||
.build();
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static AppDatabase getInstance(@NonNull Context context) {
|
||||
AppDatabase result = databaseInstance;
|
||||
if (result == null) {
|
||||
synchronized (NewPipeDatabase.class) {
|
||||
result = databaseInstance;
|
||||
if (result == null) {
|
||||
databaseInstance = (result = getDatabase(context));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
@@ -6,9 +6,8 @@ import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.media.AudioManager;
|
||||
|
||||
/**
|
||||
/*
|
||||
* Copyright (C) Hans-Christoph Steiner 2016 <hans@eds.org>
|
||||
* PanicResponderActivity.java is part of NewPipe.
|
||||
*
|
||||
|
@@ -8,6 +8,7 @@ import android.os.Bundle;
|
||||
import android.support.v4.app.NavUtils;
|
||||
import android.support.v7.app.ActionBar;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
import android.support.v7.widget.Toolbar;
|
||||
import android.view.MenuItem;
|
||||
import android.webkit.CookieManager;
|
||||
import android.webkit.ValueCallback;
|
||||
@@ -15,7 +16,7 @@ import android.webkit.WebSettings;
|
||||
import android.webkit.WebView;
|
||||
import android.webkit.WebViewClient;
|
||||
|
||||
/**
|
||||
/*
|
||||
* Created by beneth <bmauduit@beneth.fr> on 06.12.16.
|
||||
*
|
||||
* Copyright (C) Christian Schabesberger 2015 <chris.schabesberger@mailbox.org>
|
||||
@@ -48,12 +49,17 @@ public class ReCaptchaActivity extends AppCompatActivity {
|
||||
// Set return to Cancel by default
|
||||
setResult(RESULT_CANCELED);
|
||||
|
||||
ActionBar actionBar = getSupportActionBar();
|
||||
actionBar.setDisplayHomeAsUpEnabled(true);
|
||||
actionBar.setTitle(R.string.reCaptcha_title);
|
||||
actionBar.setDisplayShowTitleEnabled(true);
|
||||
Toolbar toolbar = findViewById(R.id.toolbar);
|
||||
setSupportActionBar(toolbar);
|
||||
|
||||
WebView myWebView = (WebView) findViewById(R.id.reCaptchaWebView);
|
||||
ActionBar actionBar = getSupportActionBar();
|
||||
if (actionBar != null) {
|
||||
actionBar.setDisplayHomeAsUpEnabled(true);
|
||||
actionBar.setTitle(R.string.reCaptcha_title);
|
||||
actionBar.setDisplayShowTitleEnabled(true);
|
||||
}
|
||||
|
||||
WebView myWebView = findViewById(R.id.reCaptchaWebView);
|
||||
|
||||
// Enable Javascript
|
||||
WebSettings webSettings = myWebView.getSettings();
|
||||
@@ -101,7 +107,7 @@ public class ReCaptchaActivity extends AppCompatActivity {
|
||||
// find cookies : s_gl & goojf and Add cookies to Downloader
|
||||
if (find_access_cookies(cookies)) {
|
||||
// Give cookies to Downloader class
|
||||
Downloader.setCookies(mCookies);
|
||||
Downloader.getInstance().setCookies(mCookies);
|
||||
|
||||
// Closing activity and return to parent
|
||||
setResult(RESULT_OK);
|
||||
|
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user