1
mirror of https://github.com/TeamNewPipe/NewPipe synced 2025-09-19 23:40:51 +02:00

Compare commits

...

967 Commits

Author SHA1 Message Date
Tobias Groza
42ff60ce85 Merge pull request #2956 from TeamNewPipe/release_v0.18.1
Release v0.18.1
2020-01-19 09:54:05 +01:00
TobiGr
fd62411b35 Bump version to 0.18.1 and version code to 810 2020-01-18 00:09:40 +01:00
TobiGr
134850aa04 Add changelog for 0.18.1 2020-01-18 00:09:27 +01:00
TobiGr
0795135f2f Merge remote-tracking branch 'Weblate/dev' into dev 2020-01-18 00:01:55 +01:00
Tobias Groza
85eb1dc436 Merge pull request #2966 from B0pol/c_links_support
[YouTube] /c/ channel links support & update extractor version
2020-01-17 23:59:41 +01:00
B0pol
2f2b8784f9 update extractor version 2020-01-17 23:07:45 +01:00
bopol
181658e5a4 support for opening /c/ channel links 2020-01-17 22:59:51 +01:00
WaldiS
d949894511 Translated using Weblate (Polish)
Currently translated at 100.0% (527 of 527 strings)
2020-01-17 10:02:16 +01:00
Igor Nedoboy
235ead9222 Translated using Weblate (Russian)
Currently translated at 100.0% (527 of 527 strings)
2020-01-16 20:57:01 +01:00
nautilusx
3ee6788753 Translated using Weblate (German)
Currently translated at 100.0% (527 of 527 strings)
2020-01-16 14:15:09 +01:00
Deleted User
e3dfab5078 Translated using Weblate (Norwegian Bokmål)
Currently translated at 96.4% (508 of 527 strings)
2020-01-16 06:28:38 +01:00
Allan Nordhøy
5f232a059d Translated using Weblate (Norwegian Bokmål)
Currently translated at 96.4% (508 of 527 strings)
2020-01-16 06:28:38 +01:00
Loís B
1b708d261d Translated using Weblate (Occitan)
Currently translated at 18.8% (99 of 527 strings)
2020-01-15 20:36:11 +01:00
Yaron Shahrabani
3341742f66 Translated using Weblate (Hebrew)
Currently translated at 100.0% (527 of 527 strings)
2020-01-15 20:36:11 +01:00
Oğuz Ersen
b731c79339 Translated using Weblate (Turkish)
Currently translated at 100.0% (527 of 527 strings)
2020-01-15 20:36:10 +01:00
Igor Nedoboy
29b12c2f84 Translated using Weblate (Russian)
Currently translated at 100.0% (527 of 527 strings)
2020-01-15 20:36:09 +01:00
chr56
ba53f6611c Translated using Weblate (Chinese (Simplified))
Currently translated at 97.3% (513 of 527 strings)
2020-01-15 10:10:31 +01:00
Hosted Weblate
6eeed50418 Merge branch 'origin/dev' into Weblate. 2020-01-15 09:42:51 +01:00
Loís B
8caf9f87a1 Translated using Weblate (Occitan)
Currently translated at 17.9% (94 of 525 strings)
2020-01-15 09:42:49 +01:00
B0pol
2e6089088b Translated using Weblate (Urdu)
Currently translated at 95.0% (499 of 525 strings)
2020-01-15 09:42:46 +01:00
Matsuri
40eaa166ae Translated using Weblate (Chinese (Simplified))
Currently translated at 97.3% (511 of 525 strings)
2020-01-15 09:42:45 +01:00
B0pol
41e2e5f951 Translated using Weblate (Esperanto)
Currently translated at 100.0% (525 of 525 strings)
2020-01-15 09:42:44 +01:00
B0pol
ac3938d529 Translated using Weblate (French)
Currently translated at 100.0% (525 of 525 strings)
2020-01-15 09:42:43 +01:00
DodoLeDev
515ec4d66d Translated using Weblate (French)
Currently translated at 100.0% (525 of 525 strings)
2020-01-15 09:42:43 +01:00
Nehemias Feliz
5adc27ea2b Translated using Weblate (Spanish)
Currently translated at 100.0% (525 of 525 strings)
2020-01-15 09:42:42 +01:00
C. Rüdinger
ab089a5f93 Translated using Weblate (German)
Currently translated at 100.0% (525 of 525 strings)
2020-01-15 09:42:41 +01:00
TobiGr
9f47a274a8 Update extractor version
TeamNewPipe/NewPipeExtractor@bdbfa26835
2020-01-13 20:40:11 +01:00
TobiGr
1f8c0a9e5e Merge remote-tracking branch 'Weblate/dev' into dev 2020-01-13 20:33:24 +01:00
Tobias Groza
cef9ccd937 Merge pull request #2717 from kszczek/delete-finished-downloads
Add option to delete files when clearing finished downloads
2020-01-13 20:32:18 +01:00
TobiGr
3d93ecd6ec Use Integer value directly for formatted string
a
2020-01-13 20:25:32 +01:00
Loís B
36e38e50e9 Translated using Weblate (Occitan)
Currently translated at 10.1% (53 of 525 strings)
2020-01-13 15:49:01 +01:00
Software In Interlingua
1a8be2bbf5 Translated using Weblate (Interlingua)
Currently translated at 11.4% (60 of 525 strings)
2020-01-13 15:48:59 +01:00
Allan Nordhøy
92b1fa5743 Translated using Weblate (Norwegian Bokmål)
Currently translated at 96.2% (505 of 525 strings)
2020-01-13 15:48:58 +01:00
MohammedSR Vevo
335e5c05db Translated using Weblate (Kurdish)
Currently translated at 100.0% (525 of 525 strings)
2020-01-13 15:48:58 +01:00
Yaron Shahrabani
bfead79c07 Translated using Weblate (Hebrew)
Currently translated at 100.0% (525 of 525 strings)
2020-01-13 15:48:57 +01:00
Jeff Huang
bd8014bcbd Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (525 of 525 strings)
2020-01-13 15:48:57 +01:00
Matsuri
948d57d3d1 Translated using Weblate (Chinese (Simplified))
Currently translated at 97.3% (511 of 525 strings)
2020-01-13 15:48:56 +01:00
Daniele Lira Mereb
31b830d6d0 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (525 of 525 strings)
2020-01-13 15:48:56 +01:00
WaldiS
2038df976c Translated using Weblate (Polish)
Currently translated at 100.0% (525 of 525 strings)
2020-01-13 15:48:54 +01:00
Oğuz Ersen
46cc215120 Translated using Weblate (Turkish)
Currently translated at 100.0% (525 of 525 strings)
2020-01-13 15:48:53 +01:00
zmni
3afce82aa7 Translated using Weblate (Indonesian)
Currently translated at 99.6% (523 of 525 strings)
2020-01-13 15:48:52 +01:00
B0pol
88e5be237e Translated using Weblate (Esperanto)
Currently translated at 100.0% (525 of 525 strings)
2020-01-13 15:48:51 +01:00
Petros Grammatikopoulos
7c4b9d8843 Translated using Weblate (Greek)
Currently translated at 97.7% (513 of 525 strings)
2020-01-13 15:48:50 +01:00
Osoitz
b83e1716fe Translated using Weblate (Basque)
Currently translated at 99.4% (522 of 525 strings)
2020-01-13 15:48:49 +01:00
ssantos
c3e41e2427 Translated using Weblate (Portuguese)
Currently translated at 100.0% (525 of 525 strings)
2020-01-13 15:48:49 +01:00
B0pol
3f67b3b73c Translated using Weblate (French)
Currently translated at 100.0% (525 of 525 strings)
2020-01-13 15:48:48 +01:00
nautilusx
78c9e4e1ad Translated using Weblate (German)
Currently translated at 100.0% (525 of 525 strings)
2020-01-13 15:48:48 +01:00
C. Rüdinger
69c090b5a1 Translated using Weblate (German)
Currently translated at 100.0% (525 of 525 strings)
2020-01-13 15:48:47 +01:00
Kamil Szczęk
2c8222fd55 Style corrected 2020-01-11 15:19:24 +01:00
Kamil Szczęk
d071891b2a Add a snackbar to allow user to undo file deletion 2020-01-11 15:09:01 +01:00
Kamil Szczęk
986acc5fc5 Reorder buttons in clear downloads dialog 2020-01-11 15:09:01 +01:00
Kamil Szczęk
e4295fb3fa Use a dialog option instead of a checkbox 2020-01-11 15:09:01 +01:00
Kamil Szczęk
cfad3fb5de Fix inconsistent style 2020-01-11 15:09:01 +01:00
Kamil Szczęk
b18236a27e Put call to forget finished downloads in an else statement to prevent potential bugs 2020-01-11 15:09:01 +01:00
Kamil Szczęk
f6bbc69cf9 Remove unnecessary import 2020-01-11 15:09:01 +01:00
Kamil Szczęk
707e4f7167 Add option to remove downloaded files when clearing finished downloads 2020-01-11 15:09:01 +01:00
TobiGr
99cdaec40e Translated using Weblate (German)
Currently translated at 99.0% (520 of 525 strings)
2020-01-09 17:23:02 +01:00
Igor Nedoboy
bff5371e41 Translated using Weblate (Russian)
Currently translated at 100.0% (525 of 525 strings)
2020-01-09 02:51:05 +01:00
Hosted Weblate
a76398efd0 Merge branch 'origin/dev' into Weblate. 2020-01-08 20:51:08 +01:00
Allan Nordhøy
99bcd8d043 Translated using Weblate (Norwegian Bokmål)
Currently translated at 96.0% (501 of 522 strings)
2020-01-08 20:51:04 +01:00
Software In Interlingua
1602ecbaf9 Translated using Weblate (Interlingua)
Currently translated at 11.1% (58 of 522 strings)
2020-01-08 20:51:04 +01:00
Tobias Groza
7e17bdf369 Merge pull request #2935 from comradekingu/patch-9
Spelling: Could not, PeerTube, HTTPS, URL
2020-01-08 19:09:43 +01:00
Allan Nordhøy
d316bbad44 Select your favorite
Co-Authored-By: Stypox <stypox@pm.me>
2020-01-08 18:22:17 +01:00
Tobias Groza
72151c8c0c Merge pull request #2906 from kapodamy/opus-fixup
add opus file extension
2020-01-08 18:19:23 +01:00
Allan Nordhøy
e2e0a9bfa2 Spelling: Could not, PeerTube, HTTPS, URL 2020-01-08 17:51:35 +01:00
kapodamy
8d53b07167 fixup
* [DownloadDialog.java] use *.opus extension instead of *.webm (bad change from 844f80a5f1)
* [StreamItemAdapter.java] show "opus" in format label instead of "WebM Opus"
2020-01-08 12:42:34 -03:00
Tobias Groza
1df852171d Merge pull request #2837 from decarvalhobo/dev
Playlist thumbnail updates
2020-01-07 23:02:42 +01:00
TobiGr
399e2626fb Fix code style and improve imports 2020-01-07 22:48:35 +01:00
decarvalhobo
752a76eb44 Usage of drawable instead of remote image + refactor the append to an empty playlist by just updating the thumbnail before adding the item in it. 2020-01-07 22:33:45 +01:00
De Carvalho Marcio Antonio
8feee05eec remove comments 2020-01-07 22:33:45 +01:00
De Carvalho Marcio Antonio
e9a4caaf0b remove comments 2020-01-07 22:33:45 +01:00
decarvalhobo
8de367e03f fix issue: thumbnail update when element deleted + thumbnail update when element added and no thumbnail 2020-01-07 22:33:45 +01:00
TobiGr
dad88b83fb Fix Arabic translation 2020-01-07 22:33:30 +01:00
TobiGr
846f7f2f05 Merge remote-tracking branch 'Weblate/dev' into dev 2020-01-07 22:28:15 +01:00
pjammo
41e18ae694 Translated using Weblate (Italian)
Currently translated at 100.0% (522 of 522 strings)
2020-01-07 17:21:22 +01:00
Daniele Lira Mereb
deeac118a1 Translated using Weblate (Portuguese (Brazil))
Currently translated at 97.3% (508 of 522 strings)
2020-01-07 17:21:21 +01:00
MohammedSR Vevo
594d77e713 Translated using Weblate (Kurdish)
Currently translated at 100.0% (522 of 522 strings)
2020-01-06 00:21:31 +01:00
JoC
2ea404659b Translated using Weblate (Spanish)
Currently translated at 100.0% (522 of 522 strings)
2020-01-06 00:21:28 +01:00
Software In Interlingua
e2ec95e6ff Translated using Weblate (Interlingua)
Currently translated at 10.9% (57 of 522 strings)
2020-01-06 00:21:28 +01:00
pietrasagh
db87df743d Translated using Weblate (Polish)
Currently translated at 100.0% (522 of 522 strings)
2020-01-06 00:21:27 +01:00
ssantos
23f9ffdab7 Translated using Weblate (Portuguese)
Currently translated at 100.0% (522 of 522 strings)
2020-01-06 00:21:26 +01:00
Enol P
28063c35c2 Translated using Weblate (Asturian)
Currently translated at 49.2% (257 of 522 strings)
2020-01-06 00:21:25 +01:00
Иван
21a39b06e7 Translated using Weblate (Ukrainian)
Currently translated at 98.1% (512 of 522 strings)
2020-01-06 00:21:23 +01:00
Osoitz
8fb29ae6c2 Translated using Weblate (Basque)
Currently translated at 99.8% (521 of 522 strings)
2020-01-06 00:21:22 +01:00
B0pol
21895caa3a Translated using Weblate (Esperanto)
Currently translated at 100.0% (522 of 522 strings)
2020-01-06 00:21:20 +01:00
THANOS SIOURDAKIS
f17b92512c Translated using Weblate (Greek)
Currently translated at 97.9% (511 of 522 strings)
2020-01-06 00:21:19 +01:00
ssantos
014682664d Translated using Weblate (German)
Currently translated at 100.0% (522 of 522 strings)
2020-01-06 00:21:18 +01:00
Tobias Groza
5bf1df9f14 Merge pull request #2690 from K1rakishou/(#1570)-lock-screen-video-thumbnail
Show video thumbnail on the lock screen
2020-01-05 10:36:38 +01:00
k1rakishou
eb5fb42da9 Couple more code review changes 2020-01-03 16:29:04 +03:00
k1rakishou
c46a0f7b2e Code-review changes 2020-01-03 13:00:53 +03:00
k1rakishou
835476870b Merge remote-tracking branch 'push_here/(#1570)-lock-screen-video-thumbnail' into (#1570)-lock-screen-video-thumbnail
# Conflicts:
#	app/src/main/java/org/schabi/newpipe/player/BackgroundPlayer.java
#	app/src/main/java/org/schabi/newpipe/player/helper/MediaSessionManager.java
#	app/src/main/java/org/schabi/newpipe/util/BitmapUtils.java
#	app/src/main/res/xml/video_audio_settings.xml
2020-01-03 12:56:01 +03:00
TobiGr
718acb5059 Code improvements 2020-01-02 15:00:31 +01:00
TobiGr
1aa763e86c Enable lockscreen video thumbnail by default 2020-01-02 15:00:31 +01:00
k1rakishou
0395dc6e9e Add a setting for the lock screen thumbnail feature 2020-01-02 15:00:31 +01:00
k1rakishou
96de70b71e Rebase onto the latest dev, update appcompat dependencies to use androidx 2020-01-02 15:00:31 +01:00
k1rakishou
f44883e79f Show video thumbnail on the lock screen 2020-01-02 15:00:31 +01:00
Tobias Groza
c56fb8cec2 Merge pull request #2871 from atpamat/main-window-tabs
make main page tabs scrollable and hide when there is only a single tab
2020-01-02 13:22:01 +01:00
Paweł Matuszewski
3625a38a23 improve code consistency in ScrollableTabLayout 2020-01-02 13:02:14 +01:00
Paweł Matuszewski
1393d3ad7f fix ScrollableTabLayout content width calculation
fix bug where only minimum width requested by tab was counted even if actual content was wider
2020-01-02 13:02:14 +01:00
Paweł Matuszewski
b674cfec24 simplify ScrollableTabLayout tabs width checking 2020-01-02 13:02:14 +01:00
Paweł Matuszewski
f0f0c43b72 hide main page tab selector with single tab 2020-01-02 13:02:14 +01:00
Paweł Matuszewski
33caad4690 make main page tabs scrollable 2020-01-02 13:02:14 +01:00
Tobias Groza
0afc8005d0 Merge pull request #2771 from atpamat/background-player-notif-lag
Limit amount of notification thumbnail updates in background player
2020-01-01 23:01:11 +01:00
Yaron Shahrabani
f04d2e76fa Translated using Weblate (Hebrew)
Currently translated at 100.0% (522 of 522 strings)
2020-01-01 19:12:04 +01:00
Igor Nedoboy
8e1d7f162d Translated using Weblate (Russian)
Currently translated at 100.0% (522 of 522 strings)
2020-01-01 19:12:01 +01:00
Paweł Matuszewski
ee65e89230 limit amount of notification thumbnail updates
limits amount of calls to updateNotificationThumbnail in background player
2020-01-01 16:38:46 +01:00
Matsuri
a8e26238a8 Translated using Weblate (Chinese (Simplified))
Currently translated at 98.7% (515 of 522 strings)
2020-01-01 13:26:15 +01:00
MohammedSR Vevo
a3dc95bef1 Translated using Weblate (Kurdish)
Currently translated at 99.8% (521 of 522 strings)
2020-01-01 13:26:15 +01:00
Software In Interlingua
a29df9a2dd Translated using Weblate (Interlingua)
Currently translated at 9.4% (49 of 522 strings)
2020-01-01 13:26:14 +01:00
Yaron Shahrabani
cc17d268fc Translated using Weblate (Hebrew)
Currently translated at 100.0% (522 of 522 strings)
2020-01-01 13:26:11 +01:00
Ariel Shulman
22a9a06b87 Translated using Weblate (Hebrew)
Currently translated at 100.0% (522 of 522 strings)
2020-01-01 13:26:09 +01:00
chr56
d063d39dbc Translated using Weblate (Chinese (Simplified))
Currently translated at 98.7% (515 of 522 strings)
2019-12-31 19:01:41 +01:00
Jeff Huang
87e29dbd84 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (522 of 522 strings)
2019-12-31 19:01:40 +01:00
MohammedSR Vevo
2227a7a6bd Translated using Weblate (Kurdish)
Currently translated at 99.8% (521 of 522 strings)
2019-12-31 19:01:39 +01:00
ButterflyOfFire
867f633d16 Translated using Weblate (French)
Currently translated at 99.4% (519 of 522 strings)
2019-12-31 19:01:34 +01:00
ButterflyOfFire
b9de3c202a Translated using Weblate (Arabic)
Currently translated at 100.0% (522 of 522 strings)
2019-12-31 19:01:33 +01:00
pjammo
56364c4a2c Translated using Weblate (Italian)
Currently translated at 100.0% (522 of 522 strings)
2019-12-31 19:01:32 +01:00
WaldiS
b1fd2c007d Translated using Weblate (Polish)
Currently translated at 99.2% (518 of 522 strings)
2019-12-31 19:01:27 +01:00
Yaron Shahrabani
741a872c39 Translated using Weblate (Hebrew)
Currently translated at 100.0% (522 of 522 strings)
2019-12-31 19:01:26 +01:00
Igor Nedoboy
e1e2add616 Translated using Weblate (Russian)
Currently translated at 100.0% (522 of 522 strings)
2019-12-31 19:01:25 +01:00
C. Rüdinger
0c664e346a Translated using Weblate (German)
Currently translated at 99.2% (518 of 522 strings)
2019-12-31 19:01:25 +01:00
Oğuz Ersen
7ddb856ccd Translated using Weblate (Turkish)
Currently translated at 100.0% (522 of 522 strings)
2019-12-31 19:01:24 +01:00
Software In Interlingua
17c0b981d1 Added translation using Weblate (Interlingua) 2019-12-31 19:01:20 +01:00
Tobias Groza
7f0a9904ff Merge pull request #2913 from yausername/fixTranslatableUrl
made instance list url non translatable
2019-12-31 15:51:27 +01:00
yausername
2b4190d85d made instance list url non translatable 2019-12-31 20:10:51 +05:30
Tobias Groza
57e89babf1 Merge pull request #2879 from Louis-Berlic/dev
Add support for Occitan language
2019-12-31 11:02:14 +01:00
Tobias Groza
209dc5ace9 Merge pull request #2912 from mauriciocolli/fix-wrong-thread-access
Fix for player access out of its creation thread
2019-12-31 10:55:12 +01:00
Mauricio Colli
1e7e8d4121 Fix for player access out of its creation thread 2019-12-31 02:52:16 -03:00
Tobias Groza
04b75ef05f Merge pull request #2636 from dotvirus/longpress-on-custom-playlists
Add local playlist to queue when long clicking on 'Background/Popup'
2019-12-31 01:50:52 +01:00
dotvirus
de19421de1 Update LocalPlaylistFragment.java 2019-12-31 01:42:41 +01:00
Tobias Groza
61f64a7349 Merge pull request #2875 from Nico-late/Issue#2838
Fixed issues #2838 #2797 #2773
2019-12-31 01:23:24 +01:00
Nico-late
6fb16bad85 Update app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java
Space added for more clarity

Co-Authored-By: Tobias Groza <TobiGr@users.noreply.github.com>
2019-12-31 00:52:01 +01:00
Nico-late
694813ac90 Fixed issue #2838 2019-12-31 00:52:01 +01:00
C. Rüdinger
6f3fd50ed8 Translated using Weblate (German)
Currently translated at 99.2% (518 of 522 strings)
2019-12-30 14:06:08 +01:00
TobiGr
c1e1c191d0 Translated using Weblate (German)
Currently translated at 99.2% (518 of 522 strings)
2019-12-30 14:06:08 +01:00
Igor Nedoboy
f4c8fdaf07 Translated using Weblate (Russian)
Currently translated at 100.0% (522 of 522 strings)
2019-12-29 23:20:25 +01:00
MohammedSR Vevo
457ebe3aa2 Translated using Weblate (Kurdish)
Currently translated at 78.5% (410 of 522 strings)
2019-12-29 22:55:19 +01:00
MohammedSR Vevo
8da8ce0a0a Translated using Weblate (Kurdish)
Currently translated at 70.9% (360 of 508 strings)
2019-12-29 13:59:23 +01:00
Igor Nedoboy
cc869b98a3 Translated using Weblate (Russian)
Currently translated at 100.0% (508 of 508 strings)
2019-12-29 13:59:01 +01:00
winqooq
f9e7873e54 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (508 of 508 strings)
2019-12-27 17:26:55 +01:00
Hosted Weblate
c4cba8aa37 Merge branch 'origin/dev' into Weblate. 2019-12-27 09:21:15 +01:00
Jaewoi
22e4ef4034 Translated using Weblate (Korean)
Currently translated at 98.6% (501 of 508 strings)
2019-12-27 09:21:12 +01:00
thami simo
708cdc4c62 Translated using Weblate (Arabic)
Currently translated at 100.0% (522 of 522 strings)
2019-12-24 08:21:11 +01:00
Hosted Weblate
94931df60b Merge branch 'origin/dev' into Weblate. 2019-12-22 23:21:13 +01:00
Éfrit
b3605fe6d4 Translated using Weblate (French)
Currently translated at 100.0% (508 of 508 strings)
2019-12-22 23:21:11 +01:00
justanidea
11e0ed7c4f Translated using Weblate (French)
Currently translated at 100.0% (508 of 508 strings)
2019-12-22 23:21:11 +01:00
WaldiS
34e89448b1 Translated using Weblate (Polish)
Currently translated at 100.0% (508 of 508 strings)
2019-12-22 23:21:09 +01:00
TobiGr
9a6e936996 Add SoundCloud audio stream extraction fix to changelog 2019-12-22 00:59:39 +01:00
TobiGr
5ed58b8609 Update extractor to fix SoundCloud audio stream extraction 2019-12-22 00:50:16 +01:00
Tobias Groza
0d7d610127 Merge pull request #2862 from TeamNewPipe/release_0.18.0
Release 0.18.0
2019-12-21 19:47:54 +01:00
TobiGr
92a42235a1 Add changelog 2019-12-21 01:14:11 +01:00
TobiGr
3f52938f08 Bump version to 0.18.0 and version code to 800 2019-12-21 01:14:11 +01:00
Louis-Berlic
a08cd4ce6a Move to values-oc 2019-12-19 16:11:17 +01:00
Louis-Berlic
46b12ed819 Added initial strings.xml for Occitan language 2019-12-19 16:10:09 +01:00
TobiGr
e7ef193da6 Merge remote-tracking branch 'Weblate/dev' into dev 2019-12-18 23:12:31 +01:00
WaldiS
2ebe5aa878 Translated using Weblate (Polish)
Currently translated at 100.0% (508 of 508 strings)
2019-12-18 14:21:09 +01:00
Adolfo Jayme Barrientos
f58f6639f8 Translated using Weblate (Spanish)
Currently translated at 99.8% (507 of 508 strings)
2019-12-17 08:31:15 +01:00
Tobias Groza
f995ba115c Merge pull request #2868 from yausername/fix-add-instance-dialog
fix add instance dialog
2019-12-15 11:01:13 +01:00
Tobias Groza
755dff343d Merge pull request #2792 from mqus/dev
Enabling TLS1.1/1.2 on Android 4.4 devices (API 19/KitKat)
2019-12-15 00:17:37 +01:00
yausername
c8c7d23971 fix add instance dialog 2019-12-15 01:30:47 +05:30
Markus
559bcfc6a5 Remove commented-out code and hide stacktraces in release mode 2019-12-13 21:46:19 +01:00
Markus
23c2f748d6 Add trying out some more cipher suites which may be supported on non-standard Android 4.4.2 devices 2019-12-13 21:46:12 +01:00
Markus
3e409b9cc1 Fix formatting and remove unused code 2019-12-13 21:43:03 +01:00
Markus Richter
c0453065e4 Enable TLS v1.1/1.2 for KitKat devices
This enables modern TLS versions in the collection browser, the Downloader and the Player.
This is neccessary because media.ccc.de rejects all older TLS connection attempts, see issue #2777.
2019-12-13 21:42:58 +01:00
Tobias Groza
88a6e5981f Merge pull request #2744 from XiangRongLin/seek
Adjustable seek duration
2019-12-13 08:47:02 +01:00
Xiang Rong Lin
8970a663ec Rename "seek_duration_default_key" and use it in BasePlayer 2019-12-13 07:14:17 +01:00
Xiang Rong Lin
334437137e Remove local variable for seek duration 2019-12-13 07:14:17 +01:00
Xiang Rong Lin
949c01b37f Extract getting of seek duration into a function 2019-12-13 07:14:17 +01:00
Xiang Rong Lin
17146c2c13 Rename adjustable seek duration setting
Change from "Seek duration" to "Fast-forward/-rewind seek duration"
2019-12-13 07:14:17 +01:00
Xiang Rong Lin
dcd35b038e Adjust BasePlayer to use seek duration of preferences.
Changes behaviour when double-tapping in video and clicking fast forward/rewind in background mode.
2019-12-13 07:14:17 +01:00
Xiang Rong Lin
550364906d Add new preference for seek duration.
Add new ListPreference under settings/ video & audio for the duration of a seek.
With options for 5, 10, 15, 20, 25, 30 seconds.
2019-12-13 07:14:17 +01:00
Tobias Groza
fa8483bbb6 Merge pull request #2860 from spk/fix-cannot-resolv-symbol
Migrate annotation to androidx
2019-12-12 21:44:49 +01:00
TobiGr
b976e40439 Delete view_history_deleted translation 2019-12-12 21:32:38 +01:00
TobiGr
6fcae39fe2 Delete toggle_leak_canary translation 2019-12-12 21:32:03 +01:00
Laurent Arnoud
ec1de9824a Migrate annotation to androidx
release build is failing without this on android studio 3.5.3
2019-12-12 21:31:23 +01:00
TobiGr
8f83c210ad Delete overwrite_warning translations 2019-12-12 21:31:19 +01:00
TobiGr
d68009ff7e Delete msg_pending_downloads translations 2019-12-12 21:30:19 +01:00
TobiGr
bac2045111 Delete error_http_requested_range_not_satisfiable translations 2019-12-12 21:29:37 +01:00
TobiGr
bbf3c37978 Delete direct_on_background translations 2019-12-12 21:29:22 +01:00
TobiGr
901c63d1f2 Rename default_kiosk_page_sumatry to default_kiosk_page_summary
Remove duplicates
2019-12-12 21:25:31 +01:00
TobiGr
13306b5c1b Merge remote-tracking branch 'Weblate/dev' into dev 2019-12-12 20:58:22 +01:00
TobiGr
b883ad1657 Update extractor to TeamNewPipe/NewPipeExtractor@8cb3250
Fix soundcloud client id extraction
Improve handling of missing uploader in playlist
2019-12-12 18:47:26 +01:00
Tobias Groza
6029e18980 Merge pull request #2569 from marcovr/dev
Black navigation bar for black theme
2019-12-12 18:32:49 +01:00
Mitesh Sanjay Mutha
a81b791ee3 Translated using Weblate (Hindi)
Currently translated at 100.0% (508 of 508 strings)
2019-12-11 22:59:56 +01:00
THANOS SIOURDAKIS
7e5aaabadf Translated using Weblate (Greek)
Currently translated at 99.8% (507 of 508 strings)
2019-12-11 22:59:55 +01:00
chr56
e01e0d5aed Translated using Weblate (Chinese (Simplified))
Currently translated at 98.8% (502 of 508 strings)
2019-12-11 13:55:38 +01:00
pjammo
db07b81c3c Translated using Weblate (Italian)
Currently translated at 100.0% (508 of 508 strings)
2019-12-11 13:55:27 +01:00
Helios
d660e4ac9d Translated using Weblate (Tamil)
Currently translated at 43.5% (221 of 508 strings)
2019-12-11 13:55:26 +01:00
Marco vR
d90588ce6b Fix style version 2019-12-11 10:04:57 +01:00
Marco vR
7e78197b37 Avoid duplicated code & dark navbar for DarkTheme 2019-12-11 10:04:57 +01:00
Marco vR
06af26f1f2 Black navigation bar for black theme
See: https://github.com/TeamNewPipe/NewPipe/issues/1494
2019-12-11 10:04:57 +01:00
Tobias Groza
d0e07276dd Merge pull request #2856 from TeamNewPipe/Stypox-patch-1
Add PeerTube to README
2019-12-10 22:34:15 +01:00
Stypox
59c19614ea Add PeerTube to README.md 2019-12-10 22:19:54 +01:00
Stypox
0f04dd6dae Merge pull request #2724 from PeterHindes/dev
[Bug Fixed] Playlists With No Uploader No Longer Crash The App When Added To Users Library
2019-12-10 22:12:47 +01:00
Peter Hindes
b365973ac6 fix last recomendation. syntax and imports 2019-12-10 12:18:49 -07:00
Peter Hindes
19fb8cfbfe Update app/src/main/java/org/schabi/newpipe/local/holder/RemotePlaylistItemHolder.java
Co-Authored-By: Redirion <redirion@web.de>
2019-12-10 12:13:04 -07:00
Peter Hindes
d8e6a5cb33 Merge branch 'dev' into dev 2019-12-10 09:59:12 -07:00
Peter Hindes
f4c6a49339 Revert "Merge branch 'dev' of https://github.com/PeterHindes/NewPipe into dev"
This reverts commit 23ee22566d, reversing
changes made to ea70a1f334.
2019-12-10 09:50:53 -07:00
Peter Hindes
23ee22566d Merge branch 'dev' of https://github.com/PeterHindes/NewPipe into dev 2019-12-10 09:50:47 -07:00
Peter Hindes
ea70a1f334 no change 2019-12-10 09:50:33 -07:00
Peter Hindes
68a1407314 Dont update this 2019-12-10 09:48:16 -07:00
Peter Hindes
881efb9be8 Merge branch 'dev' of https://github.com/PeterHindes/NewPipe into dev 2019-12-10 09:44:21 -07:00
Peter Hindes
7844547e4f not used 2019-12-10 09:44:02 -07:00
Peter Hindes
054279d553 Update app/src/main/res/values/strings.xml
Co-Authored-By: Stypox <stypox@pm.me>
2019-12-10 09:37:57 -07:00
Tobias Groza
b2bbdc656a Merge pull request #2201 from yausername/peertube-ui
PeerTube support
2019-12-10 14:39:38 +01:00
yausername
a0151f2a68 more grammar fix 2019-12-10 12:36:56 +05:30
yausername
fd5f4d9840 merged upstream/dev 2019-12-10 01:37:33 +05:30
Peter Hindes
98d7e6bcc6 Merge branch 'dev' into dev 2019-12-09 09:13:18 -07:00
Tobias Groza
e92ca5e572 Merge pull request #2820 from Redirion/remember-subtitles
Remember caption option in player, closes #2811
2019-12-09 17:01:30 +01:00
Tobias Groza
27ca9ed8b8 Merge branch 'dev' into remember-subtitles 2019-12-09 16:55:37 +01:00
Tobias Groza
c2b1d45fc4 Merge pull request #2679 from kapodamy/dl-last-features
more dl features
2019-12-07 09:10:53 +01:00
kapodamy
03939555ac add missing change after updating NPE
use +webm_opus instead of +opus
2019-12-07 00:16:01 -03:00
kapodamy
5a2cd93d13 remove netbeans editor-fold comments 2019-12-06 16:30:07 -03:00
Peter Hindes
ef69625cd2 Merge branch 'dev' into dev 2019-12-06 08:57:43 -07:00
Peter Hindes
ae88b4c697 remove unused code pt2 2019-12-06 08:38:15 -07:00
Peter Hindes
693756bdd6 Removed redundant. Related to last merge 2019-12-06 08:36:57 -07:00
Peter Hindes
c05633979c Update app/src/main/java/org/schabi/newpipe/local/holder/RemotePlaylistItemHolder.java
Co-Authored-By: Redirion <redirion@web.de>
2019-12-06 08:35:14 -07:00
Peter Hindes
7d80d04f34 Remove unused code pt1 2019-12-06 08:32:45 -07:00
dgarciabad
3ff2da3b20 Translated using Weblate (Spanish)
Currently translated at 99.8% (507 of 508 strings)
2019-12-06 03:58:06 +01:00
Rex_sa
eb15bc97a7 Translated using Weblate (Arabic)
Currently translated at 99.4% (505 of 508 strings)
2019-12-06 03:58:05 +01:00
dgarciabad
c6cd2dd854 Translated using Weblate (Basque)
Currently translated at 99.8% (507 of 508 strings)
2019-12-06 03:58:04 +01:00
kapodamy
aae8865bdd remove unused imports 2019-12-05 14:04:48 -03:00
ozyc
c15cead9e2 Translated using Weblate (Esperanto)
Currently translated at 100.0% (508 of 508 strings)
2019-12-05 06:05:18 +01:00
Daniele Lira Mereb
0ccd30b12e Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (508 of 508 strings)
2019-12-05 06:05:17 +01:00
yausername
d2a59ecc62 grammar fix 2019-12-05 05:11:05 +05:30
yausername
7a67d192c3 updated extractor 2019-12-03 07:22:14 +05:30
yausername
d32ad36f3d reorder peertube settings entry 2019-12-03 07:16:25 +05:30
Allan Nordhøy
f587d79cd8 Translated using Weblate (Norwegian Bokmål)
Currently translated at 98.8% (502 of 508 strings)
2019-12-03 01:05:20 +01:00
Osoitz
9e290ce91a Translated using Weblate (Basque)
Currently translated at 98.2% (499 of 508 strings)
2019-12-03 01:05:19 +01:00
yausername
0c40a45075 use plurals 2019-12-03 02:08:59 +05:30
yausername
17c5e73994 null check on share 2019-12-03 02:04:52 +05:30
yausername
890d1cb50b update extractor, kiosk names and icons 2019-12-03 01:50:23 +05:30
yausername
4c89d1a6e5 Merge remote-tracking branch 'upstream/dev' into peertube-ui 2019-12-03 01:21:25 +05:30
Rex_sa
77d3a1ef45 Translated using Weblate (Arabic)
Currently translated at 99.4% (505 of 508 strings)
2019-11-30 19:22:13 +01:00
Hosted Weblate
6e289b44c7 Merge branch 'origin/dev' into Weblate. 2019-11-29 20:05:27 +01:00
Jeff Huang
8039055a87 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (508 of 508 strings)
2019-11-29 20:05:25 +01:00
Florian
6c0f5bef21 Translated using Weblate (French)
Currently translated at 100.0% (508 of 508 strings)
2019-11-29 20:05:24 +01:00
Lucas Galello
7dd7ea1a32 Translated using Weblate (Spanish)
Currently translated at 99.6% (506 of 508 strings)
2019-11-29 20:05:24 +01:00
JoC
3bce9a8ead Translated using Weblate (Spanish)
Currently translated at 99.6% (506 of 508 strings)
2019-11-29 20:05:23 +01:00
narayaan
da82e3f5d1 Translated using Weblate (Dutch)
Currently translated at 90.7% (461 of 508 strings)
2019-11-29 20:05:23 +01:00
Stefano Panzeri
0df5d7a934 Translated using Weblate (Italian)
Currently translated at 100.0% (508 of 508 strings)
2019-11-29 20:05:22 +01:00
WaldiS
27f38f329f Translated using Weblate (Polish)
Currently translated at 100.0% (508 of 508 strings)
2019-11-29 20:05:21 +01:00
zeritti
c4707978c4 Translated using Weblate (Czech)
Currently translated at 100.0% (508 of 508 strings)
2019-11-29 20:05:20 +01:00
BennyBeat
2ad0792581 Translated using Weblate (Catalan)
Currently translated at 100.0% (508 of 508 strings)
2019-11-29 20:05:16 +01:00
naofum
8741856234 Translated using Weblate (Japanese)
Currently translated at 100.0% (508 of 508 strings)
2019-11-29 20:05:00 +01:00
ssantos
e37a86efc2 Translated using Weblate (German)
Currently translated at 100.0% (508 of 508 strings)
2019-11-29 20:04:59 +01:00
Geoflly Adonias
baee238a2c Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (508 of 508 strings)
2019-11-29 20:04:59 +01:00
k1rakishou
e8437052d8 Add a setting for the lock screen thumbnail feature 2019-11-28 21:47:15 +03:00
k1rakishou
cf13f5ca56 Rebase onto the latest dev, update appcompat dependencies to use androidx 2019-11-28 21:47:15 +03:00
k1rakishou
52f82ed228 Show video thumbnail on the lock screen 2019-11-28 21:47:15 +03:00
kapodamy
84ec320df4 commit
* rebase fixup, add null check
* better ETA string
* drop connection read timeout, for HSDPA networks
* bump NPE version
2019-11-26 13:41:16 -03:00
kapodamy
0033843bc2 Merge branch 'dl-last-features' of https://github.com/kapodamy/NewPipe into dl-last-features 2019-11-26 10:46:59 -03:00
kapodamy
3ca461413e Merge branch 'dev' into dl-last-features 2019-11-26 10:46:32 -03:00
kapodamy
e6d9d8e26d code cleanup
* migrate few annotations to androidx
* mission recovery: better error handling (except StreamExtractor.getErrorMessage() method always returns an error)
* post-processing: more detailed progress

[file specific changes]

DownloadMission.java
* remove redundant/boilerplate code (again)
* make few variables volatile
* better file "length" approximation
* use "done" variable to count the amount of bytes downloaded (simplify percent calc in UI code)

Postprocessing.java
* if case of error use "ERROR_POSTPROCESSING" instead of "ERROR_UNKNOWN_EXCEPTION"
* simplify source stream init

DownloadManager.java
* move all "service message sending" code to DownloadMission
* remove not implemented method "notifyUserPendingDownloads()" also his unused strings

DownloadManagerService.java
* use START_STICKY instead of START_NOT_STICKY
* simplify addMissionEventListener()/removeMissionEventListener() methods (always are called from the main thread)

Deleter.java
* better method definition

MissionAdapter.java
* better method definition
* code cleanup
* the UI is now refreshed every 750ms
* simplify download progress calculation
* indicates if the download is actually recovering
* smooth download speed measure
* show estimated remain time

MainFragment.java:
* check if viewPager is null (issued by "Apply changes" feature of Android Studio)
2019-11-26 10:46:31 -03:00
kapodamy
763995d4c9 update DownloadDialog.java
keep *.opus extension
2019-11-26 10:46:29 -03:00
kapodamy
8a992d4c47 update WebMWriter.java
fix wrong cue generation
2019-11-26 10:46:29 -03:00
kapodamy
da052df106 update DownloadManager.java
* check if the directory pending_downloads was created
2019-11-26 10:46:29 -03:00
kapodamy
60d4c8a55d fallback for pending downloads directory 2019-11-26 10:46:29 -03:00
kapodamy
4292ca94ff misc changes
* OggFromWebMWriter: rewrite (again), reduce iterations over the input. Works as-is (video streams are not supported)
* WebMReader: use int for SimpleBlock.dataSize instead of long
* Download Recovery: allow recovering uninitialized downloads
* check range-requests using HEAD method instead of GET
* DownloadRunnableFallback: add workaround for 32kB/s issue, unknown issue origin, wont fix
* reporting downloads errors now include the source url with the selected quality and format
2019-11-26 10:46:28 -03:00
kapodamy
570738190d Mp4FromDashWriter fixes
* correct calculation of "co64" box and usage of 64bits offsets
* generate one chunk for audio streams like ffmpeg does, attempt to fix cut-off audio
* misc. cleanup
2019-11-26 10:46:26 -03:00
kapodamy
86dafdd92b long-term downloads resume
* recovery infrastructure
* bump serialVersionUID of DownloadMission
* misc cleanup in DownloadMission.java
* remove unused/redundant from strings.xml
2019-11-26 10:46:26 -03:00
kapodamy
dab53450c1 rewrite OggFromWebMWriter
* reduce the number of iterations over the output file (less seeking)
* fix audio samples with size of 255 do not handled correctly in the segment table (allows writing audio streams with 70kbps and 160kbps bitrate)
* add support for VORBIS codec metadata
* write packets based on the timestamp
2019-11-26 10:46:26 -03:00
kapodamy
773aa1eff0 implement webm to ogg demuxer
* used for opus audio stream
* update WebMReader and WebMWriter
* new post-processing algorithm
2019-11-26 10:46:26 -03:00
kapodamy
14de2f289f Merge branch 'dev' into dl-last-features 2019-11-26 10:38:47 -03:00
Tobias Groza
eeeeeef3a7 Merge pull request #2720 from haggaie/hebrew-translation
Fix Hebrew translation on some devices
2019-11-24 21:26:52 +01:00
kapodamy
ea1be11a80 Merge branch 'dev' into dl-last-features 2019-11-24 14:03:34 -03:00
yausername
309fd3fb7d white space changes 2019-11-24 21:42:05 +05:30
yausername
6a24dcec73 Merge remote-tracking branch 'upstream/dev' into peertube-ui 2019-11-24 21:20:45 +05:30
yausername
3e2dba2fd5 merged origin/peertube-ui 2019-11-24 21:19:23 +05:30
yausername
527c38adf9 easily switch between multiple peertube instances 2019-11-24 21:08:06 +05:30
kapodamy
f62a7919a5 code cleanup
* migrate few annotations to androidx
* mission recovery: better error handling (except StreamExtractor.getErrorMessage() method always returns an error)
* post-processing: more detailed progress

[file specific changes]

DownloadMission.java
* remove redundant/boilerplate code (again)
* make few variables volatile
* better file "length" approximation
* use "done" variable to count the amount of bytes downloaded (simplify percent calc in UI code)

Postprocessing.java
* if case of error use "ERROR_POSTPROCESSING" instead of "ERROR_UNKNOWN_EXCEPTION"
* simplify source stream init

DownloadManager.java
* move all "service message sending" code to DownloadMission
* remove not implemented method "notifyUserPendingDownloads()" also his unused strings

DownloadManagerService.java
* use START_STICKY instead of START_NOT_STICKY
* simplify addMissionEventListener()/removeMissionEventListener() methods (always are called from the main thread)

Deleter.java
* better method definition

MissionAdapter.java
* better method definition
* code cleanup
* the UI is now refreshed every 750ms
* simplify download progress calculation
* indicates if the download is actually recovering
* smooth download speed measure
* show estimated remain time

MainFragment.java:
* check if viewPager is null (issued by "Apply changes" feature of Android Studio)
2019-11-24 12:27:16 -03:00
kapodamy
844f80a5f1 update DownloadDialog.java
keep *.opus extension
2019-11-24 12:24:59 -03:00
kapodamy
94e23142a5 update WebMWriter.java
fix wrong cue generation
2019-11-24 12:24:59 -03:00
kapodamy
9339fc80b4 update DownloadManager.java
* check if the directory pending_downloads was created
2019-11-24 12:24:58 -03:00
kapodamy
d092e39c56 fallback for pending downloads directory 2019-11-24 12:24:57 -03:00
kapodamy
160a33e8c8 misc changes
* OggFromWebMWriter: rewrite (again), reduce iterations over the input. Works as-is (video streams are not supported)
* WebMReader: use int for SimpleBlock.dataSize instead of long
* Download Recovery: allow recovering uninitialized downloads
* check range-requests using HEAD method instead of GET
* DownloadRunnableFallback: add workaround for 32kB/s issue, unknown issue origin, wont fix
* reporting downloads errors now include the source url with the selected quality and format
2019-11-24 12:24:57 -03:00
kapodamy
429ee7eb93 Mp4FromDashWriter fixes
* correct calculation of "co64" box and usage of 64bits offsets
* generate one chunk for audio streams like ffmpeg does, attempt to fix cut-off audio
* misc. cleanup
2019-11-24 12:24:54 -03:00
kapodamy
c891f2f1ed long-term downloads resume
* recovery infrastructure
* bump serialVersionUID of DownloadMission
* misc cleanup in DownloadMission.java
* remove unused/redundant from strings.xml
2019-11-24 12:24:53 -03:00
Robin
3108c903dd squashed commit 2019-11-24 16:24:39 +01:00
kapodamy
0cdfa6e377 rewrite OggFromWebMWriter
* reduce the number of iterations over the output file (less seeking)
* fix audio samples with size of 255 do not handled correctly in the segment table (allows writing audio streams with 70kbps and 160kbps bitrate)
* add support for VORBIS codec metadata
* write packets based on the timestamp
2019-11-24 12:21:02 -03:00
kapodamy
52a21e4a24 implement webm to ogg demuxer
* used for opus audio stream
* update WebMReader and WebMWriter
* new post-processing algorithm
2019-11-24 12:21:01 -03:00
Robin
8e152df46d Remember caption option in player, closes #2811 2019-11-24 11:10:50 +01:00
Igor Nedoboy
a68c8ceebe Translated using Weblate (Russian)
Currently translated at 100.0% (508 of 508 strings)
2019-11-24 01:56:56 +01:00
Igor Nedoboy
1ce44b31e2 Translated using Weblate (Russian)
Currently translated at 100.0% (508 of 508 strings)
2019-11-24 01:50:24 +01:00
Hosted Weblate
8f52f918db Merge branch 'origin/dev' into Weblate. 2019-11-23 20:19:07 +01:00
chr56
55f5f76275 Translated using Weblate (Chinese (Simplified))
Currently translated at 95.9% (487 of 508 strings)
2019-11-23 20:19:07 +01:00
Yaron Shahrabani
f122d73754 Translated using Weblate (Hebrew)
Currently translated at 100.0% (508 of 508 strings)
2019-11-23 20:19:06 +01:00
ssantos
8227d85feb Translated using Weblate (Portuguese)
Currently translated at 100.0% (508 of 508 strings)
2019-11-23 20:19:06 +01:00
Oğuz Ersen
46e2f4e579 Translated using Weblate (Turkish)
Currently translated at 100.0% (508 of 508 strings)
2019-11-23 20:19:05 +01:00
Igor Nedoboy
0c65f73180 Translated using Weblate (Russian)
Currently translated at 100.0% (508 of 508 strings)
2019-11-23 20:19:02 +01:00
TobiGr
0fb7eab2f9 Fix code formatting 2019-11-23 20:04:40 +01:00
Tobias Groza
2b2de8811e Merge pull request #2772 from mitosagi/popup-player-gestures
Fix popup player gestures
2019-11-23 19:41:55 +01:00
chr56
5e87463125 Translated using Weblate (Chinese (Simplified))
Currently translated at 95.9% (487 of 508 strings)
2019-11-23 06:26:16 +01:00
Hosted Weblate
424d3fdcd7 Merge branch 'origin/dev' into Weblate. 2019-11-23 06:19:04 +01:00
narayaan
6452c7e08c Translated using Weblate (Flemish)
Currently translated at 90.4% (459 of 508 strings)
2019-11-23 06:19:03 +01:00
Mattias Münster
e21257b786 Translated using Weblate (Swedish)
Currently translated at 91.3% (464 of 508 strings)
2019-11-23 06:19:02 +01:00
narayaan
0f70aeb910 Translated using Weblate (Dutch)
Currently translated at 90.2% (458 of 508 strings)
2019-11-23 06:19:02 +01:00
Igor Nedoboy
cedfbf5f67 Translated using Weblate (Russian)
Currently translated at 100.0% (508 of 508 strings)
2019-11-23 06:19:01 +01:00
chr56
31fab60701 Translated using Weblate (Chinese (Simplified))
Currently translated at 95.1% (483 of 508 strings)
2019-11-23 06:18:58 +01:00
yausername
afef8d8d0b removed extra white spaces 2019-11-23 00:53:14 +05:30
yausername
ac2543d0a1 validate peertube instance. changed peertube color 2019-11-23 00:31:35 +05:30
yausername
81658de08f merged upstream/dev 2019-11-22 22:41:59 +05:30
mitosagi
2ad0d47f61 Fix popup player gestures 2019-11-22 11:41:10 +01:00
Tobias Groza
b9d6d55aa4 Merge pull request #2742 from mauriciocolli/fix-mess-tabs
Fix tab handling and enable ignored tests again
2019-11-21 22:23:40 +01:00
Jeff Huang
719d8651b3 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (508 of 508 strings)
2019-11-21 15:37:20 +01:00
ozyc
f3988c37b6 Translated using Weblate (French)
Currently translated at 99.8% (507 of 508 strings)
2019-11-21 15:37:19 +01:00
zmni
912f09c83e Translated using Weblate (Indonesian)
Currently translated at 99.8% (507 of 508 strings)
2019-11-21 15:37:19 +01:00
WaldiS
27330951aa Translated using Weblate (Polish)
Currently translated at 100.0% (508 of 508 strings)
2019-11-21 15:37:18 +01:00
Yaron Shahrabani
84089453e7 Translated using Weblate (Hebrew)
Currently translated at 100.0% (508 of 508 strings)
2019-11-21 15:37:17 +01:00
naofum
59f76ef304 Translated using Weblate (Japanese)
Currently translated at 100.0% (508 of 508 strings)
2019-11-21 15:37:17 +01:00
ozyc
4061145933 Translated using Weblate (Esperanto)
Currently translated at 99.8% (507 of 508 strings)
2019-11-21 15:37:16 +01:00
nautilusx
e900a69a26 Translated using Weblate (German)
Currently translated at 100.0% (508 of 508 strings)
2019-11-21 15:37:16 +01:00
Oğuz Ersen
9cdec5de50 Translated using Weblate (Turkish)
Currently translated at 100.0% (508 of 508 strings)
2019-11-21 15:37:15 +01:00
yausername
ceabfd1a8b updated extractor 2019-11-21 05:41:14 +05:30
Mauricio Colli
bc283bce4e Make the KioskFragment aware of changes in the preferred content country 2019-11-20 00:23:35 -03:00
Mauricio Colli
544cae4fb4 Use tab position from parameters instead of relying on the view pager 2019-11-20 00:23:34 -03:00
Mauricio Colli
38a0395d45 Enable toolbar title visibility when setting a new one 2019-11-20 00:23:33 -03:00
Mauricio Colli
a5b7666188 Clear the item list when starting loading 2019-11-20 00:23:31 -03:00
Mauricio Colli
58a626dedb Fix broken view pager tabs implementation
- Fragments were being recreated from scratch (losing their state) every
time some configuration change occurred (e.g. screen rotation).
- Use `FragmentStatePagerAdapter` instead, as it is built to work with
them and manage their states.
2019-11-20 00:23:30 -03:00
Mauricio Colli
7e311e5567 Fix mess with tab handling and enable ignored tests again
- Fix typo in a string resource
- Reorder tabs so the default kiosk is on top of the others
2019-11-20 00:23:29 -03:00
yausername
596005c69e merged upstream/dev 2019-11-20 03:48:56 +05:30
Hosted Weblate
14ee7d53d7 Merge branch 'origin/dev' into Weblate. 2019-11-19 21:58:36 +01:00
Allan Nordhøy
2f575c13f1 Translated using Weblate (Norwegian Bokmål)
Currently translated at 99.0% (503 of 508 strings)
2019-11-19 21:58:36 +01:00
ozyc
82738e23ce Translated using Weblate (French)
Currently translated at 100.0% (508 of 508 strings)
2019-11-19 21:58:36 +01:00
ssantos
93e99d096a Translated using Weblate (Portuguese)
Currently translated at 99.8% (507 of 508 strings)
2019-11-19 21:58:35 +01:00
Marc Riera
784b9cf207 Translated using Weblate (Catalan)
Currently translated at 95.5% (485 of 508 strings)
2019-11-19 21:58:34 +01:00
Александр
7b56244c8b Translated using Weblate (Russian)
Currently translated at 99.8% (507 of 508 strings)
2019-11-19 21:58:34 +01:00
Allan Nordhøy
44192d6e49 Translated using Weblate (English)
Currently translated at 100.0% (508 of 508 strings)
2019-11-19 21:58:34 +01:00
ozyc
4ded3adadb Translated using Weblate (Esperanto)
Currently translated at 100.0% (508 of 508 strings)
2019-11-19 21:58:33 +01:00
ozyc
3798d5228c Translated using Weblate (German)
Currently translated at 99.8% (507 of 508 strings)
2019-11-19 21:58:33 +01:00
Oğuz Ersen
0491c4af9c Translated using Weblate (Turkish)
Currently translated at 99.8% (507 of 508 strings)
2019-11-19 21:58:32 +01:00
nautilusx
69799613aa Translated using Weblate (German)
Currently translated at 99.6% (506 of 508 strings)
2019-11-19 21:58:29 +01:00
TobiGr
c0cbec700c Merge remote-tracking branch 'Weblate/dev' into dev 2019-11-19 21:49:14 +01:00
Tobias Groza
e9c9dfcd8c Merge pull request #2799 from Ozyc/patch-1
Make reCAPTCHA string untranslatable
2019-11-19 21:16:25 +01:00
Tobias Groza
c9cbb1e6f1 Merge pull request #2816 from Redirion/patch-3
Bump ExoPlayer to 2.10.8
2019-11-19 18:11:38 +01:00
Hosted Weblate
3ea8841e3a Merge branch 'origin/dev' into Weblate. 2019-11-19 15:04:49 +01:00
chr56
8b26e5b106 Translated using Weblate (Chinese (Simplified))
Currently translated at 32.9% (165 of 501 strings)
2019-11-19 15:04:47 +01:00
Éfrit
495fa170a9 Translated using Weblate (French)
Currently translated at 100.0% (501 of 501 strings)
2019-11-19 15:04:37 +01:00
oskamuelller4fs
406d02fd28 Translated using Weblate (German)
Currently translated at 100.0% (501 of 501 strings)
2019-11-19 15:04:34 +01:00
Geoflly Adonias
3ad8883999 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (501 of 501 strings)
2019-11-19 15:04:33 +01:00
Redirion
dcd7055a9d Bump ExoPlayer to 2.10.8
Here we go again.
Minor update.
ExoPlayer Changelog: https://github.com/google/ExoPlayer/blob/release-v2/RELEASENOTES.md
2019-11-19 14:25:40 +01:00
Tobias Groza
a8e326ceea Merge pull request #2713 from mauriciocolli/compatibility-extractor
Use new Localization and Downloader implementations from extractor
2019-11-18 10:05:45 +01:00
Mauricio Colli
b125ff702a Show parsed relative times instead of whatever the service gives us
Before, the direct value was given to the user, now it uses the parsed
date so we can match the device's language.

To get the relative time from the parsed dates, we use the PrettyTime
library.

Also introduces a debug option to check the service's original value.
2019-11-17 23:58:55 -03:00
Mauricio Colli
6e546703a9 Show proper text for live streams watching/listening count 2019-11-17 23:58:54 -03:00
Mauricio Colli
71f1bbdcc1 Use new Localization and Downloader implementations from extractor 2019-11-17 23:58:52 -03:00
chr56
bdb86a7fde Translated using Weblate (Chinese (Simplified))
Currently translated at 19.2% (96 of 501 strings)
2019-11-16 23:06:09 +01:00
Pekka Ristola
8ac8258400 Translated using Weblate (Finnish)
Currently translated at 67.7% (339 of 501 strings)
2019-11-16 23:06:01 +01:00
Mattias Münster
0338ff8d51 Translated using Weblate (Swedish)
Currently translated at 91.2% (457 of 501 strings)
2019-11-16 23:06:00 +01:00
Éfrit
d694e61006 Translated using Weblate (French)
Currently translated at 100.0% (501 of 501 strings)
2019-11-16 23:05:53 +01:00
yausername
b6be586766 merged upstream/dev 2019-11-16 04:37:14 +05:30
thami simo
9915287a5a Translated using Weblate (Arabic)
Currently translated at 100.0% (501 of 501 strings)
2019-11-15 20:04:27 +01:00
WaldiS
cb19f792da Translated using Weblate (Polish)
Currently translated at 100.0% (501 of 501 strings)
2019-11-15 20:04:26 +01:00
winqooq
f449aee901 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (501 of 501 strings)
2019-11-15 20:04:26 +01:00
Jeff Huang
b665122c3c Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (501 of 501 strings)
2019-11-14 01:03:30 +01:00
Koo Hyomin
f4dbd5c9bd Translated using Weblate (Korean)
Currently translated at 100.0% (501 of 501 strings)
2019-11-14 01:03:30 +01:00
Pekka Ristola
cb6d7e6dd7 Translated using Weblate (Finnish)
Currently translated at 67.3% (337 of 501 strings)
2019-11-14 01:03:27 +01:00
ozyc
4d4a86f889 Translated using Weblate (French)
Currently translated at 100.0% (501 of 501 strings)
2019-11-14 01:03:26 +01:00
Adolfo Jayme Barrientos
e3829303f9 Translated using Weblate (Spanish)
Currently translated at 99.8% (500 of 501 strings)
2019-11-14 01:03:26 +01:00
Mitesh Sanjay Mutha
86d4cf3dfc Translated using Weblate (Hindi)
Currently translated at 100.0% (501 of 501 strings)
2019-11-14 01:03:25 +01:00
naofum
ed4196f732 Translated using Weblate (Japanese)
Currently translated at 100.0% (501 of 501 strings)
2019-11-14 01:03:23 +01:00
ozyc
af70fdd7a6 Translated using Weblate (Esperanto)
Currently translated at 100.0% (501 of 501 strings)
2019-11-14 01:03:22 +01:00
Oğuz Ersen
0ee6c1e47e Translated using Weblate (Turkish)
Currently translated at 100.0% (501 of 501 strings)
2019-11-14 01:02:57 +01:00
Ozyc
0886c6b216 Make reCAPTCHA string untranslatable
I updated reCaptchaActivity string and made it untranslatable, because it's causing "Failed check: Unchanged translation" on Weblate.
2019-11-11 15:24:06 +00:00
Hosted Weblate
754fe3adfb Merge branch 'origin/dev' into Weblate. 2019-11-10 00:04:35 +01:00
Deleted User
b5058f99ce Translated using Weblate (Norwegian Bokmål)
Currently translated at 99.2% (497 of 501 strings)
2019-11-10 00:04:32 +01:00
Jeff Huang
f7be693470 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (501 of 501 strings)
2019-11-10 00:04:31 +01:00
Deleted User
b772afeeab Translated using Weblate (Slovak)
Currently translated at 88.2% (442 of 501 strings)
2019-11-10 00:04:31 +01:00
Adolfo Jayme Barrientos
f0c7cb9f94 Translated using Weblate (Spanish)
Currently translated at 100.0% (501 of 501 strings)
2019-11-10 00:04:29 +01:00
zmni
1561c210fb Translated using Weblate (Indonesian)
Currently translated at 99.8% (500 of 501 strings)
2019-11-10 00:04:28 +01:00
thami simo
727fb27ad0 Translated using Weblate (Arabic)
Currently translated at 100.0% (501 of 501 strings)
2019-11-10 00:04:27 +01:00
gold.ris90
ceb1d70551 Translated using Weblate (Macedonian)
Currently translated at 75.6% (379 of 501 strings)
2019-11-10 00:04:25 +01:00
Yaron Shahrabani
720bff02aa Translated using Weblate (Hebrew)
Currently translated at 100.0% (501 of 501 strings)
2019-11-10 00:04:16 +01:00
ssantos
f82dd3e152 Translated using Weblate (Portuguese)
Currently translated at 100.0% (501 of 501 strings)
2019-11-10 00:04:15 +01:00
naofum
a3dff2c608 Translated using Weblate (Japanese)
Currently translated at 100.0% (501 of 501 strings)
2019-11-10 00:04:15 +01:00
ssantos
28f87dcb2b Translated using Weblate (German)
Currently translated at 100.0% (501 of 501 strings)
2019-11-10 00:04:14 +01:00
Oguz Ersen
4daae95979 Translated using Weblate (Turkish)
Currently translated at 100.0% (501 of 501 strings)
2019-11-10 00:04:13 +01:00
Tobias Groza
577bfab366 Merge pull request #2791 from Redirion/patch-2
Bump ExoPlayer to 2.10.7
2019-11-09 11:44:50 +01:00
Igor Nedoboy
655993d8f2 Translated using Weblate (Russian)
Currently translated at 100.0% (501 of 501 strings)
2019-11-08 23:18:51 +01:00
Redirion
3e079a6858 Bump ExoPlayer to 2.10.7
Little dependency update.
ExoPlayer Changelog: https://github.com/google/ExoPlayer/blob/release-v2/RELEASENOTES.md
2019-11-07 16:36:45 +01:00
Thomas Johansen
e5afffdced Translated using Weblate (Norwegian Bokmål)
Currently translated at 97.6% (489 of 501 strings)
2019-11-06 23:26:56 +01:00
Allan Nordhøy
a43c434376 Translated using Weblate (Norwegian Bokmål)
Currently translated at 97.6% (489 of 501 strings)
2019-11-06 23:26:55 +01:00
Laura Arjona Reina
225647cf65 Translated using Weblate (Spanish)
Currently translated at 100.0% (501 of 501 strings)
2019-11-06 11:30:36 +01:00
Swyter
fdab92c92b Translated using Weblate (Spanish)
Currently translated at 100.0% (501 of 501 strings)
2019-11-06 11:30:35 +01:00
Igor Nedoboy
72adb7a53b Translated using Weblate (Russian)
Currently translated at 100.0% (501 of 501 strings)
2019-11-05 21:47:34 +01:00
Igor Nedoboy
f84907e2c9 Translated using Weblate (Russian)
Currently translated at 100.0% (501 of 501 strings)
2019-11-05 13:15:15 +01:00
Igor Nedoboy
ab3b8d0a14 Translated using Weblate (Russian)
Currently translated at 100.0% (501 of 501 strings)
2019-11-05 09:07:26 +01:00
Hosted Weblate
5e7b635006 Merge branch 'origin/dev' into Weblate. 2019-11-04 17:52:01 +01:00
gold.ris90
58181ee37f Translated using Weblate (Macedonian)
Currently translated at 65.9% (315 of 478 strings)
2019-11-04 17:52:01 +01:00
Igor Nedoboy
4db4b3af86 Translated using Weblate (Russian)
Currently translated at 100.0% (478 of 478 strings)
2019-11-04 17:52:00 +01:00
Adolfo Jayme Barrientos
504f45efa6 Translated using Weblate (Spanish)
Currently translated at 100.0% (478 of 478 strings)
2019-11-04 17:51:57 +01:00
TobiGr
114a7ccdd4 Make "Default Kiosk" string translatable
Closes #2778
2019-11-04 11:21:41 +01:00
Tobias Groza
1a9b3c9d7c Merge pull request #2714 from mauriciocolli/introduce-kotlin
Update Gradle and introduce Kotlin to NewPipe
2019-11-03 13:48:10 +01:00
Mauricio Colli
137fabee0e Update Gradle and introduce Kotlin 2019-11-03 13:33:13 +01:00
TobiGr
2d41022ee4 Merge remote-tracking branch 'Weblate/dev' into dev 2019-11-03 13:01:55 +01:00
Allan Nordhøy
2ce0caa943 Translated using Weblate (Spanish)
Currently translated at 100.0% (478 of 478 strings)
2019-11-02 17:50:03 +01:00
Joseph Kim
2839154b68 Translated using Weblate (Korean)
Currently translated at 100.0% (478 of 478 strings)
2019-11-02 15:17:46 +01:00
Éfrit
e25c5544ba Translated using Weblate (French)
Currently translated at 100.0% (478 of 478 strings)
2019-11-02 15:17:45 +01:00
Adolfo Jayme Barrientos
7c70033f19 Translated using Weblate (Spanish)
Currently translated at 100.0% (478 of 478 strings)
2019-11-02 15:17:45 +01:00
WaldiS
59f90fcdfe Translated using Weblate (Polish)
Currently translated at 99.8% (477 of 478 strings)
2019-11-02 15:17:41 +01:00
Allan Nordhøy
e05def491f Translated using Weblate (Hindi)
Currently translated at 92.3% (441 of 478 strings)
2019-11-02 15:17:41 +01:00
Mitosagi
19738c0c1b Translated using Weblate (Japanese)
Currently translated at 100.0% (478 of 478 strings)
2019-11-02 15:17:41 +01:00
Enol P
0790a43aa2 Translated using Weblate (Asturian)
Currently translated at 47.1% (225 of 478 strings)
2019-11-02 15:17:40 +01:00
Igor Nedoboy
fd4a4d979a Translated using Weblate (Russian)
Currently translated at 100.0% (478 of 478 strings)
2019-11-02 15:17:36 +01:00
Adolfo Jayme Barrientos
6011dec272 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (478 of 478 strings)
2019-11-02 15:17:36 +01:00
Mitesh Sanjay Mutha
98ae78eb06 Translated using Weblate (Hindi)
Currently translated at 92.3% (441 of 478 strings)
2019-11-02 15:17:33 +01:00
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
Igor Nedoboy
0a66f54487 Translated using Weblate (Russian)
Currently translated at 100.0% (478 of 478 strings)
2019-10-29 22:27:46 +01:00
ssantos
5e2f373a57 Translated using Weblate (Portuguese)
Currently translated at 100.0% (478 of 478 strings)
2019-10-29 22:08:59 +01:00
Oguz Ersen
ae8f47500f Translated using Weblate (Turkish)
Currently translated at 100.0% (478 of 478 strings)
2019-10-29 22:08:58 +01:00
Igor Nedoboy
36c1e19ef0 Translated using Weblate (Russian)
Currently translated at 100.0% (478 of 478 strings)
2019-10-29 22:08:55 +01:00
Allan Nordhøy
dc933a5e66 Translated using Weblate (Norwegian Bokmål)
Currently translated at 97.5% (466 of 478 strings)
2019-10-28 16:31:50 +01:00
Jeff Huang
c7699a5a3b Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (478 of 478 strings)
2019-10-28 16:31:49 +01:00
naofum
0f656aa7a9 Translated using Weblate (Japanese)
Currently translated at 100.0% (478 of 478 strings)
2019-10-28 16:31:48 +01:00
Allan Nordhøy
1af8481fff Translated using Weblate (English)
Currently translated at 99.8% (477 of 478 strings)
2019-10-28 16:31:48 +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
Deleted User
3787c6ec70 Translated using Weblate (Norwegian Bokmål)
Currently translated at 97.7% (467 of 478 strings)
2019-10-27 06:12:50 +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
Enol P
3e7ff96445 Translated using Weblate (Asturian)
Currently translated at 40.6% (194 of 478 strings)
2019-10-25 21:29:55 +02:00
Hosted Weblate
558e3b1032 Merge branch 'origin/dev' into Weblate. 2019-10-22 03:31:44 +02:00
Allan Nordhøy
65279b3364 Translated using Weblate (Norwegian Bokmål)
Currently translated at 95.0% (454 of 478 strings)
2019-10-22 03:31:42 +02:00
Muhammad Sharjeel
d3ca184570 Translated using Weblate (Urdu)
Currently translated at 100.0% (478 of 478 strings)
2019-10-22 03:31:42 +02:00
01QueN10
40a2322e09 Translated using Weblate (Korean)
Currently translated at 99.0% (473 of 478 strings)
2019-10-22 03:31:08 +02:00
Mattias Münster
0b593b343e Translated using Weblate (Swedish)
Currently translated at 79.7% (381 of 478 strings)
2019-10-22 03:31:06 +02:00
ozyc
83dc62239f Translated using Weblate (French)
Currently translated at 100.0% (478 of 478 strings)
2019-10-22 03:31:05 +02:00
Igor Nedoboy
34cb44f2be Translated using Weblate (Russian)
Currently translated at 100.0% (478 of 478 strings)
2019-10-22 03:31:04 +02:00
ozyc
55a82b631e Translated using Weblate (Esperanto)
Currently translated at 58.4% (279 of 478 strings)
2019-10-22 03:31:03 +02: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
Igor Nedoboy
b358231b20 Translated using Weblate (Russian)
Currently translated at 100.0% (478 of 478 strings)
2019-10-19 00:23:12 +02:00
Igor Nedoboy
4579fa52ac Translated using Weblate (Russian)
Currently translated at 100.0% (478 of 478 strings)
2019-10-19 00:11:46 +02:00
Igor Nedoboy
b4449e4998 Translated using Weblate (Russian)
Currently translated at 100.0% (478 of 478 strings)
2019-10-19 00:07:21 +02:00
Goudarz Jafari
d5b1dceb66 Translated using Weblate (Persian)
Currently translated at 98.5% (471 of 478 strings)
2019-10-18 20:52:50 +02:00
Peter Hindes
8f46757c0d New no uploader, still needs a way to programaticly switch
preferably they can both be the same file and modified at runtime
2019-10-16 20:32:12 -06:00
Peter Hindes
87378fc79c Fixed library showing null 2019-10-16 19:56:31 -06:00
朱程宇
95f44cbe9a Translated using Weblate (Chinese (Simplified))
Currently translated at 1.7% (8 of 478 strings)
2019-10-16 05:20:38 +02:00
Jeff Huang
8849ddab81 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (478 of 478 strings)
2019-10-16 05:20:35 +02:00
Nathan
9a47714645 Translated using Weblate (French)
Currently translated at 100.0% (478 of 478 strings)
2019-10-16 05:20:34 +02:00
zmni
b1396b98a3 Translated using Weblate (Indonesian)
Currently translated at 100.0% (478 of 478 strings)
2019-10-16 05:20:33 +02:00
WaldiS
c3433baf0c Translated using Weblate (Polish)
Currently translated at 99.8% (477 of 478 strings)
2019-10-16 05:20:32 +02:00
zeritti
fab692c386 Translated using Weblate (Czech)
Currently translated at 100.0% (478 of 478 strings)
2019-10-16 05:20:32 +02:00
naofum
834f599fb1 Translated using Weblate (Japanese)
Currently translated at 100.0% (478 of 478 strings)
2019-10-16 05:20:31 +02:00
Enol P
701207dcc5 Translated using Weblate (Asturian)
Currently translated at 38.9% (186 of 478 strings)
2019-10-16 05:20:31 +02:00
Daniele Lira Mereb
19ba37dfad Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (478 of 478 strings)
2019-10-16 05:20:29 +02:00
Oguz Ersen
284228ef16 Translated using Weblate (Turkish)
Currently translated at 100.0% (478 of 478 strings)
2019-10-16 05:20:27 +02:00
Peter Hindes
ad2de3a828 only use TextUtils.equals (fixes more crashes) 2019-10-15 17:22:17 -06:00
Peter Hindes
797e1a105d Comment out debuging code 2019-10-15 14:02:37 -06:00
Peter Hindes
9c00e7f45c Using Strings
still need to find out why its null on the library
2019-10-15 12:49:24 -06:00
Tushar Pandey
26a1b1377d Added translation using Weblate (Pirate) 2019-10-15 17:13:04 +02:00
Peter Hindes
df2bb228c5 Much Simpler Fix 2019-10-15 09:11:04 -06:00
Peter Hindes
49db47c12c describe what "Auto-Generated" Means 2019-10-15 09:01:30 -06:00
Peter Hindes
cc1e5edaec Revert "Merge branch 'dev-all-changes' into dev"
This reverts commit f6060261a1, reversing
changes made to 8c73253a52.
2019-10-15 08:52:51 -06:00
Peter Hindes
f6060261a1 Merge branch 'dev-all-changes' into dev 2019-10-15 08:51:30 -06:00
Peter Hindes
8c73253a52 follow stye on debug 2019-10-15 08:48:36 -06:00
Peter Hindes
4106645d6e Polished Results 2019-10-15 08:40:51 -06:00
Peter Hindes
c68c35e084 Better FIx, Improved Comment Style 2019-10-15 07:19:11 -06:00
Peter Hindes
fd34b1a291 Fixes Improved 2019-10-15 07:18:06 -06:00
Peter Hindes
bfc987f81b Revert "Revert "Added a restart song button to signle track expanded notification""
This reverts commit 646e327ed2.
2019-10-14 18:01:15 -06:00
Peter Hindes
c93c52a58c Wrap in multiline comment so it colapses 2019-10-14 16:55:16 -06:00
Peter Hindes
e72c6eed24 Explain What we did in the code itself 2019-10-14 16:48:44 -06:00
Peter Hindes
646e327ed2 Revert "Added a restart song button to signle track expanded notification"
This reverts commit cb5c219ffe.
2019-10-14 16:41:38 -06:00
Peter Hindes
cb5c219ffe Added a restart song button to signle track expanded notification
... and some comments to the code
2019-10-14 16:37:58 -06:00
Peter Hindes
3794002c7b much simpler, "uploader" will never change on a playlist 2019-10-14 14:56:04 -06:00
Peter Hindes
bd2b32bfbc Fixed Playlists With No Uploader Crashing The App 2019-10-14 11:55:55 -06:00
Haggai Eran
884528927e Fix Hebrew translation on some devices
Hebrew on android uses two locale codes (iw and he).
See details here: https://stackoverflow.com/a/8470980

For example, Nexus 7 (2013) uses iw, so it shows the English UI even when configuring the tablet to use Hebrew.

Add a symbolic link from values-iw to values-he so both use the same strings.
2019-10-12 12:21:01 +03:00
Igor Nedoboy
4688b1fe23 Translated using Weblate (Russian)
Currently translated at 100.0% (478 of 478 strings)
2019-10-12 07:08:12 +02:00
Hosted Weblate
dfd558f848 Merge branch 'origin/dev' into Weblate. 2019-10-11 16:00:20 +02:00
ssantos
d2e065d273 Translated using Weblate (Portuguese)
Currently translated at 100.0% (478 of 478 strings)
2019-10-11 16:00:20 +02:00
AntonAkovP
84a52342ab Translated using Weblate (Bulgarian)
Currently translated at 80.5% (385 of 478 strings)
2019-10-11 16:00:19 +02:00
Igor Nedoboy
6f3d5e9fb8 Translated using Weblate (Russian)
Currently translated at 100.0% (478 of 478 strings)
2019-10-11 16:00:18 +02:00
朱程宇
7d18eb8b02 Translated using Weblate (Chinese (Hong Kong))
Currently translated at 28.0% (134 of 478 strings)
2019-10-11 16:00:17 +02:00
朱程宇
7e3eb5e14d Added translation using Weblate (Chinese (Simplified)) 2019-10-11 16:00:09 +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
Christian Schabesberger
7ba71e3b37 use newerextractor 2019-08-22 11:39:32 +02:00
Christian Schabesberger
670a95a01d Merge pull request #2530 from TeamNewPipe/release_v0.17.1
Release v0.17.1
2019-08-22 11:21:06 +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
Tobias Groza
acea26717c Fix another %s in translation 2019-08-21 14:35:39 +02:00
TobiGr
e6bcb4628a Fix Portuguese minimize_on_exit_summary
Fix #2522
2019-08-21 14:35:39 +02:00
TobiGr
c4f08d541d Add changelog for 0.17.1 (760) 2019-08-21 14:35:39 +02:00
TobiGr
58546751dd Merge remote-tracking branch 'Weblate/dev' into dev 2019-08-21 14:35:31 +02:00
Hosted Weblate
5470c9a002 Merge branch 'origin/dev' into Weblate. 2019-08-19 20:23:29 +02:00
Xiang Xu
8885b45259 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (471 of 471 strings)
2019-08-19 20:23:28 +02:00
Westminboy
85632b24fc Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (471 of 471 strings)
2019-08-19 20:23:27 +02:00
Yaron Shahrabani
96802c7b5c Translated using Weblate (Hebrew)
Currently translated at 100.0% (471 of 471 strings)
2019-08-19 20:23:27 +02:00
ssantos
e5207f8b42 Translated using Weblate (Portuguese)
Currently translated at 100.0% (471 of 471 strings)
2019-08-19 20:23:25 +02:00
naofum
9d573e1b1d Translated using Weblate (Japanese)
Currently translated at 100.0% (471 of 471 strings)
2019-08-19 20:23:24 +02:00
Yaron Shahrabani
dd276aabc1 Translated using Weblate (English)
Currently translated at 100.0% (471 of 471 strings)
2019-08-19 20:23:22 +02:00
Eduardo Caron
e4d0635ae1 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (471 of 471 strings)
2019-08-19 20:23:21 +02:00
TobiGr
60f534d7a1 Merge remote-tracking branch 'Weblate/dev' into dev 2019-08-18 11:30:04 +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
Allan Nordhøy
223ddaa9bf Translated using Weblate (Norwegian Bokmål)
Currently translated at 96.8% (456 of 471 strings)
2019-08-18 07:09:54 +02:00
Westminboy
1d6c722c28 Translated using Weblate (Chinese (Simplified))
Currently translated at 99.8% (470 of 471 strings)
2019-08-18 07:09:53 +02:00
Florian
9c9dd6c7bf Translated using Weblate (French)
Currently translated at 98.3% (463 of 471 strings)
2019-08-18 07:09:51 +02:00
zmni
7ff48a6d84 Translated using Weblate (Indonesian)
Currently translated at 99.2% (467 of 471 strings)
2019-08-18 07:09:50 +02:00
thami simo
645e16fd90 Translated using Weblate (Arabic)
Currently translated at 99.6% (469 of 471 strings)
2019-08-18 07:09:49 +02:00
Trần Lê Nhật Huy
1bb58a10e2 Translated using Weblate (Vietnamese)
Currently translated at 99.6% (469 of 471 strings)
2019-08-18 07:09:47 +02:00
ΜŜβ
118788436e Translated using Weblate (Punjabi)
Currently translated at 99.6% (469 of 471 strings)
2019-08-18 07:09:45 +02:00
Marc Riera
0b0f7919a2 Translated using Weblate (Catalan)
Currently translated at 95.8% (451 of 471 strings)
2019-08-18 07:09:12 +02:00
uievawkejf
c8e23fb6ce Translated using Weblate (Ukrainian)
Currently translated at 99.4% (468 of 471 strings)
2019-08-18 07:09:11 +02:00
Osoitz
bc10717f61 Translated using Weblate (Basque)
Currently translated at 99.4% (468 of 471 strings)
2019-08-18 07:09:10 +02:00
Westminboy
e621dd3b28 Translated using Weblate (English)
Currently translated at 100.0% (471 of 471 strings)
2019-08-18 07:09:08 +02:00
Tobias Groza
20208be556 Translated using Weblate (German)
Currently translated at 99.4% (468 of 471 strings)
2019-08-18 07:09:06 +02:00
Kowith Singkornkeeree
9074733aab Translated using Weblate (Thai)
Currently translated at 54.8% (258 of 471 strings)
2019-08-18 07:09:06 +02:00
Westminboy
ae0ee61e7d Translated using Weblate (English)
Currently translated at 100.0% (471 of 471 strings)
2019-08-18 07:09:03 +02:00
Allan Nordhøy
ac797196f5 Translated using Weblate (English)
Currently translated at 100.0% (471 of 471 strings)
2019-08-18 07:09:03 +02:00
Christian Schabesberger
30aa64e9c6 Merge branch 'dev' of github.com:teamnewpipe/newpipe into dev 2019-08-18 01:01:43 +02:00
Christian Schabesberger
b992add77b move on to version 0.17.1 2019-08-18 01:00:54 +02:00
TobiGr
88ebd963f7 Merge remote-tracking branch 'Weblate/dev' into dev 2019-08-18 00:51:52 +02:00
Christian Schabesberger
96baa2978d Merge pull request #2521 from kapodamy/saf-workarround
Downloads: add switch for saf/legacy file picker
2019-08-18 00:42:59 +02:00
Christian Schabesberger
c01609b858 Merge branch 'dev' into saf-workarround 2019-08-18 00:40:43 +02:00
Christian Schabesberger
c89f0e5547 Merge pull request #2527 from Stypox/recaptcha-with-url
Fix ReCaptchaActivity
2019-08-18 00:39:30 +02:00
kapodamy
10dfcbf0b9 add manual switch in download setting fragment
switch for:
* Java I/O Api
* Storage Access Framework
2019-08-17 13:38:33 -03:00
Stypox
43446d56c5 Load the url from the exception in the ReCaptchaActivity
Sometimes YouTube introduces recaptchas only on some pages. By loading the url inside the ReCaptchaException into ReCaptchaActivity's webview, the page that originally caused the problem is shown. The user can then solve the page-specific recaptcha.
2019-08-17 09:33:51 +02:00
Stypox
e66f2ab36b Fix ReCaptchaActivity layout crash due to hidden EditText
Closes #2484
2019-08-17 09:33:20 +02:00
Stypox
63def07a0e Add url to recaptcha exceptions, after update in extractor 2019-08-17 09:25:49 +02:00
kapodamy
1ba7710af8 Merge remote-tracking branch 'origin/saf-workarround' into saf-workarround 2019-08-15 21:49:21 -03:00
kapodamy
8f13a7ec97 check if the if the content provider is disabled (the app itself) 2019-08-15 21:48:07 -03:00
Christian Schabesberger
93dff5cf7a Merge branch 'dev' into saf-workarround 2019-08-15 14:37:19 +02:00
Christian Schabesberger
6a0450b9f6 Merge pull request #2516 from rogersachan/patch-1
Add GitHub sponsors button to feature liberapay
2019-08-15 14:36:58 +02:00
nautilusx
fffeadd8ea Translated using Weblate (German)
Currently translated at 100.0% (471 of 471 strings)
2019-08-15 09:51:19 +02:00
Hosted Weblate
b697e058d9 Merge branch 'origin/dev' into Weblate. 2019-08-15 06:23:56 +02:00
thami simo
14db8b1283 Translated using Weblate (Arabic)
Currently translated at 100.0% (451 of 451 strings)
2019-08-15 06:23:54 +02:00
Kowith Singkornkeeree
45ad8621cf Translated using Weblate (Thai)
Currently translated at 59.4% (268 of 451 strings)
2019-08-15 06:23:54 +02:00
kapodamy
dee3a18ea8 misc changes
* restore permission request popup previously removed in #2486
* use legacy file picker in cases where saf file picker is not available
* fix missing file check logic in prepareSelectedDownload method (DownloadDialog.java)
2019-08-15 01:09:36 -03:00
kapodamy
950cf714d9 use legacy file picker in those cases where saf is not available 2019-08-14 22:15:42 -03:00
kapodamy
652184506b check for Storage Access Framework features
* creating files though saf
* picking folder though saf
2019-08-14 21:54:26 -03:00
Andrew
89f2cd6ec0 Merge branch 'dev' into patch-1 2019-08-14 17:39:57 +01:00
Roger
6457cac797 Merge branch 'dev' into patch-1 2019-08-14 11:42:46 -04:00
Christian Schabesberger
f66c2ba171 Merge pull request #2518 from Stypox/playlist-play-from-here
Customize "start here" actions in playlist item views
2019-08-14 15:01:37 +02:00
Christian Schabesberger
6133c97f45 Merge branch 'dev' into playlist-play-from-here 2019-08-14 14:53:06 +02:00
Christian Schabesberger
0dc71ce37a Merge pull request #2517 from Stypox/list-slowdown-fix
List slowdown fix
2019-08-14 14:51:18 +02:00
Stypox
c96a05a8f9 Customize "start here" actions in playlist item views
Now those actions start playing the whole playlist from the chosen stream, instead of playing only the chosen stream.
2019-08-14 14:17:05 +02:00
Stypox
c190dc4792 Fix annotation warnings in modified files 2019-08-14 13:11:44 +02:00
Stypox
ebf91d27c7 Clean up code for addItems() on ItemListAdapters. 2019-08-14 13:11:16 +02:00
Stypox
63301ee771 Remove "Trollolo" logs
They were probably left behind by accident after a debugging session.
2019-08-14 12:57:04 +02:00
Stypox
7da827a06a Fix annotation warnings 2019-08-14 12:55:17 +02:00
Stypox
00fc5217f5 Fix potential disposable leak in PlaylistAppendDialog 2019-08-14 12:54:17 +02:00
Stypox
04e725bb50 Fix some inspection warnings in modified files 2019-08-14 11:49:37 +02:00
Stypox
e6617ff8e8 Fix slowdowns in stream list views
Now the playback state of a stream is loaded only when needed (i.e. when the stream is visible), just as it is done with thumbnails.
Removed `StateObjectsListAdapter.java`, which used to load the state of every stream at list instantiation, generating slowdowns and freezes.
2019-08-14 11:42:39 +02:00
Roger
1b0a958436 Create FUNDING.yml 2019-08-13 22:10:04 -04:00
TobiGr
5053d470f6 Do not save playback position when watch history is disabled 2019-08-13 14:39:57 +02:00
TobiGr
8de5c53485 Fix typo in HistorySettinsFragment
Rename viewsHistroyClearKey to viewsHistoryClearKey
2019-08-13 14:25:47 +02:00
TobiGr
ec3ae7c7b8 Clean up string resources 2019-08-12 17:35:36 +02:00
TobiGr
c46af7d194 Merge branch 'weblate' into dev 2019-08-12 17:25:10 +02:00
Kowith Singkornkeeree
5254e85840 Added translation using Weblate (Thai) 2019-08-12 15:02:32 +02:00
Tobias Groza
5883f6e763 Merge pull request #2487 from kapodamy/buttons-hiding-fix-on-screen-off
fixup for #2149 (missing buttons)
2019-08-12 14:16:03 +02:00
Tobias Groza
c02383d7d9 Merge branch 'dev' into buttons-hiding-fix-on-screen-off 2019-08-12 13:57:02 +02:00
Christian Schabesberger
f98e5cc22d Merge pull request #2502 from Stypox/fix-player-resume
Fix player resume
2019-08-12 10:47:21 +02:00
Christian Schabesberger
9fbb61a744 make fastlane description better suted for fdroid 2019-08-11 23:18:56 +02:00
Stypox
5191907af0 Fix player resume 2019-08-11 22:10:05 +02:00
kapodamy
35a69b4b1d update download_menu.xml
use "ifRoom" and "always" in cases where is possible
2019-08-10 15:56:59 -03: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
yausername
a64f520644 fix item addition to list 2019-08-07 22:27:58 +05:30
yausername
5aced46345 remove controls animation/flicker 2019-08-07 22:27:58 +05:30
TobiGr
3cd485069d Fix playback position not being deleted on clearing watch history 2019-08-07 14:34:49 +02:00
Christian Schabesberger
fabb07bb28 fix import settings not working 2019-08-04 17:27:56 +02:00
kapodamy
2328ea6d07 dont hardcode the buttons 2019-08-03 12:44:55 -03:00
kapodamy
0375194e7d fix start/pause buttons disappear when screen goes off
* fix start/pause buttons disappear, issued by RecyclerView re-draw
* show start/pause buttons in pair to avoid confusions
2019-08-03 12:28:58 -03:00
kapodamy
5a6a6bcc78 clean-up: remove unused method 2019-08-03 12:28:58 -03:00
TobiGr
c8f475bba1 Add changelog for 0.17.0 2019-08-03 00:35:45 +02:00
TobiGr
31f3757880 Move on to version 0.17.0 (750) 2019-08-03 00:35:45 +02:00
Igor Nedoboy
a60a9bb144 Translated using Weblate (Russian)
Currently translated at 100.0% (451 of 451 strings)
2019-08-02 23:07:42 +02:00
Tobias Groza
21a90bb7ee Merge pull request #2486 from kapodamy/32k-issue-fix
Fix slow download speed
2019-08-02 22:23:34 +02: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
kapodamy
2f66913813 drop unused popup storage permission request 2019-08-02 01:07:37 -03:00
kapodamy
d9b042d9e3 socket leak fix
* fix socket leak in "DownloadRunnable"
* in "DownloadInitializer" close the HTTP body after doing range-request checks
* in "DownloadRunnableFallback" fix typo in comment
* in "DownloadDialog" fix regression, using one thread for audios instead of subtitles
2019-08-01 22:41:09 -03:00
Marc Riera
ef9044d933 Translated using Weblate (Catalan)
Currently translated at 98.4% (444 of 451 strings)
2019-08-01 19:47:13 +02:00
Bas Conrads
12c9dbf1bf Translated using Weblate (Esperanto)
Currently translated at 18.6% (84 of 451 strings)
2019-08-01 19:47:12 +02:00
Nenad
8cc8aa8693 Translated using Weblate (Serbian)
Currently translated at 50.1% (226 of 451 strings)
2019-08-01 19:47:09 +02:00
TobiGr
e529b16956 Merge branch 'weblate' into release_v0.17.0 2019-08-01 01:44:25 +02:00
TobiGr
ffe8d4b689 Update extractor version to fix video duration parsing failure 2019-07-31 18:35:46 +02:00
Tobias Groza
4e5a20ec45 Merge pull request #2368 from Stypox/menu-consistency
Make long-press menu consistent across views
2019-07-31 13:37:49 +02:00
Stypox
7c9ef58acd Fix crash when closing a not-yet-loaded popup. 2019-07-25 12:32:56 +02:00
Stypox
d076fe72cd Optimize imports in edited files 2019-07-25 11:47:38 +02:00
Stypox
25fbbfaf94 Rename action to defaultAction in StreamDialogEntry
To improve readability
2019-07-25 01:07:51 +02:00
Stypox
9df27f43de Ensure default actions cannot be overwritten permanently in StreamDialogEntry 2019-07-25 00:53:13 +02:00
Stypox
759e9846ad Remove ugly if-else-cascade in
Common actions and labels are now in a unique enum: StreamDialogEntry
If an action is not common to every long-press menu (e.g. delete) a custom action has to be provided using e.g. delete.setAction(...)
2019-07-25 00:44:12 +02:00
Stypox
3aeba7ca8a Merge branch 'dev' into menu-consistency 2019-07-24 17:21:45 +02:00
hatsunearu
2a44a091c8 Translated using Weblate (Korean)
Currently translated at 100.0% (451 of 451 strings)
2019-07-23 03:18:37 +02:00
JS Ahn
4c92aebc3c Translated using Weblate (Korean)
Currently translated at 100.0% (451 of 451 strings)
2019-07-23 03:16:54 +02:00
JS Ahn
d4ecd0dfab Translated using Weblate (Korean)
Currently translated at 100.0% (451 of 451 strings)
2019-07-23 03:15:50 +02:00
bluepencil
3f790d01fa Translated using Weblate (Korean)
Currently translated at 100.0% (451 of 451 strings)
2019-07-23 03:15:49 +02:00
Christian Schabesberger
e7b068ed8e Merge pull request #2203 from yausername/defaultTrending
added default kiosk
2019-07-22 23:31:14 +02:00
Christian Schabesberger
bd485937c4 Merge branch 'dev' into defaultTrending 2019-07-22 22:39:47 +02:00
Stypox
8edc332a4e Fix showing popup options with audio-only streams 2019-07-22 11:58:01 +02:00
Stypox
bb5028364b Complete merge after #2288: add resumePlayback to player calls.
`resumePlayback`'s value is `false` when the video is enqueued, `true` otherwise.
Also make the use of getContext() and getActivity() more consistant.
2019-07-22 10:28:53 +02:00
Stypox
ef070a4e0e Merge branch 'dev' into menu-consistency 2019-07-22 09:10:25 +02:00
Christian Schabesberger
6787d0224c Merge pull request #2453 from m0n1ker/issue-2240
Update play queue metadata
2019-07-21 16:14:02 +02:00
Christian Schabesberger
8a43e24095 Merge branch 'dev' into issue-2240 2019-07-21 16:07:32 +02:00
Christian Schabesberger
f879f549e4 Merge pull request #2440 from kapodamy/dl-bux-fix
fix downloads stuck at 99.9%
2019-07-21 16:04:52 +02:00
Christian Schabesberger
db55484163 Merge branch 'dev' into dl-bux-fix 2019-07-21 15:38:39 +02:00
Christian Schabesberger
4d8f66f28e Merge pull request #2444 from moneytoo/rotate
Handle (auto)rotation changes during activity lifecycle
2019-07-21 15:37:55 +02:00
Christian Schabesberger
7a44061fa3 Merge branch 'dev' into rotate 2019-07-21 15:12:41 +02:00
Christian Schabesberger
5d4bb42e39 Merge branch 'dev' into dl-bux-fix 2019-07-21 15:10:57 +02:00
Christian Schabesberger
3a6c22da5c update to latest dev extractor 2019-07-21 15:08:17 +02:00
Stypox
064f0e414a Merge branch 'dev' into menu-consistency 2019-07-21 11:11:06 +02:00
Mostafa Ahangarha
77db3cb6fa Translated using Weblate (Persian)
Currently translated at 70.7% (319 of 451 strings)
2019-07-18 18:05:12 +02:00
bluepencil
b83a1fd102 Translated using Weblate (Korean)
Currently translated at 100.0% (451 of 451 strings)
2019-07-16 08:03:42 +02:00
Igor Nedoboy
99c519c065 Translated using Weblate (Russian)
Currently translated at 100.0% (451 of 451 strings)
2019-07-13 21:00:45 +02:00
Allan Nordhøy
632e52b38d Translated using Weblate (Norwegian Bokmål)
Currently translated at 97.6% (440 of 451 strings)
2019-07-11 21:01:06 +02:00
Syver Stensholt
1b66ffac6c Translated using Weblate (Norwegian Bokmål)
Currently translated at 97.6% (440 of 451 strings)
2019-07-11 21:01:04 +02:00
Alan Nelson
ee9052ad3d Add title to additional metadata object 2019-07-11 00:48:28 -05:00
John Doe
550c74da77 Translated using Weblate (Croatian)
Currently translated at 100.0% (451 of 451 strings)
2019-07-10 13:01:11 +02:00
Alan Nelson
ccdd450283 Add current and total track numbers to metadata 2019-07-09 22:37:03 -05:00
Alan Nelson
224a607bc3 Fix Bluetooth AVRCP duration metadata 2019-07-09 22:34:18 -05:00
random r
8fcd23663c Translated using Weblate (Italian)
Currently translated at 100.0% (451 of 451 strings)
2019-07-09 11:00:59 +02:00
Tobias Groza
ad79a71fbd Merge pull request #2423 from Redirion/patch-2
Silence CheckForNewAppVersionTask
2019-07-07 21:08:01 +02:00
Tobias Groza
d862a59349 Merge branch 'dev' into patch-2 2019-07-07 20:39:26 +02:00
D D
2d6362dddb Translated using Weblate (Bulgarian)
Currently translated at 85.4% (385 of 451 strings)
2019-07-06 21:01:14 +02:00
Flo - Fan
ee3ec3a4ea Translated using Weblate (French)
Currently translated at 100.0% (451 of 451 strings)
2019-07-05 17:01:08 +02:00
THANOS SIOURDAKIS
daecfd97c2 Translated using Weblate (Greek)
Currently translated at 100.0% (451 of 451 strings)
2019-07-05 17:01:07 +02:00
Khaleel Jageer
200a81d536 Translated using Weblate (Tamil)
Currently translated at 33.7% (152 of 451 strings)
2019-07-05 17:01:07 +02:00
Marcel Dopita
8059ac89d3 Handle (auto)rotation changes during activity lifecycle
Fixes #1156
2019-07-04 07:30:01 +02:00
kapodamy
60f5f07dd6 commit (3 changes)
* re-write download segmenting logic (issue #).
* clean-up download threads handling.
* fix race-condition if "pause" option in download context menu was selected, in the transition from "pending" to "finished" state.
2019-07-02 21:07:21 -03:00
Osoitz
372d5ce413 Translated using Weblate (Basque)
Currently translated at 100.0% (451 of 451 strings)
2019-07-02 12:01:06 +02:00
Mehmetali
6f97819ca7 Translated using Weblate (Turkish)
Currently translated at 100.0% (451 of 451 strings)
2019-07-02 12:01:03 +02:00
JoC
2b2ee56712 Translated using Weblate (Spanish)
Currently translated at 100.0% (451 of 451 strings)
2019-06-28 10:01:02 +02:00
thami simo
3715326034 Translated using Weblate (Arabic)
Currently translated at 100.0% (451 of 451 strings)
2019-06-28 10:01:00 +02:00
Cenk YILDIZLI
6cbb8b1753 Translated using Weblate (Turkish)
Currently translated at 99.1% (447 of 451 strings)
2019-06-28 10:00:57 +02:00
Christian Schabesberger
806896ea05 Merge pull request #2295 from sherlockbeard/removeextra
removed the gema strings.
2019-06-27 14:29:42 +02:00
Redirion
fc8746e077 Update CheckForNewAppVersionTask.java 2019-06-26 18:37:04 +02:00
Christian Schabesberger
e11df5bb49 Merge branch 'dev' into removeextra 2019-06-26 15:42:47 +02:00
Redirion
37a9e98ebc Update CheckForNewAppVersionTask.java 2019-06-25 13:53:23 +02:00
Redirion
80b4975188 Update CheckForNewAppVersionTask.java 2019-06-25 13:47:16 +02:00
Redirion
c4ef40f4dc Removed tabs 2019-06-25 13:41:08 +02:00
Redirion
6a4bb6e3e1 Update CheckForNewAppVersionTask.java 2019-06-25 13:39:47 +02:00
Redirion
05ef926a7f Update CheckForNewAppVersionTask.java 2019-06-25 13:31:26 +02:00
Redirion
0007451735 Update CheckForNewAppVersionTask.java 2019-06-25 13:22:40 +02:00
Redirion
e599de038a Silence CheckForNewAppVersionTask
Closes #2421
2019-06-25 11:49:59 +02:00
Tobias Groza
61472a995f Merge pull request #2288 from nv95/playback_state_list
Playback positions in lists
2019-06-23 19:44:13 +02:00
Vasily
2a41802f36 Merge branch 'dev' into playback_state_list 2019-06-23 20:23:29 +03:00
gkhnblt
1d1cee17c3 Translated using Weblate (Turkish)
Currently translated at 98.0% (442 of 451 strings)
2019-06-23 19:00:19 +02:00
Michael Moroni
e99266f9d8 Translated using Weblate (Italian)
Currently translated at 100.0% (451 of 451 strings)
2019-06-21 14:00:36 +02:00
Eduardo Caron
1f2cd064f7 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (451 of 451 strings)
2019-06-21 14:00:35 +02:00
minsk21
9c2cf9eef7 Translated using Weblate (Belarusian)
Currently translated at 73.4% (331 of 451 strings)
2019-06-18 21:02:47 +02:00
Tobias Groza
38b0b79644 Merge pull request #2149 from kapodamy/ps-branch
Downloader fixes
2019-06-17 22:53:11 +02:00
JoC
5252834075 Translated using Weblate (Spanish)
Currently translated at 100.0% (451 of 451 strings)
2019-06-15 19:53:20 +02:00
kapodamy
162df5eb6c Merge branch 'dev' into ps-branch 2019-06-14 12:55:49 -03:00
kapodamy
ac5e2e0532 bugs fixes
* fix storage warning dialogs created on invalid contexts
* implement mkdirs in StoredDirectoryHelper
2019-06-14 12:19:50 -03:00
Stypox
f0ba6afbdf Merge branch 'dev' into menu-consistency 2019-06-14 09:40:40 +02:00
Hosted Weblate
04a5f43472 Merge branch 'origin/dev' into Weblate. 2019-06-13 14:30:35 +02:00
Allan Nordhøy
a15ef4b7ce Translated using Weblate (Norwegian Bokmål)
Currently translated at 94.9% (428 of 451 strings)
2019-06-13 14:30:34 +02:00
Jeff Huang
f1f9147433 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (451 of 451 strings)
2019-06-13 14:30:33 +02:00
Nathan Follens
3c0d7de377 Translated using Weblate (Flemish)
Currently translated at 100.0% (451 of 451 strings)
2019-06-13 14:30:31 +02:00
Arnaud Jacquemin
2a57d74f1a Translated using Weblate (French)
Currently translated at 100.0% (451 of 451 strings)
2019-06-13 14:30:29 +02:00
Florian
79717859b3 Translated using Weblate (French)
Currently translated at 100.0% (451 of 451 strings)
2019-06-13 14:30:28 +02:00
Prashant Shahi
be423939ed Translated using Weblate (Nepali)
Currently translated at 6.0% (27 of 451 strings)
2019-06-13 14:30:27 +02:00
Nathan Follens
086cceb271 Translated using Weblate (Dutch)
Currently translated at 100.0% (451 of 451 strings)
2019-06-13 14:30:21 +02:00
zmni
a14033afb7 Translated using Weblate (Indonesian)
Currently translated at 99.8% (450 of 451 strings)
2019-06-13 14:30:20 +02:00
Rex_sa
cc89a342ed Translated using Weblate (Arabic)
Currently translated at 100.0% (451 of 451 strings)
2019-06-13 14:30:18 +02:00
ButterflyOfFire
25c3669564 Translated using Weblate (Arabic)
Currently translated at 100.0% (451 of 451 strings)
2019-06-13 14:30:17 +02:00
Michael Moroni
21eff0b2ec Translated using Weblate (Italian)
Currently translated at 98.2% (443 of 451 strings)
2019-06-13 14:30:16 +02:00
pjammo
472fd72c82 Translated using Weblate (Italian)
Currently translated at 98.2% (443 of 451 strings)
2019-06-13 14:30:15 +02:00
WaldiS
429a9a42d3 Translated using Weblate (Polish)
Currently translated at 100.0% (451 of 451 strings)
2019-06-13 14:30:13 +02:00
Yaron Shahrabani
90c525e99a Translated using Weblate (Hebrew)
Currently translated at 100.0% (451 of 451 strings)
2019-06-13 14:30:12 +02:00
Stjepan
196117998a Translated using Weblate (Croatian)
Currently translated at 99.3% (448 of 451 strings)
2019-06-13 14:30:10 +02:00
ssantos
630cbc77a8 Translated using Weblate (Portuguese)
Currently translated at 100.0% (451 of 451 strings)
2019-06-13 14:30:09 +02:00
Marc Riera
b6e4afe321 Translated using Weblate (Catalan)
Currently translated at 97.1% (438 of 451 strings)
2019-06-13 14:30:06 +02:00
naofum
59085ff8c8 Translated using Weblate (Japanese)
Currently translated at 100.0% (451 of 451 strings)
2019-06-13 14:30:04 +02:00
AB
a4274c6301 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (451 of 451 strings)
2019-06-13 14:30:02 +02:00
THANOS SIOURDAKIS
b4ef44b343 Translated using Weblate (Greek)
Currently translated at 100.0% (451 of 451 strings)
2019-06-13 14:30:01 +02:00
postsorino
08bc97582b Translated using Weblate (Greek)
Currently translated at 100.0% (451 of 451 strings)
2019-06-13 14:30:00 +02:00
gabriellluz
3952c88510 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (451 of 451 strings)
2019-06-13 14:29:59 +02:00
Lucas Ayala
b1f27b9da7 Translated using Weblate (Spanish)
Currently translated at 100.0% (451 of 451 strings)
2019-06-13 14:29:55 +02:00
Tobias Groza
171b258d5c Merge pull request #2394 from Redirion/patch-1
Fixed selected subtitle track name not being shown
2019-06-12 22:50:34 +02:00
Redirion
af971b6a19 Fixed selected subtitle stream not being shown
closes #2393
this ammends my obviously incomplete fix in PR #2311.

This is just an UI issue. Subtitle track selection works, it just shows "No Captions" unfortunately.
2019-06-12 14:44:36 +02:00
Karel S
7ca026393b Translated using Weblate (Czech)
Currently translated at 100.0% (451 of 451 strings)
2019-06-12 10:52:28 +02:00
Vojtěch Šamla
f8784ae3c7 Translated using Weblate (Czech)
Currently translated at 100.0% (451 of 451 strings)
2019-06-12 10:52:27 +02:00
ssantos
3ddc3acf4c Translated using Weblate (German)
Currently translated at 100.0% (451 of 451 strings)
2019-06-06 08:57:12 +02:00
nautilusx
ff430f5e33 Translated using Weblate (German)
Currently translated at 100.0% (451 of 451 strings)
2019-06-06 08:57:12 +02:00
Prashant Shahi
daf2890161 Added translation using Weblate (Nepali) 2019-06-05 17:16:25 +02:00
Igor Nedoboy
4ca639323d Translated using Weblate (Russian)
Currently translated at 100.0% (451 of 451 strings)
2019-06-05 00:59:48 +02:00
Igor Nedoboy
a92bf155a3 Translated using Weblate (Russian)
Currently translated at 100.0% (451 of 451 strings)
2019-06-05 00:48:25 +02:00
Igor Nedoboy
d153772eb2 Translated using Weblate (Russian)
Currently translated at 100.0% (451 of 451 strings)
2019-06-05 00:37:18 +02:00
kapodamy
cdc8fe86ce amend rebase
resolve inconsistency in string.xml files
2019-06-04 15:45:28 -03:00
Hosted Weblate
4844037ce9 Merge branch 'origin/dev' into Weblate. 2019-06-04 13:40:03 +02:00
Jeff Huang
691c1e1a37 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (443 of 443 strings)
2019-06-04 13:40:03 +02:00
Jazz
bd55b91a86 Translated using Weblate (French)
Currently translated at 99.8% (442 of 443 strings)
2019-06-04 13:40:02 +02:00
Eduardo Serra
8842f53696 Translated using Weblate (Spanish)
Currently translated at 100.0% (443 of 443 strings)
2019-06-04 13:40:02 +02:00
ButterflyOfFire
ffed9f6116 Translated using Weblate (Arabic)
Currently translated at 100.0% (443 of 443 strings)
2019-06-04 13:40:01 +02:00
pjammo
50e8f45601 Translated using Weblate (Italian)
Currently translated at 100.0% (443 of 443 strings)
2019-06-04 13:40:00 +02:00
WaldiS
8cbfe9e6cf Translated using Weblate (Polish)
Currently translated at 100.0% (443 of 443 strings)
2019-06-04 13:40:00 +02:00
Karel S
99ad3dc292 Translated using Weblate (Czech)
Currently translated at 99.8% (442 of 443 strings)
2019-06-04 13:40:00 +02:00
monolifed
6908355d38 Translated using Weblate (Turkish)
Currently translated at 100.0% (443 of 443 strings)
2019-06-04 13:39:56 +02:00
kapodamy
7b948f83c3 Space reserving tweaks for huge video resolutions
* improve space reserving, allows write better 4K/8K video data
* do not use cache dirs in the muxers, Android can force close NewPipe if the device is running out of storage. Is a aggressive cache cleaning >:/
* (for devs) webm & mkv are the same thing
* calculate the final file size inside of the mission, instead getting from the UI
* simplify ps algorithms constructors
* [missing old commit message] simplify the loading of pending downloads
2019-06-03 18:26:26 -03:00
kapodamy
34b2b96158 Simplify the storage APIs use
* use Java I/O (classic way) on older android versions
* use Storage Access Framework on newer android versions (Android Lollipop or later)
* both changes have the external SD Card write permission
* add option to ask the save path on each download
* warn the user if the save paths are not defined, this only happens on the first NewPipe run (Android Lollipop or later)
2019-06-03 18:26:24 -03:00
kapodamy
d1573a0a6e misc changes
* implement socket timeout error
* use 128k buffer size for copy
* use NewPipe HTTP user agent in the downloads
* automatically recover downloads with network errors that are queued
2019-06-03 18:25:43 -03:00
kapodamy
16d6bda85d Webm muxer fixes and strings.xml changes
* replace "In queue" to "Pending" in the downloads header to avoid confusions (all languages)
* use 29bits Clusters size to support huge video resolutions (fixes #2291) (WebmWriter.java)
* add missing changes to WebmMuxer.java (i forget select the audio track)
2019-06-03 18:24:49 -03:00
kapodamy
4b3eb2ece5 Forget the download save path if the storage API is changed 2019-06-03 18:19:20 -03:00
kapodamy
1089de6321 Add confirm dialog before clear the finished download list 2019-06-03 18:19:18 -03:00
kapodamy
d00dc798f4 more SAF implementation
* full support for Directory API (Android Lollipop or later)
* best effort to handle any kind errors (missing file, revoked permissions, etc) and recover the download
* implemented directory choosing
* fix download database version upgrading
* misc. cleanup
* do not release permission on the old save path (if the user change the download directory) under SAF api
2019-06-03 18:18:20 -03:00
kapodamy
f6b32823ba Implement Storage Access Framework
* re-work finished mission database
* re-work DownloadMission and bump it Serializable version
* keep the classic Java IO API
* SAF Tree API support on Android Lollipop or higher
* add wrapper for SAF stream opening
* implement Closeable in SharpStream to replace the dispose() method

* do required changes for this API:
** remove any file creation logic from DownloadInitializer
** make PostProcessing Serializable and reduce the number of iterations
** update all strings.xml files
** storage helpers: StoredDirectoryHelper & StoredFileHelper
** best effort to handle any kind of SAF errors/exceptions
2019-06-03 18:16:41 -03:00
kapodamy
9e34fee58c New MP4 muxer + Queue changes + Storage fixes
Main changes:
* correctly check the available space (CircularFile.java)
* misc cleanup (CircularFile.java)
* use the "Error Reporter" for non-http errors
* rewrite network state checking and add better support for API 21 (Lollipop) or higher
* implement "metered networks"
* add buttons in "Downloads" activity to start/pause all pending downloads, ignoring the queue flag or if the network is "metered"
* add workaround for VPN connections and/or network switching. Example: switching WiFi to 3G
* rewrite DataReader ¡Webm muxer is now 57% more faster!
* rewrite CircularFile, use file buffers instead of memory buffers. Less troubles in low-end devices
* fix missing offset for KaxCluster (WebMWriter.java), manifested as no thumbnails on file explorers

Download queue:
* remember queue status, unless the user pause the download (un-queue)
* semi-automatic downloads, between networks. Effective if the user create a new download or the downloads activity is starts
* allow enqueue failed downloads
* new option, queue limit, enabled by default. Used to allow one or multiple downloads at same time

Miscellaneous:
* fix crash while selecting details/error menu (mistake on MissionFragment.java)
* misc serialize changes (DownloadMission.java)
* minor UI tweaks
* allow overwrite paused downloads
* fix wrong icons for grid/list button in downloads
* add share option
* implement #2006
* correct misspelled word in strings.xml (es) (cmn)
* fix MissionAdapter crash during device shutdown

New Mp4Muxer + required changes:
* new mp4 muxer (from dash only) with this, muxing on Android 7 is possible now!!!
* re-work in SharpStream
* drop mp4 dash muxer
* misc changes: add warning in SecondaryStreamHelper.java,
* strip m4a DASH files to normal m4a format (youtube only)

Fix storage issues:
* warn to the user if is choosing a "read only" download directory (for external SD Cards), useless is rooted :)
* "write proof" allow post-processing resuming only if the device ran out of space
* implement "insufficient storage" error for downloads
2019-06-03 18:09:43 -03:00
Tobias Groza
1684a2110c Update Extractor 2019-06-03 22:06:58 +02:00
Tobias Groza
5e00e34552 Merge remote-tracking branch 'Weblate/dev' into dev 2019-06-03 22:04:36 +02:00
Yaron Shahrabani
ce204eba62 Translated using Weblate (Hebrew)
Currently translated at 100.0% (443 of 443 strings)
2019-06-02 12:48:16 +02:00
Yaron Shahrabani
c7cb652322 Translated using Weblate (Hebrew)
Currently translated at 99.8% (442 of 443 strings)
2019-06-02 12:44:09 +02:00
Yaron Shahrabani
f8ccc3128e Translated using Weblate (Hebrew)
Currently translated at 99.8% (442 of 443 strings)
2019-06-02 12:44:08 +02:00
bob mar
4a8baaef45 Translated using Weblate (Hebrew)
Currently translated at 99.8% (442 of 443 strings)
2019-06-02 12:44:08 +02:00
artik banana
a9f3939c83 Translated using Weblate (Hebrew)
Currently translated at 99.8% (442 of 443 strings)
2019-06-02 12:27:18 +02:00
Joseph Kim
d8cb950248 Translated using Weblate (Korean)
Currently translated at 100.0% (443 of 443 strings)
2019-06-02 12:27:07 +02:00
AB
aefc51db4b Translated using Weblate (Ukrainian)
Currently translated at 100.0% (443 of 443 strings)
2019-06-02 12:27:00 +02:00
artik banana
fb18ea7ff8 Translated using Weblate (Hebrew)
Currently translated at 99.8% (442 of 443 strings)
2019-06-02 12:26:58 +02:00
bob mar
407c61e212 Translated using Weblate (Hebrew)
Currently translated at 99.8% (442 of 443 strings)
2019-06-02 12:26:58 +02:00
ssantos
d8e6ad48ca Translated using Weblate (Portuguese)
Currently translated at 100.0% (443 of 443 strings)
2019-06-02 02:18:34 +02:00
yunna
bd42f4188f Translated using Weblate (Japanese)
Currently translated at 99.8% (442 of 443 strings)
2019-06-02 02:18:34 +02:00
yunna
f766f383ea Translated using Weblate (English)
Currently translated at 100.0% (443 of 443 strings)
2019-06-02 02:18:28 +02:00
ssantos
1a9922d790 Translated using Weblate (German)
Currently translated at 100.0% (443 of 443 strings)
2019-06-02 02:18:24 +02:00
Tobias Groza
6213623431 Merge pull request #2235 from TeamNewPipe/readme-services
Add supported services section to readme
2019-06-02 02:03:14 +02:00
Tobias Groza
2809ee7a3e Merge branch 'dev' into readme-services 2019-06-02 02:02:44 +02:00
Tobias Groza
281cae7a18 Merge branch 'master' into dev 2019-05-31 23:46:28 +02:00
mohammadmdp
e1ead9d2ef Translated using Weblate (Persian)
Currently translated at 58.9% (261 of 443 strings)
2019-05-31 11:24:47 +02:00
Karel S
359a9a96d6 Translated using Weblate (Czech)
Currently translated at 99.8% (442 of 443 strings)
2019-05-31 11:24:44 +02:00
Stypox
b6cfb8a3dc Remove dupliacte direct_on_background string
start_here_on_background has the same meaning

start_here_on_main is now unused, but I left it there so that if it ever becomes useful again, it is ready to be used.
2019-05-30 15:30:13 +02:00
Stypox
6f028ecb19 Remove unused imports from modified files 2019-05-29 20:45:05 +02:00
Stypox
8695466690 Make subscription long-press menu consistant in local sub list
Inverted unsubscribe with share, since share has always been put after content-specific actions.
2019-05-29 20:39:17 +02:00
Stypox
bdb1be9967 Remove useless overrides of showStreamDialog
They were exactly the same as the base class function
2019-05-29 20:25:44 +02:00
Cipisek Rumcajsu
9395df4cc3 Translated using Weblate (Czech)
Currently translated at 90.3% (400 of 443 strings)
2019-05-29 18:08:08 +02:00
Karel S
93edb333d4 Translated using Weblate (Czech)
Currently translated at 90.3% (400 of 443 strings)
2019-05-29 18:08:08 +02:00
Stypox
30eeef46c2 Removed unused showStreamDialog from VideoDetailFragment
VideoDetailFragment already borrows a consistant menu from the stream list it holds.
2019-05-29 16:25:23 +02:00
Stypox
8b584f3922 Make long-press menu consistent across views: fix #2354
Also made the code that creates the menus consistent across files.
2019-05-29 16:22:01 +02:00
sherlockbeard
43b859f778 Merge branch 'dev' into removeextra 2019-05-07 13:59:32 +05:30
sherlockbeard
d1bd7f695f Update strings.xml 2019-05-07 13:57:31 +05:30
Vasiliy
312e1378d3 Fix tablet ui 2019-05-06 19:16:39 +03:00
Vasiliy
93f2518159 Animate states changed 2019-04-27 22:27:08 +03:00
Vasiliy
273f731dd5 Refactor adapter 2019-04-27 21:23:52 +03:00
Vasiliy
c7cd9e86ac Option to disable states indicators 2019-04-27 19:04:13 +03:00
Vasiliy
41fb6f5464 Update states in lists 2019-04-27 18:12:00 +03:00
Vasiliy
03b1a8bd41 Merge branch 'dev' into playback_state_list 2019-04-27 17:37:43 +03:00
sherlock
1edfa78a05 removed the gena strings. 2019-04-17 16:45:40 +05:30
Vasiliy
f47c5e53b1 Merge branch 'playback_resume_v2' into playback_state_list 2019-04-15 22:19:54 +03:00
Vasiliy
a48cbc6971 Show streams states for local lists 2019-04-15 22:18:24 +03:00
Vasiliy
73be8cf074 Base implementation of showing playback positions in lists 2019-04-15 21:37:36 +03:00
Vasiliy
002a1412cb Fix scrolling details 2019-04-15 21:22:31 +03:00
Vasiliy
4e1423d224 Implement playback state management 2019-04-13 13:34:36 +03:00
TobiGr
9bcccc87e6 Update README
Add supported services section
Move comment support
2019-03-26 23:36:12 +01:00
yausername
039a8e0b87 reordered services 2019-03-23 19:49:37 +05:30
Ritvik Saraf
76f7165462 Merge remote-tracking branch 'upstream/dev' into defaultTrending 2019-03-12 06:17:21 +05:30
Ritvik Saraf
fdf0d8e9c8 fixed memory leak 2019-03-12 06:07:56 +05:30
Ritvik Saraf
369fd95e2b skip tests, fix later 2019-03-11 06:27:18 +05:30
Ritvik Saraf
e242adec66 updated extractor 2019-03-11 03:16:17 +05:30
Ritvik Saraf
58e562f7d4 added default kiosk 2019-03-11 03:08:30 +05:30
Ritvik Saraf
a8b5534838 darker color for peertube 2019-03-10 19:08:08 +05:30
Ritvik Saraf
2581fa4176 init services in app onCreate 2019-03-10 17:30:21 +05:30
Ritvik Saraf
d90b1ca5be merged upstream/dev, changes for peertube support 2019-03-10 01:02:25 +05:30
Ritvik Saraf
845663f80f added themeing for peertube, change peertube instance 2018-12-29 23:06:39 +05:30
Ritvik Saraf
9530af95f4 Merge branch 'dev' into peertube 2018-12-25 20:18:39 +05:30
Ritvik Saraf
c1efa78820 Merge branch 'dev' into peertube 2018-12-25 20:00:56 +05:30
Ritvik Saraf
d61797fa3a merged dev 2018-12-25 19:31:25 +05:30
Ritvik Saraf
cc6989b4f9 updated extractor 2018-10-12 13:16:16 +05:30
Ritvik Saraf
fc31458cc4 added peertube 2018-10-12 02:34:30 +05:30
409 changed files with 20327 additions and 9883 deletions

1
.github/FUNDING.yml vendored Normal file
View File

@@ -0,0 +1 @@
liberapay: TeamNewPipe

1
.gitignore vendored
View File

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

View File

@@ -66,15 +66,23 @@ NewPipe does not use any Google framework libraries, nor the YouTube API. Websit
* Enqueue videos
* Local playlists
* Subtitles
* Multi-service support (e.g. SoundCloud \[beta\])
* Livestream support
* Show comments
### Coming Features
* Cast to UPnP and Cast
* Show comments
* … and many more
### Supported Services
NewPipe supports multiple services. Our [docs](https://teamnewpipe.github.io/documentation/) provide more info on how a new service can be added to the app and the extractor. Please get in touch with us if you intend to add a new one. Currently supported services are:
* YouTube
* SoundCloud \[beta\]
* media.ccc.de \[beta\]
* PeerTube instances \[beta\]
## Updates
When a change to the NewPipe code occurs (due to either adding features or bug fixing), eventually a release will occur. These are in the format x.xx.x . In order to get this new version, you can:
* Build a debug APK yourself. This is the fastest way to get new features on your device, but is much more complicated, so we recommend using one of the other methods.

View File

@@ -1,4 +1,7 @@
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
android {
compileSdkVersion 28
@@ -8,10 +11,10 @@ android {
applicationId "org.schabi.newpipe"
minSdkVersion 19
targetSdkVersion 28
versionCode 740
versionName "0.16.2"
versionCode 810
versionName "0.18.1"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
}
@@ -43,38 +46,42 @@ android {
}
ext {
supportLibVersion = '28.0.0'
exoPlayerLibVersion = '2.9.6'
roomDbLibVersion = '1.1.1'
androidxLibVersion = '1.0.0'
exoPlayerLibVersion = '2.10.8'
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', {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
androidTestImplementation('androidx.test.espresso:espresso-core:3.1.0', {
exclude module: 'support-annotations'
})
implementation 'com.github.TeamNewPipe:NewPipeExtractor:2ac713e'
implementation 'com.github.TeamNewPipe:NewPipeExtractor:2ee558fb'
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,18 +89,19 @@ 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 'org.ocpsoft.prettytime:prettytime:4.0.1.Final'
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}"
kapt "androidx.room:room-compiler:${roomDbLibVersion}"
implementation "frankiesardo:icepick:${icepickLibVersion}"
annotationProcessor "frankiesardo:icepick-processor:${icepickLibVersion}"
kapt "frankiesardo:icepick-processor:${icepickLibVersion}"
debugImplementation "com.squareup.leakcanary:leakcanary-android:${leakCanaryLibVersion}"
releaseImplementation "com.squareup.leakcanary:leakcanary-android-no-op:${leakCanaryLibVersion}"

View File

@@ -17,6 +17,9 @@
#}
-dontobfuscate
-keep class org.schabi.newpipe.extractor.timeago.patterns.** { *; }
-keep class org.ocpsoft.prettytime.i18n.** { *; }
-keep class org.mozilla.javascript.** { *; }
-keep class org.mozilla.classfile.ClassFileWriter

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;
@@ -15,7 +15,7 @@ import com.squareup.leakcanary.LeakCanary;
import com.squareup.leakcanary.LeakDirectoryProvider;
import com.squareup.leakcanary.RefWatcher;
import org.schabi.newpipe.extractor.Downloader;
import org.schabi.newpipe.extractor.downloader.Downloader;
import java.io.File;
import java.util.concurrent.TimeUnit;
@@ -39,7 +39,7 @@ public class DebugApp extends App {
@Override
protected Downloader getDownloader() {
return org.schabi.newpipe.Downloader.init(new OkHttpClient.Builder()
return DownloaderImpl.init(new OkHttpClient.Builder()
.addNetworkInterceptor(new 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">
@@ -153,6 +153,7 @@
<!-- channel prefix -->
<data android:pathPrefix="/channel/"/>
<data android:pathPrefix="/user/"/>
<data android:pathPrefix="/c/"/>
<!-- playlist prefix -->
<data android:pathPrefix="/playlist"/>
</intent-filter>
@@ -228,7 +229,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,10 +6,10 @@ 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 android.util.Log;
import androidx.annotation.Nullable;
import com.nostra13.universalimageloader.cache.memory.impl.LRULimitedMemoryCache;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
@@ -21,14 +21,15 @@ import org.acra.config.ACRAConfiguration;
import org.acra.config.ACRAConfigurationException;
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.extractor.downloader.Downloader;
import org.schabi.newpipe.report.AcraReportSenderFactory;
import org.schabi.newpipe.report.ErrorActivity;
import org.schabi.newpipe.report.UserAction;
import org.schabi.newpipe.settings.SettingsActivity;
import org.schabi.newpipe.util.ExtractorHelper;
import org.schabi.newpipe.util.Localization;
import org.schabi.newpipe.util.ServiceHelper;
import org.schabi.newpipe.util.StateSaver;
import java.io.IOException;
@@ -96,10 +97,15 @@ public class App extends Application {
SettingsActivity.initSettings(this);
NewPipe.init(getDownloader(),
org.schabi.newpipe.util.Localization.getPreferredExtractorLocal(this));
Localization.getPreferredLocalization(this),
Localization.getPreferredContentCountry(this));
Localization.init();
StateSaver.init(this);
initNotificationChannel();
ServiceHelper.initServices(this);
// Initialize image loader
ImageLoader.getInstance().init(getImageLoaderConfigurations(10, 50));
@@ -110,7 +116,7 @@ public class App extends Application {
}
protected Downloader getDownloader() {
return org.schabi.newpipe.Downloader.init(null);
return DownloaderImpl.init(null);
}
private void configureRxJavaErrorHandler() {

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;
@@ -107,6 +107,7 @@ public abstract class BaseFragment extends Fragment {
if (DEBUG) Log.d(TAG, "setTitle() called with: title = [" + title + "]");
if((!useAsFrontPage || mIsVisibleToUser)
&& (activity != null && activity.getSupportActionBar() != null)) {
activity.getSupportActionBar().setDisplayShowTitleEnabled(true);
activity.getSupportActionBar().setTitle(title);
}
}

View File

@@ -12,21 +12,18 @@ 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;
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;
@@ -37,7 +34,6 @@ import java.util.concurrent.TimeUnit;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
/**
@@ -47,6 +43,8 @@ import okhttp3.Response;
*/
public class CheckForNewAppVersionTask extends AsyncTask<Void, Void, String> {
private static final boolean DEBUG = MainActivity.DEBUG;
private static final String TAG = CheckForNewAppVersionTask.class.getSimpleName();
private static final Application app = App.getApp();
private static final String GITHUB_APK_SHA1 = "B0:2E:90:7C:1C:D6:FC:57:C3:35:F0:88:D0:8F:50:5F:94:E4:D2:15";
private static final String newPipeApiUrl = "https://newpipe.schabi.org/api/data.json";
@@ -90,9 +88,8 @@ public class CheckForNewAppVersionTask extends AsyncTask<Void, Void, String> {
Response response = client.newCall(request).execute();
return response.body().string();
} catch (IOException ex) {
ErrorActivity.reportError(app, ex, null, null,
ErrorActivity.ErrorInfo.make(UserAction.SOMETHING_ELSE, "none",
"app update API fail", R.string.app_ui_crash));
// connectivity problems, do not alarm user and fail silently
if (DEBUG) Log.w(TAG, Log.getStackTraceString(ex));
}
return null;
@@ -117,9 +114,8 @@ public class CheckForNewAppVersionTask extends AsyncTask<Void, Void, String> {
compareAppVersionAndShowNotification(versionName, apkLocationUrl, versionCode);
} catch (JSONException ex) {
ErrorActivity.reportError(app, ex, null, null,
ErrorActivity.ErrorInfo.make(UserAction.SOMETHING_ELSE, "none",
"could not parse app update JSON data", R.string.app_ui_crash));
// connectivity problems, do not alarm user and fail silently
if (DEBUG) Log.w(TAG, Log.getStackTraceString(ex));
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,219 @@
package org.schabi.newpipe;
import android.os.Build;
import android.text.TextUtils;
import org.schabi.newpipe.extractor.downloader.Downloader;
import org.schabi.newpipe.extractor.downloader.Request;
import org.schabi.newpipe.extractor.downloader.Response;
import org.schabi.newpipe.extractor.exceptions.ReCaptchaException;
import org.schabi.newpipe.util.TLSSocketFactoryCompat;
import java.io.IOException;
import java.io.InputStream;
import java.security.KeyManagementException;
import java.security.KeyStore;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.TrustManager;
import javax.net.ssl.TrustManagerFactory;
import javax.net.ssl.X509TrustManager;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import okhttp3.CipherSuite;
import okhttp3.ConnectionSpec;
import okhttp3.OkHttpClient;
import okhttp3.RequestBody;
import okhttp3.ResponseBody;
import static org.schabi.newpipe.MainActivity.DEBUG;
public class DownloaderImpl extends Downloader {
public static final String USER_AGENT = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0";
private static DownloaderImpl instance;
private String mCookies;
private OkHttpClient client;
private DownloaderImpl(OkHttpClient.Builder builder) {
if (Build.VERSION.SDK_INT == Build.VERSION_CODES.KITKAT) {
enableModernTLS(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 DownloaderImpl init(@Nullable OkHttpClient.Builder builder) {
return instance = new DownloaderImpl(builder != null ? builder : new OkHttpClient.Builder());
}
public static DownloaderImpl getInstance() {
return instance;
}
public String getCookies() {
return mCookies;
}
public void setCookies(String cookies) {
mCookies = cookies;
}
/**
* 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 {
try {
final Response response = head(url);
return Long.parseLong(response.getHeader("Content-Length"));
} catch (NumberFormatException e) {
throw new IOException("Invalid content length", e);
} catch (ReCaptchaException e) {
throw new IOException(e);
}
}
public InputStream stream(String siteUrl) throws IOException {
try {
final okhttp3.Request.Builder requestBuilder = new okhttp3.Request.Builder()
.method("GET", null).url(siteUrl)
.addHeader("User-Agent", USER_AGENT);
if (!TextUtils.isEmpty(mCookies)) {
requestBuilder.addHeader("Cookie", mCookies);
}
final okhttp3.Request request = requestBuilder.build();
final okhttp3.Response response = client.newCall(request).execute();
final ResponseBody body = response.body();
if (response.code() == 429) {
throw new ReCaptchaException("reCaptcha Challenge requested", siteUrl);
}
if (body == null) {
response.close();
return null;
}
return body.byteStream();
} catch (ReCaptchaException e) {
throw new IOException(e.getMessage(), e.getCause());
}
}
@Override
public Response execute(@NonNull Request request) throws IOException, ReCaptchaException {
final String httpMethod = request.httpMethod();
final String url = request.url();
final Map<String, List<String>> headers = request.headers();
final byte[] dataToSend = request.dataToSend();
RequestBody requestBody = null;
if (dataToSend != null) {
requestBody = RequestBody.create(null, dataToSend);
}
final okhttp3.Request.Builder requestBuilder = new okhttp3.Request.Builder()
.method(httpMethod, requestBody).url(url)
.addHeader("User-Agent", USER_AGENT);
if (!TextUtils.isEmpty(mCookies)) {
requestBuilder.addHeader("Cookie", mCookies);
}
for (Map.Entry<String, List<String>> pair : headers.entrySet()) {
final String headerName = pair.getKey();
final List<String> headerValueList = pair.getValue();
if (headerValueList.size() > 1) {
requestBuilder.removeHeader(headerName);
for (String headerValue : headerValueList) {
requestBuilder.addHeader(headerName, headerValue);
}
} else if (headerValueList.size() == 1) {
requestBuilder.header(headerName, headerValueList.get(0));
}
}
final okhttp3.Response response = client.newCall(requestBuilder.build()).execute();
if (response.code() == 429) {
response.close();
throw new ReCaptchaException("reCaptcha Challenge requested", url);
}
final ResponseBody body = response.body();
String responseBodyToReturn = null;
if (body != null) {
responseBodyToReturn = body.string();
}
return new Response(response.code(), response.message(), response.headers().toMultimap(), responseBodyToReturn);
}
/**
* Enable TLS 1.2 and 1.1 on Android Kitkat. This function is mostly taken from the documentation of
* OkHttpClient.Builder.sslSocketFactory(_,_)
* <p>
* If there is an error, the function will safely fall back to doing nothing and printing the error to the console.
*
* @param builder The HTTPClient Builder on which TLS is enabled on (will be modified in-place)
*/
private static void enableModernTLS(OkHttpClient.Builder builder) {
try {
// get the default TrustManager
TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(
TrustManagerFactory.getDefaultAlgorithm());
trustManagerFactory.init((KeyStore) null);
TrustManager[] trustManagers = trustManagerFactory.getTrustManagers();
if (trustManagers.length != 1 || !(trustManagers[0] instanceof X509TrustManager)) {
throw new IllegalStateException("Unexpected default trust managers:"
+ Arrays.toString(trustManagers));
}
X509TrustManager trustManager = (X509TrustManager) trustManagers[0];
// insert our own TLSSocketFactory
SSLSocketFactory sslSocketFactory = TLSSocketFactoryCompat.getInstance();
builder.sslSocketFactory(sslSocketFactory, trustManager);
// This will try to enable all modern CipherSuites(+2 more) that are supported on the device.
// Necessary because some servers (e.g. Framatube.org) don't support the old cipher suites.
// https://github.com/square/okhttp/issues/4053#issuecomment-402579554
List<CipherSuite> cipherSuites = new ArrayList<>();
cipherSuites.addAll(ConnectionSpec.MODERN_TLS.cipherSuites());
cipherSuites.add(CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA);
cipherSuites.add(CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA);
ConnectionSpec legacyTLS = new ConnectionSpec.Builder(ConnectionSpec.MODERN_TLS)
.cipherSuites(cipherSuites.toArray(new CipherSuite[0]))
.build();
builder.connectionSpecs(Arrays.asList(legacyTLS, ConnectionSpec.CLEARTEXT));
} catch (KeyManagementException | NoSuchAlgorithmException | KeyStoreException e) {
if (DEBUG) e.printStackTrace();
}
}
}

View File

@@ -40,7 +40,7 @@ public class ImageDownloader extends BaseImageDownloader {
}
protected InputStream getStreamFromNetwork(String imageUri, Object extra) throws IOException {
final Downloader downloader = (Downloader) NewPipe.getDownloader();
final DownloaderImpl downloader = (DownloaderImpl) NewPipe.getDownloader();
return downloader.stream(imageUri);
}
}

View File

@@ -28,30 +28,38 @@ 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.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Spinner;
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 androidx.fragment.app.FragmentManager;
import com.google.android.material.navigation.NavigationView;
import org.schabi.newpipe.extractor.NewPipe;
import org.schabi.newpipe.extractor.ServiceList;
import org.schabi.newpipe.extractor.StreamingService;
import org.schabi.newpipe.extractor.exceptions.ExtractionException;
import org.schabi.newpipe.extractor.services.peertube.PeertubeInstance;
import org.schabi.newpipe.fragments.BackPressable;
import org.schabi.newpipe.fragments.MainFragment;
import org.schabi.newpipe.fragments.detail.VideoDetailFragment;
@@ -60,11 +68,16 @@ import org.schabi.newpipe.report.ErrorActivity;
import org.schabi.newpipe.util.Constants;
import org.schabi.newpipe.util.KioskTranslator;
import org.schabi.newpipe.util.NavigationHelper;
import org.schabi.newpipe.util.PeertubeHelper;
import org.schabi.newpipe.util.PermissionHelper;
import org.schabi.newpipe.util.ServiceHelper;
import org.schabi.newpipe.util.StateSaver;
import org.schabi.newpipe.util.TLSSocketFactoryCompat;
import org.schabi.newpipe.util.ThemeHelper;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private static final String TAG = "MainActivity";
public static final boolean DEBUG = !BuildConfig.BUILD_TYPE.equals("release");
@@ -73,6 +86,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;
@@ -95,6 +109,11 @@ public class MainActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
if (DEBUG) Log.d(TAG, "onCreate() called with: savedInstanceState = [" + savedInstanceState + "]");
// enable TLS1.1/1.2 for kitkat devices, to fix download and play for mediaCCC sources
if (Build.VERSION.SDK_INT == Build.VERSION_CODES.KITKAT) {
TLSSocketFactoryCompat.setAsDefault();
}
ThemeHelper.setTheme(this, ServiceHelper.getSelectedServiceId(this));
super.onCreate(savedInstanceState);
@@ -266,8 +285,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 +298,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 {
@@ -297,13 +317,57 @@ public class MainActivity extends AppCompatActivity {
final String title = s.getServiceInfo().getName() +
(ServiceHelper.isBeta(s) ? " (beta)" : "");
drawerItems.getMenu()
MenuItem menuItem = drawerItems.getMenu()
.add(R.id.menu_services_group, s.getServiceId(), ORDER, title)
.setIcon(ServiceHelper.getIcon(s.getServiceId()));
// peertube specifics
if(s.getServiceId() == 3){
enhancePeertubeMenu(s, menuItem);
}
}
drawerItems.getMenu().getItem(ServiceHelper.getSelectedServiceId(this)).setChecked(true);
}
private void enhancePeertubeMenu(StreamingService s, MenuItem menuItem) {
PeertubeInstance currentInstace = PeertubeHelper.getCurrentInstance();
menuItem.setTitle(currentInstace.getName() + (ServiceHelper.isBeta(s) ? " (beta)" : ""));
Spinner spinner = (Spinner) LayoutInflater.from(this).inflate(R.layout.instance_spinner_layout, null);
List<PeertubeInstance> instances = PeertubeHelper.getInstanceList(this);
List<String> items = new ArrayList<>();
int defaultSelect = 0;
for(PeertubeInstance instance: instances){
items.add(instance.getName());
if(instance.getUrl().equals(currentInstace.getUrl())){
defaultSelect = items.size()-1;
}
}
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, R.layout.instance_spinner_item, items);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setSelection(defaultSelect, false);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
PeertubeInstance newInstance = instances.get(position);
if(newInstance.getUrl().equals(PeertubeHelper.getCurrentInstance().getUrl())) return;
PeertubeHelper.selectInstance(newInstance, getApplicationContext());
changeService(menuItem);
drawer.closeDrawers();
new Handler(Looper.getMainLooper()).postDelayed(() -> {
getSupportFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
recreate();
}, 300);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
menuItem.setActionView(spinner);
}
private void showTabs() throws ExtractionException {
serviceArrow.setImageResource(R.drawable.ic_arrow_down_white);
@@ -359,11 +423,14 @@ 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);
headerServiceView.post(() -> headerServiceView.setSelected(true));
toggleServiceButton.setContentDescription(
getString(R.string.drawer_header_description) + selectedServiceName);
} catch (Exception e) {
ErrorActivity.reportUiError(this, e);
}
@@ -557,6 +624,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;
@@ -37,15 +36,24 @@ import android.webkit.WebViewClient;
*/
public class ReCaptchaActivity extends AppCompatActivity {
public static final int RECAPTCHA_REQUEST = 10;
public static final String RECAPTCHA_URL_EXTRA = "recaptcha_url_extra";
public static final String TAG = ReCaptchaActivity.class.toString();
public static final String YT_URL = "https://www.youtube.com";
private String url;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_recaptcha);
url = getIntent().getStringExtra(RECAPTCHA_URL_EXTRA);
if (url == null || url.isEmpty()) {
url = YT_URL;
}
// Set return to Cancel by default
setResult(RESULT_CANCELED);
@@ -73,15 +81,12 @@ public class ReCaptchaActivity extends AppCompatActivity {
myWebView.clearHistory();
android.webkit.CookieManager cookieManager = CookieManager.getInstance();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
cookieManager.removeAllCookies(new ValueCallback<Boolean>() {
@Override
public void onReceiveValue(Boolean aBoolean) {}
});
cookieManager.removeAllCookies(aBoolean -> {});
} else {
cookieManager.removeAllCookie();
}
myWebView.loadUrl(YT_URL);
myWebView.loadUrl(url);
}
private class ReCaptchaWebViewClient extends WebViewClient {
@@ -107,7 +112,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.getInstance().setCookies(mCookies);
DownloaderImpl.getInstance().setCookies(mCookies);
// Closing activity and return to parent
setResult(RESULT_OK);

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;
@@ -74,10 +76,13 @@ import static org.schabi.newpipe.util.ThemeHelper.resolveResourceIdFromAttr;
*/
public class RouterActivity extends AppCompatActivity {
@State protected int currentServiceId = -1;
@State
protected int currentServiceId = -1;
private StreamingService currentService;
@State protected LinkType currentLinkType;
@State protected int selectedRadioPosition = -1;
@State
protected LinkType currentLinkType;
@State
protected int selectedRadioPosition = -1;
protected int selectedPreviously = -1;
protected String currentUrl;
@@ -257,7 +262,7 @@ public class RouterActivity extends AppCompatActivity {
.setNegativeButton(R.string.just_once, dialogButtonsClickListener)
.setPositiveButton(R.string.always, dialogButtonsClickListener)
.setOnDismissListener((dialog) -> {
if(!selectionIsDownload) finish();
if (!selectionIsDownload) finish();
})
.create();
@@ -358,13 +363,13 @@ public class RouterActivity extends AppCompatActivity {
positiveButton.setEnabled(state);
}
private void handleText(){
private void handleText() {
String searchString = getIntent().getStringExtra(Intent.EXTRA_TEXT);
int serviceId = getIntent().getIntExtra(Constants.KEY_SERVICE_ID, 0);
Intent intent = new Intent(getThemeWrapperContext(), MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
NavigationHelper.openSearch(getThemeWrapperContext(),serviceId,searchString);
NavigationHelper.openSearch(getThemeWrapperContext(), serviceId, searchString);
}
private void handleChoice(final String selectedChoiceKey) {
@@ -397,7 +402,7 @@ public class RouterActivity extends AppCompatActivity {
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(intent -> {
if(!internalRoute){
if (!internalRoute) {
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
}
@@ -430,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());
@@ -447,8 +452,8 @@ public class RouterActivity extends AppCompatActivity {
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
for (int i: grantResults){
if (i == PackageManager.PERMISSION_DENIED){
for (int i : grantResults) {
if (i == PackageManager.PERMISSION_DENIED) {
finish();
return;
}
@@ -460,7 +465,8 @@ public class RouterActivity extends AppCompatActivity {
private static class AdapterChoiceItem {
final String description, key;
@DrawableRes final int icon;
@DrawableRes
final int icon;
AdapterChoiceItem(String key, String description, int icon) {
this.description = description;
@@ -558,7 +564,8 @@ public class RouterActivity extends AppCompatActivity {
final SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
boolean isExtVideoEnabled = preferences.getBoolean(getString(R.string.use_external_video_player_key), false);
boolean isExtAudioEnabled = preferences.getBoolean(getString(R.string.use_external_audio_player_key), false);;
boolean isExtAudioEnabled = preferences.getBoolean(getString(R.string.use_external_audio_player_key), false);
;
PlayQueue playQueue;
String playerChoice = choice.playerChoice;
@@ -574,7 +581,7 @@ public class RouterActivity extends AppCompatActivity {
playQueue = new SinglePlayQueue((StreamInfo) info);
if (playerChoice.equals(videoPlayerKey)) {
NavigationHelper.playOnMainPlayer(this, playQueue);
NavigationHelper.playOnMainPlayer(this, playQueue, true);
} else if (playerChoice.equals(backgroundPlayerKey)) {
NavigationHelper.enqueueOnBackgroundPlayer(this, playQueue, true);
} else if (playerChoice.equals(popupPlayerKey)) {
@@ -587,11 +594,11 @@ public class RouterActivity extends AppCompatActivity {
playQueue = info instanceof ChannelInfo ? new ChannelPlayQueue((ChannelInfo) info) : new PlaylistPlayQueue((PlaylistInfo) info);
if (playerChoice.equals(videoPlayerKey)) {
NavigationHelper.playOnMainPlayer(this, playQueue);
NavigationHelper.playOnMainPlayer(this, playQueue, true);
} else if (playerChoice.equals(backgroundPlayerKey)) {
NavigationHelper.playOnBackgroundPlayer(this, playQueue);
NavigationHelper.playOnBackgroundPlayer(this, playQueue, true);
} else if (playerChoice.equals(popupPlayerKey)) {
NavigationHelper.playOnPopupPlayer(this, playQueue);
NavigationHelper.playOnPopupPlayer(this, playQueue, true);
}
}
};

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,17 +1,26 @@
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;
public class Migrations {
public static final int DB_VER_11_0 = 1;
public static final int DB_VER_12_0 = 2;
public static final boolean DEBUG = !BuildConfig.BUILD_TYPE.equals("release");
private static final String TAG = Migrations.class.getName();
public static final Migration MIGRATION_11_12 = new Migration(DB_VER_11_0, DB_VER_12_0) {
@Override
public void migrate(@NonNull SupportSQLiteDatabase database) {
if(DEBUG) {
Log.d(TAG, "Start migrating database");
}
/*
* Unfortunately these queries must be hardcoded due to the possibility of
* schema and names changing at a later date, thus invalidating the older migration
@@ -56,6 +65,10 @@ public class Migrations {
"ORDER BY creation_date DESC");
database.execSQL("DROP TABLE IF EXISTS watch_history");
if(DEBUG) {
Log.d(TAG, "Stop migrating database");
}
}
};
}

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;
@@ -50,6 +50,11 @@ public abstract class StreamHistoryDAO implements HistoryDAO<StreamHistoryEntity
" ORDER BY " + STREAM_ACCESS_DATE + " DESC")
public abstract Flowable<List<StreamHistoryEntry>> getHistory();
@Query("SELECT * FROM " + STREAM_HISTORY_TABLE + " WHERE " + JOIN_STREAM_ID +
" = :streamId ORDER BY " + STREAM_ACCESS_DATE + " DESC LIMIT 1")
@Nullable
public abstract StreamHistoryEntity getLatestEntry(final long streamId);
@Query("DELETE FROM " + STREAM_HISTORY_TABLE + " WHERE " + JOIN_STREAM_ID + " = :streamId")
public abstract int deleteStreamHistory(final long streamId);

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;

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