1
mirror of https://github.com/TeamNewPipe/NewPipe synced 2025-09-22 21:40:52 +02:00

Compare commits

..

228 Commits

Author SHA1 Message Date
TobiGr
b861f21bca Fix release build 2019-10-31 20:37:49 +01:00
Tobias Groza
0e0f498c06 Merge pull request #2710 from TeamNewPipe/release-0.17.4
Release 0.17.4
2019-10-30 17:25:24 +01:00
TobiGr
93af5f8fbb Bump to 0.17.4 (790) 2019-10-28 01:13:06 +01:00
TobiGr
7056bbdf51 add changelog for 0.17.4 2019-10-28 01:13:06 +01:00
TobiGr
c4eaee1e31 Update extractor version and add head request to downloader 2019-10-28 01:13:06 +01:00
Tobias Groza
4f688862a2 Merge pull request #2761 from enolp/dev
Fix what Weblate screwed up
2019-10-27 18:57:38 +01:00
enolp
25d73a59ad Fourth update 2019-10-25 20:45:42 +00:00
enolp
9f701d0f2e Third update 2019-10-25 20:45:02 +00:00
enolp
47fb612a5a Second update 2019-10-25 20:08:53 +00:00
enolp
b8ff5fed7c Fix what Weblate screwed up
Updated translations, synced from translation platform and fixes to Weblate bad handling of empty translation strings
2019-10-25 19:39:33 +00:00
Tobias Groza
0b7e1bcfc4 Merge pull request #2736 from Redirion/patch-1
Bump ExoPlayer to 2.10.6 and OkHttp to 3.12.6
2019-10-20 18:34:18 +02:00
Redirion
babd5336a0 Bump ExoPlayer to 2.10.6 and OkHttp to 3.12.6
Little dependency update.
ExoPlayer Changelog: https://github.com/google/ExoPlayer/blob/release-v2/RELEASENOTES.md
OkHttp Changelog: https://square.github.io/okhttp/changelog_3x/#version-3126
2019-10-19 05:58:48 +02:00
Tobias Groza
4a76ba4376 Merge pull request #2712 from mauriciocolli/fix-broken-translations
Fix broken video count text translations
2019-10-11 08:58:27 +02:00
Mauricio Colli
8245e878e3 Fix broken video count text translations
- Someone had the brilliant idea of removing the string arguments,
giving the the wrong example for other languages in the process.
2019-10-10 22:56:20 -03:00
TobiGr
e64a7809e4 Merge remote-tracking branch 'Weblate/dev' into dev 2019-10-10 14:03:39 +02:00
Tobias Groza
28ed9879aa Merge pull request #2697 from Redirion/exoplayer2105
Update to ExoPlayer 2.10.5
2019-10-10 14:01:05 +02:00
Xuân Hải Trần
d4a761ceff Translated using Weblate (Vietnamese)
Currently translated at 98.3% (470 of 478 strings)
2019-10-09 09:26:37 +02:00
Hosted Weblate
7f7313d69a Merge branch 'origin/dev' into Weblate. 2019-10-08 14:57:42 +02:00
Jeff Huang
6ec7dba751 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (478 of 478 strings)
2019-10-08 14:57:40 +02:00
JoC
33564974b8 Translated using Weblate (Spanish)
Currently translated at 100.0% (478 of 478 strings)
2019-10-08 14:57:39 +02:00
Farándula
baaa9f68dc Translated using Weblate (Spanish)
Currently translated at 100.0% (478 of 478 strings)
2019-10-08 14:57:39 +02:00
thami simo
0142f8bf0c Translated using Weblate (Arabic)
Currently translated at 100.0% (478 of 478 strings)
2019-10-08 14:57:38 +02:00
pjammo
ad534ddbb6 Translated using Weblate (Italian)
Currently translated at 99.6% (476 of 478 strings)
2019-10-08 14:57:38 +02:00
Yaron Shahrabani
673a59e4c4 Translated using Weblate (Hebrew)
Currently translated at 100.0% (478 of 478 strings)
2019-10-08 14:57:37 +02:00
ask6155
39d848c62c Translated using Weblate (Hindi)
Currently translated at 71.1% (340 of 478 strings)
2019-10-08 14:57:37 +02:00
Marc Riera
35059b7507 Translated using Weblate (Catalan)
Currently translated at 96.7% (462 of 478 strings)
2019-10-08 14:57:36 +02:00
naofum
f698c914f6 Translated using Weblate (Japanese)
Currently translated at 100.0% (478 of 478 strings)
2019-10-08 14:57:31 +02:00
uievawkejf
02cccf9e27 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (478 of 478 strings)
2019-10-08 14:57:31 +02:00
Milkdrop
54e763c71e Translated using Weblate (Romanian)
Currently translated at 79.5% (380 of 478 strings)
2019-10-08 14:57:30 +02:00
nautilusx
4c9709a2bb Translated using Weblate (German)
Currently translated at 100.0% (478 of 478 strings)
2019-10-08 14:57:29 +02:00
Heart Kris
297b5bc55c Translated using Weblate (Filipino)
Currently translated at 7.9% (38 of 478 strings)
2019-10-08 14:57:29 +02:00
Oguz Ersen
ab9cb063b2 Translated using Weblate (Turkish)
Currently translated at 100.0% (478 of 478 strings)
2019-10-08 14:57:23 +02:00
Robin
b2b32ce67b fix NPE, fix 'wrong' constant, avoid unnecessary nulling 2019-10-08 06:36:29 +02:00
Redirion
7aeb1ec8d9 Apply suggestions from code review
Co-Authored-By: Tobias Groza <TobiGr@users.noreply.github.com>
2019-10-07 11:27:43 +02:00
Robin
50b51f931e Make use of isPlaying feature of ExoPlayer 2.10.5 2019-10-07 11:18:27 +02:00
Robin
bf353875b0 Update okhttp to match ExoPlayer 2019-10-07 11:18:26 +02:00
Robin
87eab2a9b0 Fixed deprecations 2019-10-07 11:18:26 +02:00
Robin
dcd5197a19 Update to ExoPlayer 2.10.5 2019-10-07 11:18:26 +02:00
TobiGr
a02e12abe8 Update extractor 2019-10-07 11:01:01 +02:00
Tobias Groza
ce17ccad27 Merge pull request #2685 from Redirion/androidx3
Migrate to AndroidX
2019-10-07 01:51:20 +02:00
Tobias Groza
25f1660efc Merge pull request #2695 from Talisantos/dev
Clear search box has now only one animation - issue #2644 solved
2019-10-06 00:47:17 +02:00
Ivan
74c7eb616f Clear search box has now only one animation - issue #2644 solved 2019-10-05 21:57:33 +01:00
Redirion
81f1dc9839 Merge branch 'dev' into androidx3 2019-10-05 17:21:31 +02:00
TobiGr
2269a95b99 Remove unused Gema string from translation 2019-10-05 15:07:30 +02:00
Robin
bf2a3ca043 Migrate to AndroidX 2019-10-04 14:59:08 +02:00
Tobias Groza
7e4becd6b6 Merge pull request #2672 from yausername/videoDetailscrollFix
Fix scrolling in video detail fragment. 
Fixes #2627 and #2437
2019-10-02 12:44:28 +02:00
Hosted Weblate
d400ac5705 Merge branch 'origin/dev' into Weblate. 2019-10-02 11:56:21 +02:00
JS Ahn
61e57c9373 Translated using Weblate (Korean)
Currently translated at 99.2% (473 of 477 strings)
2019-10-02 11:56:19 +02:00
Arttu Ylhävuori
db1cd7dd6b Translated using Weblate (Finnish)
Currently translated at 65.6% (313 of 477 strings)
2019-10-02 11:56:18 +02:00
Ğąme Ǿver!
8680bcda61 Translated using Weblate (Persian)
Currently translated at 98.1% (468 of 477 strings)
2019-10-02 11:56:18 +02:00
Mostafa Ahangarha
5db40a0ede Translated using Weblate (Persian)
Currently translated at 98.1% (468 of 477 strings)
2019-10-02 11:56:17 +02:00
Mohammad Reza Haddad
d4e80ef268 Translated using Weblate (Persian)
Currently translated at 98.1% (468 of 477 strings)
2019-10-02 11:56:08 +02:00
WaldiS
262a4e2bfd Translated using Weblate (Polish)
Currently translated at 100.0% (477 of 477 strings)
2019-10-02 11:56:06 +02:00
Marc Riera
1037798879 Translated using Weblate (Catalan)
Currently translated at 96.0% (458 of 477 strings)
2019-10-02 11:56:06 +02:00
naofum
bcfdde65b0 Translated using Weblate (Japanese)
Currently translated at 100.0% (477 of 477 strings)
2019-10-02 11:56:04 +02:00
Emin Tufan Çetin
73d145616a Translated using Weblate (Turkish)
Currently translated at 100.0% (477 of 477 strings)
2019-10-02 11:56:03 +02:00
yausername
cf6380b3c7 Merge remote-tracking branch 'upstream/dev' into videoDetailscrollFix 2019-10-02 06:35:44 +05:30
yausername
0593aaa0c1 fix scroll jittering 2019-10-02 06:29:20 +05:30
Tobias Groza
24babd47a2 Merge pull request #2535 from jimbo1qaz/add-transitive-dependencies
Add missing dependencies inherited from NewPipeExtractor into NewPipe
2019-10-01 22:15:23 +02:00
Tobias Groza
b4b24a4f70 Merge pull request #2655 from TeamNewPipe/accessebility
Improve Accessebility for blind people
2019-10-01 21:25:21 +02:00
Stypox
ad411344db Merge branch 'dev' into add-transitive-dependencies 2019-10-01 21:07:41 +02:00
Stypox
2097d2e4e4 Merge branch 'dev' into accessebility 2019-10-01 21:04:05 +02:00
Tobias Groza
2a2643641e Merge pull request #2646 from kapodamy/yt-deadlock-issue
check if last byte in the block is downloaded
2019-10-01 20:44:14 +02:00
kapodamy
08a081437f Update DownloadRunnable.java 2019-10-01 15:31:15 -03:00
kapodamy
b1d89175fc Update DownloadRunnable.java
add description
2019-10-01 13:09:26 -03:00
Mohammad Reza Haddad
97e57dcbab Translated using Weblate (Persian)
Currently translated at 72.3% (345 of 477 strings)
2019-09-30 16:49:49 +02:00
Mostafa Ahangarha
f46fa72556 Translated using Weblate (Persian)
Currently translated at 72.3% (345 of 477 strings)
2019-09-30 16:49:49 +02:00
Mohammad Reza Haddad
242c2fc04a Translated using Weblate (Persian)
Currently translated at 70.2% (335 of 477 strings)
2019-09-30 16:41:42 +02:00
Mostafa Ahangarha
1523cfdc45 Translated using Weblate (Persian)
Currently translated at 70.2% (335 of 477 strings)
2019-09-30 16:41:42 +02:00
yausername
5d9b5a063b fix scrolling in video detail fragment. fixes #2627 2019-09-29 22:05:29 +05:30
Allan Nordhøy
0417c47fe2 Translated using Weblate (Norwegian Bokmål)
Currently translated at 95.2% (454 of 477 strings)
2019-09-28 16:55:53 +02:00
Jeff Huang
0da5717bb5 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (477 of 477 strings)
2019-09-28 16:55:53 +02:00
Florian
73c4ec378b Translated using Weblate (French)
Currently translated at 99.6% (475 of 477 strings)
2019-09-28 16:55:52 +02:00
thami simo
1b54791905 Translated using Weblate (Arabic)
Currently translated at 100.0% (477 of 477 strings)
2019-09-28 16:55:52 +02:00
random r
4299062bd0 Translated using Weblate (Italian)
Currently translated at 100.0% (477 of 477 strings)
2019-09-28 16:55:50 +02:00
Yaron Shahrabani
015ef402eb Translated using Weblate (Hebrew)
Currently translated at 100.0% (477 of 477 strings)
2019-09-28 16:55:50 +02:00
ssantos
378c6c576c Translated using Weblate (Portuguese)
Currently translated at 100.0% (477 of 477 strings)
2019-09-28 16:55:49 +02:00
winqooq
b6cb95695e Translated using Weblate (Ukrainian)
Currently translated at 100.0% (477 of 477 strings)
2019-09-28 16:55:49 +02:00
winqooq
c922b49731 Translated using Weblate (Russian)
Currently translated at 100.0% (477 of 477 strings)
2019-09-28 16:55:48 +02:00
Hosted Weblate
60c4f86b08 Merge branch 'origin/dev' into Weblate. 2019-09-25 14:14:38 +02:00
Tawhid H
afdb8e0d37 Translated using Weblate (Bengali (Bangladesh))
Currently translated at 27.0% (129 of 477 strings)
2019-09-25 14:14:38 +02:00
Xiang Xu
502a458dfd Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (477 of 477 strings)
2019-09-25 14:14:38 +02:00
Jeff Huang
ff986a99b6 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (477 of 477 strings)
2019-09-25 14:14:37 +02:00
pjammo
939c2a2494 Translated using Weblate (Italian)
Currently translated at 99.8% (476 of 477 strings)
2019-09-25 14:14:37 +02:00
winqooq
38234c005e Translated using Weblate (Ukrainian)
Currently translated at 100.0% (477 of 477 strings)
2019-09-25 14:14:36 +02:00
Igor Nedoboy
a67e5357ef Translated using Weblate (Russian)
Currently translated at 100.0% (477 of 477 strings)
2019-09-25 14:14:35 +02:00
Heart Kris
9fe4af9550 Added translation using Weblate (Filipino) 2019-09-25 14:14:33 +02:00
Christian Schabesberger
6622611ee3 Merge branch 'dev' into accessebility 2019-09-24 21:26:13 +02:00
kapodamy
ecb4bfde0b check if last byte on block is downloaded 2019-09-23 15:45:48 -03:00
Éfrit
1bee297bba Revert "Translated using Weblate (English)"
This reverts commit 09e2381475.
2019-09-23 10:30:08 +02:00
WaldiS
0e7817f7e5 Translated using Weblate (Polish)
Currently translated at 100.0% (477 of 477 strings)
2019-09-22 17:08:36 +02:00
ssantos
fafd1126f4 Translated using Weblate (Portuguese)
Currently translated at 100.0% (477 of 477 strings)
2019-09-22 17:08:36 +02:00
naofum
a67f167666 Translated using Weblate (Japanese)
Currently translated at 100.0% (477 of 477 strings)
2019-09-22 17:08:35 +02:00
Christian Schabesberger
7e65648412 change video preview text 2019-09-22 13:34:44 +02:00
Christian Schabesberger
003170e6d8 add tab description and download dialog bag button 2019-09-22 13:26:53 +02:00
Christian Schabesberger
28accff9ba add content description for toggle service button 2019-09-22 11:59:50 +02:00
Christian Schabesberger
e1d2c576a9 remove shasum for new android studio 2019-09-22 11:01:35 +02:00
Florian
7e6722f0f8 Translated using Weblate (French)
Currently translated at 99.6% (475 of 477 strings)
2019-09-21 21:09:47 +02:00
JoC
d909ac0e59 Translated using Weblate (Spanish)
Currently translated at 100.0% (477 of 477 strings)
2019-09-21 21:09:47 +02:00
zmni
2869e53421 Translated using Weblate (Indonesian)
Currently translated at 100.0% (477 of 477 strings)
2019-09-21 21:09:46 +02:00
Yaron Shahrabani
0b145682ba Translated using Weblate (Hebrew)
Currently translated at 100.0% (477 of 477 strings)
2019-09-21 21:09:46 +02:00
zeritti
0ef52adb18 Translated using Weblate (Czech)
Currently translated at 100.0% (477 of 477 strings)
2019-09-21 21:09:45 +02:00
nautilusx
4b76b70ea0 Translated using Weblate (German)
Currently translated at 100.0% (477 of 477 strings)
2019-09-21 21:09:43 +02:00
Oguz Ersen
586fa99065 Translated using Weblate (Turkish)
Currently translated at 100.0% (477 of 477 strings)
2019-09-21 21:09:42 +02:00
Hosted Weblate
26184aca10 Merge branch 'origin/dev' into Weblate. 2019-09-21 05:43:08 +02:00
Jeff Huang
79ed4d5f50 Translated using Weblate (Chinese (Traditional))
Currently translated at 99.8% (476 of 477 strings)
2019-09-21 05:43:06 +02:00
JS Ahn
87b546e7fb Translated using Weblate (Korean)
Currently translated at 99.4% (474 of 477 strings)
2019-09-21 05:43:06 +02:00
thami simo
a4b8fe41c0 Translated using Weblate (Arabic)
Currently translated at 99.8% (476 of 477 strings)
2019-09-21 05:43:05 +02:00
pjammo
8b44bf4d9b Translated using Weblate (Italian)
Currently translated at 99.6% (475 of 477 strings)
2019-09-21 05:43:05 +02:00
Laszlo Almasi
e09b7c592c Translated using Weblate (Hungarian)
Currently translated at 68.8% (328 of 477 strings)
2019-09-21 05:43:04 +02:00
ssantos
6ea5d1a1ff Translated using Weblate (Portuguese)
Currently translated at 100.0% (477 of 477 strings)
2019-09-21 05:43:04 +02:00
naofum
c5fa1122ae Translated using Weblate (Japanese)
Currently translated at 100.0% (477 of 477 strings)
2019-09-21 05:43:03 +02:00
Oguz Ersen
7fa75a3d54 Translated using Weblate (English)
Currently translated at 99.8% (476 of 477 strings)
2019-09-21 05:43:03 +02:00
BugviewTH Soros
358f94a7ec Translated using Weblate (Thai)
Currently translated at 56.8% (271 of 477 strings)
2019-09-21 05:43:03 +02:00
Oguz Ersen
07ac539c8f Translated using Weblate (Turkish)
Currently translated at 100.0% (477 of 477 strings)
2019-09-21 05:43:01 +02:00
TobiGr
c36075f4e3 Merge remote-tracking branch 'Weblate/dev' into dev 2019-09-20 16:34:09 +02:00
Tobias Groza
54746af5de Merge pull request #2637 from opusforlife2/opusforlife2-patch-1
Make language of download folder setting more consistent and less ambiguous
2019-09-20 16:32:58 +02:00
Tobias Groza
862e08a06c Merge branch 'dev' into opusforlife2-patch-1 2019-09-20 16:24:51 +02:00
Christian Schabesberger
748f70ba87 fix subscriber count 2019-09-18 15:31:06 +02:00
opusforlife2
9425f0ca1a Change the language of the download folder setting
Make it more consistent and less ambiguous
2019-09-16 19:39:28 +00:00
Hosted Weblate
4a3d7002eb Merge branch 'origin/dev' into Weblate. 2019-09-14 21:24:02 +02:00
JS Ahn
6d94ccb756 Translated using Weblate (Korean)
Currently translated at 99.4% (474 of 477 strings)
2019-09-14 21:23:59 +02:00
Alexis Raison
6cf83c5c1a Translated using Weblate (French)
Currently translated at 99.4% (474 of 477 strings)
2019-09-14 21:23:58 +02:00
Florian
4bce257189 Translated using Weblate (French)
Currently translated at 99.4% (474 of 477 strings)
2019-09-14 21:23:57 +02:00
zmni
c495fb92f3 Translated using Weblate (Indonesian)
Currently translated at 100.0% (477 of 477 strings)
2019-09-14 21:23:57 +02:00
thami simo
3102b4bdb7 Translated using Weblate (Arabic)
Currently translated at 100.0% (477 of 477 strings)
2019-09-14 21:23:56 +02:00
WaldiS
4e232602db Translated using Weblate (Polish)
Currently translated at 99.8% (476 of 477 strings)
2019-09-14 21:23:55 +02:00
Yaron Shahrabani
d5ecf1e8dd Translated using Weblate (Hebrew)
Currently translated at 100.0% (477 of 477 strings)
2019-09-14 21:23:55 +02:00
ssantos
c019cf57e5 Translated using Weblate (Portuguese)
Currently translated at 100.0% (477 of 477 strings)
2019-09-14 21:23:54 +02:00
naofum
0db3d7ffd3 Translated using Weblate (Japanese)
Currently translated at 100.0% (477 of 477 strings)
2019-09-14 21:23:54 +02:00
Igor Nedoboy
ab846be65e Translated using Weblate (Russian)
Currently translated at 100.0% (477 of 477 strings)
2019-09-14 21:23:54 +02:00
postsorino
1a4e83cb5a Translated using Weblate (Greek)
Currently translated at 100.0% (477 of 477 strings)
2019-09-14 21:23:53 +02:00
C. Rüdinger
7cd5d5b4c3 Translated using Weblate (German)
Currently translated at 99.8% (476 of 477 strings)
2019-09-14 21:23:49 +02:00
TobiGr
ec4757d6de Move on to 0.17.3 2019-09-12 22:52:40 +02:00
TobiGr
6447af8541 Update extractor version to fix live streams 2019-09-12 22:43:07 +02:00
Christian Schabesberger
209c1f8bc2 merge master back into dev 2019-09-12 13:22:24 +02:00
Tobias Groza
6a37dfc35f Merge pull request #2488 from 2secslater/patch-1
Add all (HTTP(S)) Invidious instances
2019-09-12 09:29:25 +02:00
Tobias Groza
5e101a4d32 Merge branch 'dev' into patch-1 2019-09-12 09:23:30 +02:00
Christian Schabesberger
c29ea4693d Merge pull request #2617 from TeamNewPipe/hotfix_stream_fmt
add fixed extractor and move on to version 0.17.2
2019-09-11 22:36:17 +02:00
Christian Schabesberger
7d0df7aa80 add fixed extractor and move on to version 0.17.2 2019-09-11 22:30:41 +02:00
Hosted Weblate
db80be4d38 Merge branch 'origin/dev' into Weblate. 2019-09-11 16:24:07 +02:00
JoC
146313e7db Translated using Weblate (Spanish)
Currently translated at 100.0% (476 of 476 strings)
2019-09-11 16:24:03 +02:00
Manuela Silva
357ac3d7fb Translated using Weblate (Portuguese)
Currently translated at 100.0% (476 of 476 strings)
2019-09-11 16:24:02 +02:00
Tobias Groza
1275d9a185 Merge pull request #2592 from kapodamy/android-pie-workarrounds
Fix performance problem in android pie
2019-09-09 20:08:41 +02:00
Tobias Groza
75f2ced937 Merge branch 'dev' into android-pie-workarrounds 2019-09-09 18:59:59 +02:00
Tobias Groza
cd2ac25ff6 Merge pull request #2533 from jimbo1qaz/remove-dead-code
Remove commented-out code in VideoDetailFragment
2019-09-09 18:43:47 +02:00
uievawkejf
1d603043c5 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (476 of 476 strings)
2019-09-08 23:24:21 +02:00
Hosted Weblate
c77f2d1569 Merge branch 'origin/dev' into Weblate. 2019-09-07 03:24:42 +02:00
Allan Nordhøy
78e3e6bd5f Translated using Weblate (Norwegian Bokmål)
Currently translated at 96.8% (461 of 476 strings)
2019-09-07 03:24:40 +02:00
Jeff Huang
79a854e899 Translated using Weblate (Chinese (Traditional))
Currently translated at 99.6% (474 of 476 strings)
2019-09-07 03:24:39 +02:00
Marian Hanzel
4b1dbeb11f Translated using Weblate (Slovak)
Currently translated at 88.0% (419 of 476 strings)
2019-09-07 03:24:37 +02:00
Éfrit
6d235b6715 Translated using Weblate (French)
Currently translated at 99.2% (472 of 476 strings)
2019-09-07 03:24:37 +02:00
thami simo
05a95421c4 Translated using Weblate (Arabic)
Currently translated at 100.0% (476 of 476 strings)
2019-09-07 03:24:34 +02:00
random r
0be654f750 Translated using Weblate (Italian)
Currently translated at 100.0% (476 of 476 strings)
2019-09-07 03:24:33 +02:00
WaldiS
1c94a5a33d Translated using Weblate (Polish)
Currently translated at 100.0% (476 of 476 strings)
2019-09-07 03:24:33 +02:00
Yaron Shahrabani
3614015d18 Translated using Weblate (Hebrew)
Currently translated at 99.6% (474 of 476 strings)
2019-09-07 03:24:32 +02:00
Ákos Surányi
a8bffc013f Translated using Weblate (Hungarian)
Currently translated at 68.7% (327 of 476 strings)
2019-09-07 03:24:32 +02:00
Toldi Balázs
4cdac0dbe1 Translated using Weblate (Hungarian)
Currently translated at 68.7% (327 of 476 strings)
2019-09-07 03:24:32 +02:00
Zsolt Jurecska
74c91db35e Translated using Weblate (Hungarian)
Currently translated at 68.7% (327 of 476 strings)
2019-09-07 03:24:31 +02:00
ssantos
d06cdb5ee8 Translated using Weblate (Portuguese)
Currently translated at 100.0% (476 of 476 strings)
2019-09-07 03:24:31 +02:00
yunna
cbb0d712dd Translated using Weblate (Japanese)
Currently translated at 100.0% (476 of 476 strings)
2019-09-07 03:24:30 +02:00
naofum
465a61d599 Translated using Weblate (Japanese)
Currently translated at 100.0% (476 of 476 strings)
2019-09-07 03:24:29 +02:00
Enol P
03d8990985 Translated using Weblate (Asturian)
Currently translated at 37.8% (180 of 476 strings)
2019-09-07 03:24:29 +02:00
Licaon Kter
00f4db17bd Translated using Weblate (Romanian)
Currently translated at 80.5% (383 of 476 strings)
2019-09-07 03:24:22 +02:00
Igor Nedoboy
e4d9100196 Translated using Weblate (Russian)
Currently translated at 100.0% (476 of 476 strings)
2019-09-07 03:24:22 +02:00
Éfrit
09e2381475 Translated using Weblate (English)
Currently translated at 99.8% (475 of 476 strings)
2019-09-07 03:24:22 +02:00
doodosod
af51aa81f1 Translated using Weblate (German)
Currently translated at 100.0% (476 of 476 strings)
2019-09-07 03:24:21 +02:00
João Paulo Pulga
bf6fd18de8 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (476 of 476 strings)
2019-09-07 03:24:19 +02:00
Archi
effa07ecc2 Translated using Weblate (Turkish)
Currently translated at 99.6% (474 of 476 strings)
2019-09-07 03:24:18 +02:00
Tobias Groza
cbf9ec0901 Merge branch 'dev' into remove-dead-code 2019-09-04 22:59:18 +02:00
Tobias Groza
ede18ded40 Merge pull request #2591 from kapodamy/allow-pick-hidden-folders
show hidden directories in the file picker
2019-09-04 22:56:05 +02:00
dimqua
6d14ecc60a Translated using Weblate (Russian)
Currently translated at 100.0% (476 of 476 strings)
2019-09-02 19:39:06 +02:00
Igor Nedoboy
c2d7ac0c25 Translated using Weblate (Russian)
Currently translated at 100.0% (476 of 476 strings)
2019-09-02 19:39:06 +02:00
Andrey mm
9f2216fdc5 Translated using Weblate (Russian)
Currently translated at 100.0% (476 of 476 strings)
2019-09-02 19:36:10 +02:00
Igor Nedoboy
7ed0fe05f3 Translated using Weblate (Russian)
Currently translated at 100.0% (476 of 476 strings)
2019-09-02 19:36:02 +02:00
Igor Nedoboy
c4fe21e87f Translated using Weblate (Russian)
Currently translated at 100.0% (476 of 476 strings)
2019-09-02 13:38:44 +02:00
Igor Nedoboy
74d2ccfb43 Translated using Weblate (Russian)
Currently translated at 100.0% (476 of 476 strings)
2019-09-02 13:33:29 +02:00
Igor Nedoboy
ea685057e0 Translated using Weblate (Russian)
Currently translated at 100.0% (476 of 476 strings)
2019-09-02 13:21:31 +02:00
Igor Nedoboy
3f150832ac Translated using Weblate (Russian)
Currently translated at 100.0% (476 of 476 strings)
2019-09-02 00:34:08 +02:00
Igor Nedoboy
c0bce9cf97 Translated using Weblate (Russian)
Currently translated at 100.0% (476 of 476 strings)
2019-09-02 00:23:24 +02:00
kapodamy
a446313119 add warning after toggle the SAF option 2019-09-01 18:53:12 -03:00
Igor Nedoboy
0e8e713436 Translated using Weblate (Russian)
Currently translated at 100.0% (476 of 476 strings)
2019-09-01 23:43:36 +02:00
kapodamy
1a643126de Changes for Android 9 (Pie)
* validate the stored file before start the mission
* add warning on StoredFileHelper.java
* simplify the communication between MissionAdapter and DownloadManagerService.java since shares the same looper
* simplify setVisible() "start/pause all downloads" buttons logic
2019-09-01 18:37:06 -03:00
kapodamy
6fa72e4a52 add @NotNull 2019-09-01 18:07:14 -03:00
kapodamy
7f127ba52a show hidden directories in the file picker 2019-09-01 17:35:42 -03:00
Simounet
f94182e8ba Translated using Weblate (French)
Currently translated at 99.8% (475 of 476 strings)
2019-08-31 02:31:27 +02:00
Éfrit
b607ab72cd Translated using Weblate (French)
Currently translated at 99.8% (475 of 476 strings)
2019-08-31 02:31:27 +02:00
Hosted Weblate
5b84b37ded Merge branch 'origin/dev' into Weblate. 2019-08-29 21:24:08 +02:00
Allan Nordhøy
089c5874c9 Translated using Weblate (Norwegian Bokmål)
Currently translated at 96.6% (457 of 473 strings)
2019-08-29 21:24:05 +02:00
Mubashir Rehman
f66ab2e008 Translated using Weblate (Urdu)
Currently translated at 5.1% (24 of 473 strings)
2019-08-29 21:24:05 +02:00
Marian Hanzel
dc7e17085d Translated using Weblate (Slovak)
Currently translated at 86.9% (411 of 473 strings)
2019-08-29 21:24:04 +02:00
Arnaud Jacquemin
dc4dd53771 Translated using Weblate (French)
Currently translated at 99.8% (472 of 473 strings)
2019-08-29 21:24:03 +02:00
thami simo
8193b86202 Translated using Weblate (Arabic)
Currently translated at 100.0% (473 of 473 strings)
2019-08-29 21:24:02 +02:00
random r
6616c33d2a Translated using Weblate (Italian)
Currently translated at 100.0% (473 of 473 strings)
2019-08-29 21:24:00 +02:00
WaldiS
ec6eab8a49 Translated using Weblate (Polish)
Currently translated at 100.0% (473 of 473 strings)
2019-08-29 21:24:00 +02:00
Wojtek
bd1169a8c7 Translated using Weblate (Polish)
Currently translated at 100.0% (473 of 473 strings)
2019-08-29 21:23:59 +02:00
Czech Translator
e3e60facf9 Translated using Weblate (Czech)
Currently translated at 98.9% (468 of 473 strings)
2019-08-29 21:23:58 +02:00
naofum
fc0fa3c519 Translated using Weblate (Japanese)
Currently translated at 100.0% (473 of 473 strings)
2019-08-29 21:23:56 +02:00
Enol P
acffbe1385 Translated using Weblate (Asturian)
Currently translated at 27.3% (129 of 473 strings)
2019-08-29 21:23:56 +02:00
Юрий Иванович Шмаровский
cd31384885 Translated using Weblate (Belarusian)
Currently translated at 100.0% (473 of 473 strings)
2019-08-29 21:23:44 +02:00
Igor Nedoboy
9522ec43c7 Translated using Weblate (Russian)
Currently translated at 100.0% (473 of 473 strings)
2019-08-29 21:23:33 +02:00
TobiGr
83169fbf6d Translated using Weblate (German)
Currently translated at 99.4% (470 of 473 strings)
2019-08-29 21:23:32 +02:00
leela
9c7629ea47 Translated using Weblate (Telugu)
Currently translated at 26.8% (127 of 473 strings)
2019-08-29 21:23:31 +02:00
Tobias Groza
85d1888ba7 Merge pull request #2550 from TeamNewPipe/clear_playback_states
Clear playback states
2019-08-28 21:07:26 +02:00
Hosted Weblate
9e7e8ed7a6 Merge branch 'origin/dev' into Weblate. 2019-08-23 10:05:48 +02:00
ssantos
cbe7967310 Translated using Weblate (Portuguese)
Currently translated at 100.0% (473 of 473 strings)
2019-08-23 10:05:47 +02:00
Igor Sorocean
9e1f56c0c1 Translated using Weblate (Romanian)
Currently translated at 80.3% (380 of 473 strings)
2019-08-23 10:05:47 +02:00
Daniele Lira Mereb
3604971111 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (473 of 473 strings)
2019-08-23 10:05:44 +02:00
Igor Nedoboy
c43ac4f787 Translated using Weblate (Russian)
Currently translated at 100.0% (473 of 473 strings)
2019-08-23 10:05:34 +02:00
TobiGr
2a15f5fb51 Make export_data and import_data settings keys untranslatable 2019-08-22 21:51:59 +02:00
TobiGr
7cd5af5e72 Add option in history settings to delete playback positions 2019-08-22 21:49:33 +02:00
TobiGr
cbdfb15117 Merge remote-tracking branch 'newpipe/master' into dev 2019-08-22 21:46:42 +02:00
Marc Riera
10ccd4767a Translated using Weblate (Catalan)
Currently translated at 95.8% (453 of 473 strings)
2019-08-22 16:23:26 +02:00
Hosted Weblate
7eb0e9db49 Merge branch 'origin/dev' into Weblate. 2019-08-21 15:23:50 +02:00
thami simo
4f160ee943 Translated using Weblate (Arabic)
Currently translated at 100.0% (473 of 473 strings)
2019-08-21 15:23:48 +02:00
Claudio Maradonna
aad1c610a6 Translated using Weblate (Italian)
Currently translated at 99.4% (470 of 473 strings)
2019-08-21 15:23:47 +02:00
Yaron Shahrabani
305d14c16b Translated using Weblate (Hebrew)
Currently translated at 100.0% (473 of 473 strings)
2019-08-21 15:23:45 +02:00
gamerboy
6ca9fb2440 Translated using Weblate (Punjabi)
Currently translated at 100.0% (473 of 473 strings)
2019-08-21 15:23:44 +02:00
Seila Oxe
8581d33574 Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.2% (469 of 473 strings)
2019-08-21 15:23:43 +02:00
Eduardo Caron
fab1c7e986 Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.2% (469 of 473 strings)
2019-08-21 15:23:37 +02:00
jimbo1qaz
8036c831a5 Add missing dependencies inherited from NewPipeExtractor into NewPipe
- NewPipe uses nanojson and jsoup, despite not declaring them.
- NewPipe depends on NewPipeExtractor, which depends on nanojson and jsoup.
- Gradle lets NewPipe use nanojson and jsoup, but this breaks when I use:

includeBuild('../NewPipeExtractor') {
    dependencySubstitution {
        substitute module('com.github.TeamNewPipe:NewPipeExtractor') with project(':extractor')
    }
}
2019-08-17 23:27:04 -07:00
jimbo1qaz
942e042933 remove dead code 2019-08-17 23:21:06 -07:00
Andrew
89f2cd6ec0 Merge branch 'dev' into patch-1 2019-08-14 17:39:57 +01:00
Andrew
f947856a61 Revert last commit 2019-08-08 01:13:34 +00:00
Andrew
c4967532e4 Use commit from extractor pr 2019-08-08 01:07:51 +00:00
Andrew
7dc560e1f2 Merge branch 'dev' into patch-1 2019-08-08 00:29:16 +00:00
Andrew
ab03198ba6 Add debugging domain for main instance 2019-08-08 00:22:40 +00:00
Andrew
6a8e38476f Add all (HTTP(S)) Invidious instances
Public Invidious instances from https://github.com/omarroth/invidious/wiki/invidious-instances have been added to the AndroidManifest.xml to allow opening of the public Invidious (not just `invidio.us`) links in NewPipe.
2019-08-02 18:26:13 +00:00
272 changed files with 3149 additions and 2646 deletions

1
.gitignore vendored
View File

@@ -7,7 +7,6 @@
/app/app.iml
/.idea
/*.iml
gradle.properties
*~
.weblate
*.class

View File

@@ -8,10 +8,10 @@ android {
applicationId "org.schabi.newpipe"
minSdkVersion 19
targetSdkVersion 28
versionCode 760
versionName "0.17.1"
versionCode 790
versionName "0.17.4"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
}
@@ -43,38 +43,40 @@ android {
}
ext {
supportLibVersion = '28.0.0'
exoPlayerLibVersion = '2.9.6'
roomDbLibVersion = '1.1.1'
androidxLibVersion = '1.0.0'
exoPlayerLibVersion = '2.10.6'
roomDbLibVersion = '2.1.0'
leakCanaryLibVersion = '1.5.4' //1.6.1
okHttpLibVersion = '3.12.1'
okHttpLibVersion = '3.12.6'
icepickLibVersion = '3.2.0'
stethoLibVersion = '1.5.0'
}
dependencies {
androidTestImplementation('com.android.support.test.espresso:espresso-core:3.0.2', {
androidTestImplementation('androidx.test.espresso:espresso-core:3.1.0', {
exclude module: 'support-annotations'
})
implementation 'com.github.teamnewpipe:NewPipeExtractor:cfc72d8dc9d'
implementation 'com.github.teamnewpipe:NewPipeExtractor:v0.17.4'
testImplementation 'junit:junit:4.12'
testImplementation 'org.mockito:mockito-core:2.23.0'
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 "com.android.support:cardview-v7:${supportLibVersion}"
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation "androidx.legacy:legacy-support-v4:${androidxLibVersion}"
implementation "com.google.android.material:material:${androidxLibVersion}"
implementation "androidx.recyclerview:recyclerview:${androidxLibVersion}"
implementation "androidx.legacy:legacy-preference-v14:${androidxLibVersion}"
implementation "androidx.cardview:cardview:${androidxLibVersion}"
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
// Originally in NewPipeExtractor
implementation 'com.grack:nanojson:1.1'
implementation 'org.jsoup:jsoup:1.9.2'
implementation 'ch.acra:acra:4.9.2' //4.11
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}"
@@ -82,15 +84,15 @@ dependencies {
debugImplementation "com.facebook.stetho:stetho:${stethoLibVersion}"
debugImplementation "com.facebook.stetho:stetho-urlconnection:${stethoLibVersion}"
debugImplementation 'com.android.support:multidex:1.0.3'
debugImplementation 'androidx.multidex:multidex:2.0.1'
implementation 'io.reactivex.rxjava2:rxjava:2.2.2'
implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'
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 "androidx.room:room-runtime:${roomDbLibVersion}"
implementation "androidx.room:room-rxjava2:${roomDbLibVersion}"
annotationProcessor "androidx.room:room-compiler:${roomDbLibVersion}"
implementation "frankiesardo:icepick:${icepickLibVersion}"
annotationProcessor "frankiesardo:icepick-processor:${icepickLibVersion}"

View File

@@ -1,8 +1,8 @@
package org.schabi.newpipe.report;
import android.os.Parcel;
import android.support.test.filters.LargeTest;
import android.support.test.runner.AndroidJUnit4;
import androidx.test.filters.LargeTest;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import org.junit.Test;
import org.junit.runner.RunWith;

View File

@@ -3,8 +3,8 @@ 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 androidx.annotation.NonNull;
import androidx.multidex.MultiDex;
import com.facebook.stetho.Stetho;
import com.facebook.stetho.okhttp3.StethoInterceptor;

View File

@@ -29,7 +29,7 @@
</intent-filter>
</activity>
<receiver android:name="android.support.v4.media.session.MediaButtonReceiver" >
<receiver android:name="androidx.media.session.MediaButtonReceiver" >
<intent-filter>
<action android:name="android.intent.action.MEDIA_BUTTON" />
</intent-filter>
@@ -115,7 +115,7 @@
android:label="@string/reCaptchaActivity"/>
<provider
android:name="android.support.v4.content.FileProvider"
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.provider"
android:exported="false"
android:grantUriPermissions="true">
@@ -228,7 +228,20 @@
<data android:scheme="http"/>
<data android:scheme="https"/>
<data android:host="invidio.us"/>
<data android:host="dev.invidio.us"/>
<data android:host="www.invidio.us"/>
<data android:host="invidious.snopyta.org"/>
<data android:host="de.invidious.snopyta.org"/>
<data android:host="fi.invidious.snopyta.org"/>
<data android:host="vid.wxzm.sx"/>
<data android:host="invidious.kabi.tk"/>
<data android:host="invidiou.sh"/>
<data android:host="www.invidiou.sh"/>
<data android:host="no.invidiou.sh"/>
<data android:host="invidious.enkirton.net"/>
<data android:host="tube.poal.co"/>
<data android:host="invidious.13ad.de"/>
<data android:host="yt.elukerio.org"/>
<!-- video prefix -->
<data android:pathPrefix="/embed/"/>
<data android:pathPrefix="/watch"/>

View File

@@ -1,116 +0,0 @@
package android.support.design.widget;
import android.animation.ValueAnimator;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.design.animation.AnimationUtils;
import android.util.AttributeSet;
import android.view.View;
// check this https://github.com/ToDou/appbarlayout-spring-behavior/blob/master/appbarspring/src/main/java/android/support/design/widget/AppBarFlingFixBehavior.java
public final class FlingBehavior extends AppBarLayout.Behavior {
private ValueAnimator mOffsetAnimator;
private static final int MAX_OFFSET_ANIMATION_DURATION = 600; // ms
public FlingBehavior() {
}
public FlingBehavior(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public void onNestedPreScroll(CoordinatorLayout coordinatorLayout, AppBarLayout child, View target, int dx, int dy, int[] consumed, int type) {
if (dy != 0) {
int val = child.getBottom();
if (val != 0) {
int min, max;
if (dy < 0) {
// We're scrolling down
} else {
// We're scrolling up
if (mOffsetAnimator != null && mOffsetAnimator.isRunning()) {
mOffsetAnimator.cancel();
}
min = -child.getUpNestedPreScrollRange();
max = 0;
consumed[1] = scroll(coordinatorLayout, child, dy, min, max);
}
}
}
}
@Override
public boolean onNestedPreFling(@NonNull CoordinatorLayout coordinatorLayout, @NonNull AppBarLayout child, @NonNull View target, float velocityX, float velocityY) {
if (velocityY != 0) {
if (velocityY < 0) {
// We're flinging down
int val = child.getBottom();
if (val != 0) {
final int targetScroll =
+child.getDownNestedPreScrollRange();
animateOffsetTo(coordinatorLayout, child, targetScroll, velocityY);
}
} else {
// We're flinging up
int val = child.getBottom();
if (val != 0) {
final int targetScroll = -child.getUpNestedPreScrollRange();
if (getTopBottomOffsetForScrollingSibling() > targetScroll) {
animateOffsetTo(coordinatorLayout, child, targetScroll, velocityY);
}
}
}
}
return super.onNestedPreFling(coordinatorLayout, child, target, velocityX, velocityY);
}
private void animateOffsetTo(final CoordinatorLayout coordinatorLayout,
final AppBarLayout child, final int offset, float velocity) {
final int distance = Math.abs(getTopBottomOffsetForScrollingSibling() - offset);
final int duration;
velocity = Math.abs(velocity);
if (velocity > 0) {
duration = 3 * Math.round(1000 * (distance / velocity));
} else {
final float distanceRatio = (float) distance / child.getHeight();
duration = (int) ((distanceRatio + 1) * 150);
}
animateOffsetWithDuration(coordinatorLayout, child, offset, duration);
}
private void animateOffsetWithDuration(final CoordinatorLayout coordinatorLayout,
final AppBarLayout child, final int offset, final int duration) {
final int currentOffset = getTopBottomOffsetForScrollingSibling();
if (currentOffset == offset) {
if (mOffsetAnimator != null && mOffsetAnimator.isRunning()) {
mOffsetAnimator.cancel();
}
return;
}
if (mOffsetAnimator == null) {
mOffsetAnimator = new ValueAnimator();
mOffsetAnimator.setInterpolator(AnimationUtils.DECELERATE_INTERPOLATOR);
mOffsetAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animator) {
setHeaderTopBottomOffset(coordinatorLayout, child,
(Integer) animator.getAnimatedValue());
}
});
} else {
mOffsetAnimator.cancel();
}
mOffsetAnimator.setDuration(Math.min(duration, MAX_OFFSET_ANIMATION_DURATION));
mOffsetAnimator.setIntValues(currentOffset, offset);
mOffsetAnimator.start();
}
}

View File

@@ -0,0 +1,82 @@
package com.google.android.material.appbar;
import android.content.Context;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.widget.OverScroller;
import androidx.annotation.Nullable;
import androidx.coordinatorlayout.widget.CoordinatorLayout;
import java.lang.reflect.Field;
// check this https://stackoverflow.com/questions/56849221/recyclerview-fling-causes-laggy-while-appbarlayout-is-scrolling/57997489#57997489
public final class FlingBehavior extends AppBarLayout.Behavior {
public FlingBehavior(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onInterceptTouchEvent(CoordinatorLayout parent, AppBarLayout child, MotionEvent ev) {
switch (ev.getActionMasked()) {
case MotionEvent.ACTION_DOWN:
// remove reference to old nested scrolling child
resetNestedScrollingChild();
// Stop fling when your finger touches the screen
stopAppBarLayoutFling();
break;
default:
break;
}
return super.onInterceptTouchEvent(parent, child, ev);
}
@Nullable
private OverScroller getScrollerField() {
try {
Class<?> headerBehaviorType = this.getClass().getSuperclass().getSuperclass().getSuperclass();
if (headerBehaviorType != null) {
Field field = headerBehaviorType.getDeclaredField("scroller");
field.setAccessible(true);
return ((OverScroller) field.get(this));
}
} catch (NoSuchFieldException | IllegalAccessException e) {
// ?
}
return null;
}
@Nullable
private Field getLastNestedScrollingChildRefField() {
try {
Class<?> headerBehaviorType = this.getClass().getSuperclass().getSuperclass();
if (headerBehaviorType != null) {
Field field = headerBehaviorType.getDeclaredField("lastNestedScrollingChildRef");
field.setAccessible(true);
return field;
}
} catch (NoSuchFieldException e) {
// ?
}
return null;
}
private void resetNestedScrollingChild(){
Field field = getLastNestedScrollingChildRefField();
if(field != null){
try {
Object value = field.get(this);
if(value != null) field.set(this, null);
} catch (IllegalAccessException e) {
// ?
}
}
}
private void stopAppBarLayoutFling() {
OverScroller scroller = getScrollerField();
if (scroller != null) scroller.forceFinished(true);
}
}

View File

@@ -6,8 +6,8 @@ import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.content.Context;
import android.os.Build;
import android.preference.PreferenceManager;
import android.support.annotation.Nullable;
import androidx.annotation.Nullable;
import android.util.Log;
import com.nostra13.universalimageloader.cache.memory.impl.LRULimitedMemoryCache;
@@ -23,7 +23,6 @@ import org.acra.config.ConfigurationBuilder;
import org.acra.sender.ReportSenderFactory;
import org.schabi.newpipe.extractor.Downloader;
import org.schabi.newpipe.extractor.NewPipe;
import org.schabi.newpipe.extractor.utils.Localization;
import org.schabi.newpipe.report.AcraReportSenderFactory;
import org.schabi.newpipe.report.ErrorActivity;
import org.schabi.newpipe.report.UserAction;

View File

@@ -2,10 +2,10 @@ 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.v4.app.FragmentManager;
import android.support.v7.app.AppCompatActivity;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.appcompat.app.AppCompatActivity;
import android.util.Log;
import android.view.View;

View File

@@ -12,8 +12,8 @@ import android.net.ConnectivityManager;
import android.net.Uri;
import android.os.AsyncTask;
import android.preference.PreferenceManager;
import android.support.v4.app.NotificationCompat;
import android.support.v4.app.NotificationManagerCompat;
import androidx.core.app.NotificationCompat;
import androidx.core.app.NotificationManagerCompat;
import android.util.Log;
import org.json.JSONException;
@@ -21,13 +21,9 @@ import org.json.JSONObject;
import org.schabi.newpipe.report.ErrorActivity;
import org.schabi.newpipe.report.UserAction;
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.cert.CertificateEncodingException;
@@ -38,7 +34,6 @@ import java.util.concurrent.TimeUnit;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
/**

View File

@@ -1,6 +1,6 @@
package org.schabi.newpipe;
import android.support.annotation.Nullable;
import androidx.annotation.Nullable;
import android.text.TextUtils;
import org.schabi.newpipe.extractor.DownloadRequest;
@@ -10,7 +10,6 @@ import org.schabi.newpipe.extractor.utils.Localization;
import java.io.IOException;
import java.io.InputStream;
import java.io.Serializable;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
@@ -222,7 +221,7 @@ public class Downloader implements org.schabi.newpipe.extractor.Downloader {
return null;
}
return new DownloadResponse(body.string(), response.headers().toMultimap());
return new DownloadResponse(response.code(), body.string(), response.headers().toMultimap());
}
@Override
@@ -242,7 +241,7 @@ public class Downloader implements org.schabi.newpipe.extractor.Downloader {
String contentType = requestHeaders.get("Content-Type").get(0);
RequestBody okRequestBody = null;
if(null != request.getRequestBody()){
if (null != request.getRequestBody()) {
okRequestBody = RequestBody.create(MediaType.parse(contentType), request.getRequestBody());
}
final Request.Builder requestBuilder = new Request.Builder()
@@ -276,6 +275,22 @@ public class Downloader implements org.schabi.newpipe.extractor.Downloader {
return null;
}
return new DownloadResponse(body.string(), response.headers().toMultimap());
return new DownloadResponse(response.code(), body.string(), response.headers().toMultimap());
}
@Override
public DownloadResponse head(String siteUrl) throws IOException, ReCaptchaException {
final Request request = new Request.Builder()
.head().url(siteUrl)
.addHeader("User-Agent", USER_AGENT)
.build();
final Response response = client.newCall(request).execute();
if (response.code() == 429) {
throw new ReCaptchaException("reCaptcha Challenge requested", siteUrl);
}
return new DownloadResponse(response.code(), null, response.headers().toMultimap());
}
}

View File

@@ -28,17 +28,7 @@ import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.preference.PreferenceManager;
import android.support.annotation.NonNull;
import android.support.design.widget.NavigationView;
import android.support.v4.app.Fragment;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.util.Log;
import android.view.Gravity;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
@@ -49,6 +39,17 @@ import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.ActionBarDrawerToggle;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import androidx.core.view.GravityCompat;
import androidx.drawerlayout.widget.DrawerLayout;
import androidx.fragment.app.Fragment;
import com.google.android.material.navigation.NavigationView;
import org.schabi.newpipe.extractor.NewPipe;
import org.schabi.newpipe.extractor.StreamingService;
import org.schabi.newpipe.extractor.exceptions.ExtractionException;
@@ -73,6 +74,7 @@ public class MainActivity extends AppCompatActivity {
private DrawerLayout drawer = null;
private NavigationView drawerItems = null;
private TextView headerServiceView = null;
private Button toggleServiceButton = null;
private boolean servicesShown = false;
private ImageView serviceArrow;
@@ -266,8 +268,8 @@ public class MainActivity extends AppCompatActivity {
serviceArrow = hView.findViewById(R.id.drawer_arrow);
headerServiceView = hView.findViewById(R.id.drawer_header_service_view);
Button action = hView.findViewById(R.id.drawer_header_action_button);
action.setOnClickListener(view -> {
toggleServiceButton = hView.findViewById(R.id.drawer_header_action_button);
toggleServiceButton.setOnClickListener(view -> {
toggleServices();
});
}
@@ -279,6 +281,7 @@ public class MainActivity extends AppCompatActivity {
drawerItems.getMenu().removeGroup(R.id.menu_tabs_group);
drawerItems.getMenu().removeGroup(R.id.menu_options_about_group);
if(servicesShown) {
showServices();
} else {
@@ -359,11 +362,13 @@ public class MainActivity extends AppCompatActivity {
// close drawer on return, and don't show animation, so its looks like the drawer isn't open
// when the user returns to MainActivity
drawer.closeDrawer(Gravity.START, false);
drawer.closeDrawer(GravityCompat.START, false);
try {
String selectedServiceName = NewPipe.getService(
ServiceHelper.getSelectedServiceId(this)).getServiceInfo().getName();
headerServiceView.setText(selectedServiceName);
toggleServiceButton.setContentDescription(
getString(R.string.drawer_header_description) + selectedServiceName);
} catch (Exception e) {
ErrorActivity.reportUiError(this, e);
}
@@ -557,6 +562,14 @@ public class MainActivity extends AppCompatActivity {
}
}
private void updateDrawerHeaderString(String content) {
NavigationView navigationView = findViewById(R.id.navigation);
View hView = navigationView.getHeaderView(0);
Button action = hView.findViewById(R.id.drawer_header_action_button);
action.setContentDescription(content);
}
private void handleIntent(Intent intent) {
try {
if (DEBUG) Log.d(TAG, "handleIntent() called with: intent = [" + intent + "]");

View File

@@ -1,8 +1,8 @@
package org.schabi.newpipe;
import android.arch.persistence.room.Room;
import androidx.room.Room;
import android.content.Context;
import android.support.annotation.NonNull;
import androidx.annotation.NonNull;
import org.schabi.newpipe.database.AppDatabase;

View File

@@ -5,13 +5,12 @@ import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Build;
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 androidx.core.app.NavUtils;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import android.view.MenuItem;
import android.webkit.CookieManager;
import android.webkit.ValueCallback;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

View File

@@ -9,12 +9,12 @@ import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.support.annotation.DrawableRes;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.NotificationCompat;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import androidx.annotation.DrawableRes;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.app.NotificationCompat;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import android.text.TextUtils;
import android.view.ContextThemeWrapper;
import android.view.LayoutInflater;
@@ -26,6 +26,8 @@ import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;
import androidx.fragment.app.FragmentManager;
import org.schabi.newpipe.download.DownloadDialog;
import org.schabi.newpipe.extractor.Info;
import org.schabi.newpipe.extractor.NewPipe;
@@ -433,7 +435,7 @@ public class RouterActivity extends AppCompatActivity {
int selectedVideoStreamIndex = ListHelper.getDefaultResolutionIndex(this,
sortedVideoStreams);
android.support.v4.app.FragmentManager fm = getSupportFragmentManager();
FragmentManager fm = getSupportFragmentManager();
DownloadDialog downloadDialog = DownloadDialog.newInstance(result);
downloadDialog.setVideoStreams(sortedVideoStreams);
downloadDialog.setAudioStreams(result.getAudioStreams());

View File

@@ -4,13 +4,15 @@ import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import com.google.android.material.tabs.TabLayout;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentPagerAdapter;
import androidx.fragment.app.FragmentStatePagerAdapter;
import androidx.viewpager.widget.PagerAdapter;
import androidx.viewpager.widget.ViewPager;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
@@ -36,7 +38,6 @@ public class AboutActivity extends AppCompatActivity {
new SoftwareComponent("ACRA", "2013", "Kevin Gaudin", "http://www.acra.ch", StandardLicenses.APACHE2),
new SoftwareComponent("Universal Image Loader", "2011 - 2015", "Sergey Tarasevich", "https://github.com/nostra13/Android-Universal-Image-Loader", StandardLicenses.APACHE2),
new SoftwareComponent("CircleImageView", "2014 - 2017", "Henning Dodenhof", "https://github.com/hdodenhof/CircleImageView", StandardLicenses.APACHE2),
new SoftwareComponent("ParalaxScrollView", "2014", "Nir Hartmann", "https://github.com/nirhart/ParallaxScroll", StandardLicenses.MIT),
new SoftwareComponent("NoNonsense-FilePicker", "2016", "Jonas Kalderstam", "https://github.com/spacecowboy/NoNonsense-FilePicker", StandardLicenses.MPL2),
new SoftwareComponent("ExoPlayer", "2014-2017", "Google Inc", "https://github.com/google/ExoPlayer", StandardLicenses.APACHE2),
new SoftwareComponent("RxAndroid", "2015", "The RxAndroid authors", "https://github.com/ReactiveX/RxAndroid", StandardLicenses.APACHE2),
@@ -45,12 +46,12 @@ public class AboutActivity extends AppCompatActivity {
};
/**
* The {@link android.support.v4.view.PagerAdapter} that will provide
* The {@link PagerAdapter} that will provide
* fragments for each of the sections. We use a
* {@link FragmentPagerAdapter} derivative, which will keep every
* loaded fragment in memory. If this becomes too memory intensive, it
* may be best to switch to a
* {@link android.support.v4.app.FragmentStatePagerAdapter}.
* {@link FragmentStatePagerAdapter}.
*/
private SectionsPagerAdapter mSectionsPagerAdapter;

View File

@@ -5,8 +5,8 @@ import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import android.view.*;
import android.widget.TextView;
import org.schabi.newpipe.R;

View File

@@ -4,8 +4,8 @@ import android.app.Activity;
import android.content.Context;
import android.content.DialogInterface;
import android.os.AsyncTask;
import android.support.annotation.Nullable;
import android.support.v7.app.AlertDialog;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import android.webkit.WebView;
import org.schabi.newpipe.R;
import org.schabi.newpipe.util.ThemeHelper;

View File

@@ -1,8 +1,8 @@
package org.schabi.newpipe.database;
import android.arch.persistence.room.Database;
import android.arch.persistence.room.RoomDatabase;
import android.arch.persistence.room.TypeConverters;
import androidx.room.Database;
import androidx.room.RoomDatabase;
import androidx.room.TypeConverters;
import org.schabi.newpipe.database.history.dao.SearchHistoryDAO;
import org.schabi.newpipe.database.history.dao.StreamHistoryDAO;

View File

@@ -1,10 +1,10 @@
package org.schabi.newpipe.database;
import android.arch.persistence.room.Dao;
import android.arch.persistence.room.Delete;
import android.arch.persistence.room.Insert;
import android.arch.persistence.room.OnConflictStrategy;
import android.arch.persistence.room.Update;
import androidx.room.Dao;
import androidx.room.Delete;
import androidx.room.Insert;
import androidx.room.OnConflictStrategy;
import androidx.room.Update;
import java.util.Collection;
import java.util.List;

View File

@@ -1,6 +1,6 @@
package org.schabi.newpipe.database;
import android.arch.persistence.room.TypeConverter;
import androidx.room.TypeConverter;
import org.schabi.newpipe.extractor.stream.StreamType;

View File

@@ -1,8 +1,8 @@
package org.schabi.newpipe.database;
import android.arch.persistence.db.SupportSQLiteDatabase;
import android.arch.persistence.room.migration.Migration;
import android.support.annotation.NonNull;
import androidx.sqlite.db.SupportSQLiteDatabase;
import androidx.room.migration.Migration;
import androidx.annotation.NonNull;
import android.util.Log;
import org.schabi.newpipe.BuildConfig;

View File

@@ -1,8 +1,8 @@
package org.schabi.newpipe.database.history.dao;
import android.arch.persistence.room.Dao;
import android.arch.persistence.room.Query;
import android.support.annotation.Nullable;
import androidx.room.Dao;
import androidx.room.Query;
import androidx.annotation.Nullable;
import org.schabi.newpipe.database.history.model.SearchHistoryEntry;

View File

@@ -1,9 +1,9 @@
package org.schabi.newpipe.database.history.dao;
import android.arch.persistence.room.Dao;
import android.arch.persistence.room.Query;
import android.support.annotation.Nullable;
import androidx.room.Dao;
import androidx.room.Query;
import androidx.annotation.Nullable;
import org.schabi.newpipe.database.history.model.StreamHistoryEntry;
import org.schabi.newpipe.database.stream.StreamStatisticsEntry;

View File

@@ -1,10 +1,10 @@
package org.schabi.newpipe.database.history.model;
import android.arch.persistence.room.ColumnInfo;
import android.arch.persistence.room.Entity;
import android.arch.persistence.room.Ignore;
import android.arch.persistence.room.Index;
import android.arch.persistence.room.PrimaryKey;
import androidx.room.ColumnInfo;
import androidx.room.Entity;
import androidx.room.Ignore;
import androidx.room.Index;
import androidx.room.PrimaryKey;
import java.util.Date;

View File

@@ -1,17 +1,17 @@
package org.schabi.newpipe.database.history.model;
import android.arch.persistence.room.ColumnInfo;
import android.arch.persistence.room.Entity;
import android.arch.persistence.room.ForeignKey;
import android.arch.persistence.room.Ignore;
import android.arch.persistence.room.Index;
import android.support.annotation.NonNull;
import androidx.room.ColumnInfo;
import androidx.room.Entity;
import androidx.room.ForeignKey;
import androidx.room.Ignore;
import androidx.room.Index;
import androidx.annotation.NonNull;
import org.schabi.newpipe.database.stream.model.StreamEntity;
import java.util.Date;
import static android.arch.persistence.room.ForeignKey.CASCADE;
import static androidx.room.ForeignKey.CASCADE;
import static org.schabi.newpipe.database.history.model.StreamHistoryEntity.STREAM_HISTORY_TABLE;
import static org.schabi.newpipe.database.history.model.StreamHistoryEntity.JOIN_STREAM_ID;
import static org.schabi.newpipe.database.history.model.StreamHistoryEntity.STREAM_ACCESS_DATE;

View File

@@ -1,6 +1,6 @@
package org.schabi.newpipe.database.history.model;
import android.arch.persistence.room.ColumnInfo;
import androidx.room.ColumnInfo;
import org.schabi.newpipe.database.stream.model.StreamEntity;
import org.schabi.newpipe.extractor.stream.StreamType;

View File

@@ -1,6 +1,6 @@
package org.schabi.newpipe.database.playlist;
import android.arch.persistence.room.ColumnInfo;
import androidx.room.ColumnInfo;
import static org.schabi.newpipe.database.playlist.model.PlaylistEntity.PLAYLIST_ID;
import static org.schabi.newpipe.database.playlist.model.PlaylistEntity.PLAYLIST_NAME;

View File

@@ -1,6 +1,6 @@
package org.schabi.newpipe.database.playlist;
import android.arch.persistence.room.ColumnInfo;
import androidx.room.ColumnInfo;
import org.schabi.newpipe.database.LocalItem;
import org.schabi.newpipe.database.playlist.model.PlaylistStreamEntity;

View File

@@ -1,7 +1,7 @@
package org.schabi.newpipe.database.playlist.dao;
import android.arch.persistence.room.Dao;
import android.arch.persistence.room.Query;
import androidx.room.Dao;
import androidx.room.Query;
import org.schabi.newpipe.database.BasicDAO;
import org.schabi.newpipe.database.playlist.model.PlaylistEntity;

View File

@@ -1,8 +1,8 @@
package org.schabi.newpipe.database.playlist.dao;
import android.arch.persistence.room.Dao;
import android.arch.persistence.room.Query;
import android.arch.persistence.room.Transaction;
import androidx.room.Dao;
import androidx.room.Query;
import androidx.room.Transaction;
import org.schabi.newpipe.database.BasicDAO;
import org.schabi.newpipe.database.playlist.model.PlaylistRemoteEntity;

View File

@@ -1,8 +1,8 @@
package org.schabi.newpipe.database.playlist.dao;
import android.arch.persistence.room.Dao;
import android.arch.persistence.room.Query;
import android.arch.persistence.room.Transaction;
import androidx.room.Dao;
import androidx.room.Query;
import androidx.room.Transaction;
import org.schabi.newpipe.database.BasicDAO;
import org.schabi.newpipe.database.playlist.PlaylistMetadataEntry;

Some files were not shown because too many files have changed in this diff Show More