1
mirror of https://github.com/TeamNewPipe/NewPipe synced 2025-09-20 11:20:52 +02:00

Compare commits

...

1059 Commits

Author SHA1 Message Date
Tobi
464d0e50b0 Merge pull request #5871 from Stypox/release_0.21.0
Release 0.21.0
2021-03-26 08:31:59 +01:00
Stypox
7411c54f9e Release 0.21.0 (966) 2021-03-25 23:02:14 +01:00
TobiGr
7c74deb700 Update translations
Translated using Weblate (German)
Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (French)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Croatian)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (German)

Currently translated at 48.9% (23 of 47 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/

Translated using Weblate (Hebrew)

Currently translated at 40.4% (19 of 47 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/

Translated using Weblate (Arabic)

Currently translated at 68.0% (32 of 47 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ar/

Translated using Weblate (Somali)

Currently translated at 100.0% (638 of 638 strings)
2021-03-25 22:15:44 +01:00
TobiGr
e63165e80f Update extractor version to 0.21.0 2021-03-25 22:13:55 +01:00
XiangRongLin
e2bc9dfacd Merge pull request #5906 from TeamNewPipe/sonar
Disable sonar job
2021-03-25 19:39:21 +01:00
Stypox
48789dbab7 Add changelog for 0.21.0 (966) 2021-03-25 10:41:15 +01:00
TobiGr
196f0f0475 Update translations
Translated using Weblate (French)
Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Indonesian)

Currently translated at 23.9% (11 of 46 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/id/
2021-03-25 10:29:55 +01:00
Stypox
085b59f2e1 Merge pull request #5907 from TeamNewPipe/B0pol-patch-1
Update strings.xml
2021-03-25 08:54:09 +01:00
Stypox
2fdc2664ff Merge pull request #5904 from TeamNewPipe/weblate-update
Update weblate and use BCP47 language codes
2021-03-25 08:13:03 +01:00
bopol
a33a5c5527 Update strings.xml
fix typo
2021-03-24 19:44:25 +01:00
Tobi
a7c0f37904 Disable sonar job
For some reason, sonar started to analyse very old PRs. This comments out the sonar job until further investigation is done.
2021-03-24 19:10:00 +01:00
TobiGr
4889ab3462 Use BCP47 language codes for fastlane
Closes #5750
2021-03-24 18:16:40 +01:00
TobiGr
3923deeaad Update translations
Translated using Weblate (German)
Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (German)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (German)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (German)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (German)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (German)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (German)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (German)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (French)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (French)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Slovenian)

Currently translated at 77.2% (489 of 633 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Polish)

Currently translated at 99.8% (632 of 633 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Sardinian)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Santali)

Currently translated at 12.9% (82 of 633 strings)

Translated using Weblate (English (United Kingdom))

Currently translated at 13.5% (86 of 633 strings)

Translated using Weblate (Somali)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (German)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (French)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Japanese)

Currently translated at 99.5% (630 of 633 strings)

Translated using Weblate (Korean)

Currently translated at 82.9% (525 of 633 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Esperanto)

Currently translated at 87.0% (551 of 633 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Catalan)

Currently translated at 97.9% (620 of 633 strings)

Translated using Weblate (Dutch (Belgium))

Currently translated at 97.1% (615 of 633 strings)

Translated using Weblate (Malayalam)

Currently translated at 89.4% (566 of 633 strings)

Translated using Weblate (German)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (French)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Basque)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Catalan)

Currently translated at 100.0% (633 of 633 strings)
2021-03-24 18:09:52 +01:00
Tobi
80d6fff0ca Merge pull request #5649 from FireMasterK/ff-ua
Change UA to privacy.resistFingerprinting.
2021-03-24 17:59:17 +01:00
Tobi
fe43b4da39 Merge pull request #5896 from Stypox/fix-error-panel
Fix error panel created in onViewCreated() but disposed in onDestroy()
2021-03-24 11:32:07 +01:00
Tobi
67afd05e22 Merge pull request #5899 from Stypox/fix-settings-theme
Fix settings switches are not red anymore
2021-03-24 11:24:27 +01:00
Stypox
0fcaf20221 Fix settings switches are not red anymore
Reverts part of 731c65cd59
2021-03-24 10:16:24 +01:00
Stypox
0277b94b37 Fix error panel created in onViewCreated() but disposed in onDestroy() 2021-03-24 09:27:17 +01:00
Stypox
c7efa8c4f1 Merge pull request #5519 from WoodyMats/release_0.20.9
Add toast to inform the user that download started.
2021-03-20 22:19:13 +01:00
Matskidis Giannis
bf6645e829 Show Toast when download starts
Add toast to inform the user that download started and add the right string in values.
2021-03-20 22:18:01 +01:00
XiangRongLin
ea1b42510c Merge pull request #5844 from TeamNewPipe/sonar_workflow
Sonar workflow
2021-03-20 18:22:28 +01:00
XiangRongLin
72818ffa42 Add sonar plugin and github actions file for sonar analysis
Copied from sonarcloud.io setup page with minor adjustments. Adjusted branch to 'dev' and updated versions
2021-03-20 13:58:17 +01:00
XiangRongLin
985308bf0c Set the whole configDir instead of only configFile for checkstyle 2021-03-20 13:58:17 +01:00
Stypox
86381696f4 Merge pull request #5457 from Redirion/exo123
Update to ExoPlayer 2.12.3
2021-03-18 18:59:56 +01:00
Robin
08b960cc6e Merge pull request #3632 from B0pol/device_theme
Add settings to match device's theme (dark & black)
2021-03-18 15:11:40 +01:00
Stypox
731c65cd59 Refactor ThemeHelper 2021-03-18 12:39:29 +01:00
bopol
a85e8a29ff Use a list for night themes
Also remove unused strings
2021-03-18 12:12:04 +01:00
bopol
22b2f52f8c Use a switch preference to follow device theme 2021-03-18 11:23:55 +01:00
bopol
a713ce2126 Add settings for device theme (dark & black)
fix bugs related to isLightThemeSelected not handling device themes
such as license having dark background when it should be white
2021-03-18 11:17:06 +01:00
Stypox
4fac3cf304 Merge pull request #5230 from Isira-Seneviratne/Update_prettytime
Update prettytime.
2021-03-18 08:59:40 +01:00
Isira Seneviratne
74e20a8c52 Use PrettyTime's new formatUnrounded(OffsetDateTime) method.
Also change the types of the relevant variables from Calendar to OffsetDateTime.
2021-03-18 06:38:12 +05:30
Isira Seneviratne
8cf4ba25f5 Update prettytime to 5.0.0.Final. 2021-03-18 06:38:12 +05:30
Stypox
feb65cf8f3 Merge pull request #5792 from TeamNewPipe/resize_mode
Fix last resize mode not being restored correctly
2021-03-17 09:07:44 +01:00
Stypox
93592d23f4 Merge pull request #5820 from TeamNewPipe/mini_player_title
Fix empty stream title in minimized player
2021-03-17 08:56:50 +01:00
Jeremiah Dicharry
338a4837bc Add Spanish README.md (#5829) 2021-03-16 23:38:10 +01:00
mhmdanas
8e19fe535c Re-add badgs to localized README's 2021-03-16 23:35:35 +01:00
TobiGr
2aeccc0c5c Translated using Weblate (Bengali (Bangladesh))
Currently translated at 62.8% (396 of 630 strings)

Translated using Weblate (Bengali)

Currently translated at 86.5% (545 of 630 strings)

Translated using Weblate (Bengali)

Currently translated at 19.5% (9 of 46 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/bn/
2021-03-16 09:23:48 +01:00
TobiGr
8db1234a59 Update translations
Translated using Weblate (Chinese (Simplified))
Currently translated at 84.7% (39 of 46 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 84.7% (39 of 46 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/

Translated using Weblate (Indonesian)

Currently translated at 99.0% (624 of 630 strings)

Translated using Weblate (Odia)

Currently translated at 0.0% (0 of 46 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/or/

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (630 of 630 strings)

Translated using Weblate (Sardinian)

Currently translated at 100.0% (630 of 630 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (630 of 630 strings)

Translated using Weblate (French)

Currently translated at 99.6% (628 of 630 strings)

Translated using Weblate (Japanese)

Currently translated at 100.0% (630 of 630 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (630 of 630 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (630 of 630 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (630 of 630 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (630 of 630 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (630 of 630 strings)

Translated using Weblate (Polish)

Currently translated at 99.6% (628 of 630 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (630 of 630 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (630 of 630 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (630 of 630 strings)

Translated using Weblate (Estonian)

Currently translated at 72.6% (458 of 630 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (630 of 630 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (630 of 630 strings)

Translated using Weblate (Danish)

Currently translated at 63.8% (402 of 630 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (630 of 630 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 86.9% (40 of 46 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/

Translated using Weblate (Polish)

Currently translated at 99.6% (628 of 630 strings)

Translated using Weblate (Polish)

Currently translated at 99.6% (628 of 630 strings)

Translated using Weblate (German)

Currently translated at 100.0% (630 of 630 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (630 of 630 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (630 of 630 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (630 of 630 strings)

Translated using Weblate (Estonian)

Currently translated at 78.8% (497 of 630 strings)

Translated using Weblate (Malay)

Currently translated at 65.7% (414 of 630 strings)

Translated using Weblate (Indonesian)

Currently translated at 21.7% (10 of 46 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/id/

Translated using Weblate (Portuguese (Portugal))

Currently translated at 56.5% (26 of 46 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_PT/
2021-03-16 09:23:48 +01:00
Tobi
80fb351ad3 Merge pull request #5830 from mhmdanas/remove-outdated-fdroid-version-note
Re-add F-Droid badge and remove outdated note
2021-03-15 08:43:51 +01:00
mhmdanas
523f85d4d1 Uncomment F-Droid badge and remove outdated note 2021-03-15 08:21:55 +03:00
Tobi
bfff500915 Merge pull request #5818 from TeamNewPipe/thumbnail_size
[background player] Fix very small thumbnails
2021-03-14 21:12:52 +01:00
Tobi
3e83bb0d95 Merge pull request #3741 from fynngodau/bandcamp
Bandcamp support
2021-03-14 20:00:40 +01:00
TobiGr
bdaee25e61 Use latest extractor version 2021-03-14 17:52:15 +01:00
TobiGr
71d3227791 Fix bottom controls being out of the screen
This was caused by too large end screen thumbnails enlarging the whole palyer. Fixed by scaling the thumbnail.

Ensure that the player does not use the whole screen height in detail fragment to keep the additional content like title, comments, etc. available.
2021-03-14 17:52:15 +01:00
TobiGr
a28aa6a8c4 Add Bandcamp to supported services section in README 2021-03-14 17:52:15 +01:00
TobiGr
292e103073 Ignore ContentNotSupportedException caused by Bandcamp fan pages 2021-03-14 17:52:15 +01:00
Fynn Godau
39a3f03e79 Bandcamp support 2021-03-14 17:52:15 +01:00
Tobi
404a6c12a6 Merge pull request #5148 from Stypox/error-panel
Show improved error panel instead of annoying snackbar or crashing
2021-03-14 17:41:27 +01:00
Tobi
8271409afe Merge pull request #5562 from mbarashkov/hardware_keyboard_space_shortcut_v2
Implement "pause/play" toggle on hardware keyboard space button.
2021-03-14 13:08:44 +01:00
TobiGr
985f659026 Fix empty stream title in minimized player 2021-03-13 20:12:57 +01:00
TobiGr
7c36cbffd0 [background player] Fix very small thumbnails 2021-03-13 18:17:30 +01:00
Stypox
285ea4e3fd Better handle url not supported in RouterActivity
Make sure the url not supported dialog is only shown when the url is really not supported, not on any ExtractionException
2021-03-12 23:21:54 +01:00
Stypox
8ce18647f1 Improve email subject for error reporting 2021-03-12 23:21:54 +01:00
Stypox
aee0478235 FeedFragment: fix view binding and show loading indicator correctly 2021-03-12 23:21:54 +01:00
Stypox
c3cf1d81c2 Fix error panel and search fragment state saving 2021-03-12 23:21:54 +01:00
Stypox
c2b6cec37d Hide meta info panel in search when starting a new search 2021-03-12 23:21:54 +01:00
Stypox
b265cabc22 Fix views not scrollable when showing error panel 2021-03-12 23:21:54 +01:00
Stypox
463dd8ea74 Completely remove return activity, now outdated 2021-03-12 23:21:54 +01:00
Stypox
0263125e11 Fix tests 2021-03-12 23:21:54 +01:00
Stypox
1fc8e4c148 Optimize imports and solve checkstyle issues 2021-03-12 23:21:53 +01:00
Stypox
c43bca6007 Add report/solve-recaptcha button in error panel
It will be shown even when nothing could be loaded not due to a network error, and the user can choose to ignore or report it.

Also improve error reporting arguments
Also completely refactor error activity
Also improve some code here and there
2021-03-12 23:21:49 +01:00
Tobi
4c31636d19 Merge pull request #5795 from TeamNewPipe/ci-only-on-master
Fix: CI only on dev
2021-03-09 11:50:47 +01:00
Poolitzer
3a61ab59f2 adding master to push trigger
Co-authored-by: Tobi <TobiGr@users.noreply.github.com>
2021-03-09 11:21:40 +01:00
Poolitzer
1db3c57ef0 change master to dev 2021-03-08 13:19:18 +01:00
Poolitzer
eeaf3496d5 Fix: CI only on master 2021-03-08 13:15:22 +01:00
Tobi
70f421b787 Add links to Matrix and IRC chat when opening new issues (#5764) 2021-03-08 09:43:05 +00:00
TobiGr
86fa629591 Fix last resize mode not being restored correctly
I think the settings key "last_resize_mode" is ambiguous. While it is used to get the recently used resize mode, someone thought while working on the resize mode switcher, that the old (to be replaced) resize mode should be stored. 
Fixes #5613
2021-03-08 09:46:33 +01:00
Stypox
553b80164b Move all error-related classes into error package 2021-03-07 17:49:28 +01:00
TobiGr
8518933ca8 Update translations
Translated using Weblate (Russian)
Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (French)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (624 of 624 strings)
2021-03-07 16:53:38 +01:00
Tobi
ea53b7d4ad Merge pull request #5385 from TiA4f8R/soundcloud-error-improvements
Better error messages for SoundCloud and YouTube unavailable contents
2021-03-07 16:35:56 +01:00
TiA4f8R
37a96d063f Add different error messages for SoundCloud and YouTube unavailable contents
Add new error strings for the six new exceptions created in the extractor and catch these exceptions. Extractor is, of course, updated with this PR.
2021-03-07 15:33:25 +01:00
Tobi
b360920472 Merge pull request #5772 from iamthesenate1/dev
Add spcace after the comma, before Romanian in Readme.md.
2021-03-06 12:13:38 +01:00
iamthesenate1
9e1744f904 Add spcace after the comma, before Rommanian. 2021-03-06 12:20:01 +02:00
TobiGr
85a468bda9 Update translations: app
Translated using Weblate (French)
Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Slovenian)

Currently translated at 75.1% (469 of 624 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Albanian)

Currently translated at 98.2% (613 of 624 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 96.4% (602 of 624 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Kurdish (Northern))

Currently translated at 100.0% (624 of 624 strings)
2021-03-05 22:45:00 +01:00
Bopol
7955ef8105 Update translations: changelog
Translated using Weblate (French)
Currently translated at 69.5% (32 of 46 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/

Translated using Weblate (French)

Currently translated at 69.5% (32 of 46 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/

Translated using Weblate (Greek)

Currently translated at 34.7% (16 of 46 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/el/

Translated using Weblate (Hebrew)

Currently translated at 36.9% (17 of 46 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/

Translated using Weblate (Arabic)

Currently translated at 67.3% (31 of 46 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ar/

Translated using Weblate (French)

Currently translated at 69.5% (32 of 46 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/

Translated using Weblate (French)

Currently translated at 69.5% (32 of 46 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
2021-03-05 22:43:49 +01:00
TobiGr
80cd41893b Release 0.20.11 (965) 2021-03-05 15:49:57 +01:00
TobiGr
9b09f2ad71 Add changelog for 0.20.11 (965) 2021-03-05 15:49:37 +01:00
TobiGr
c45d9559c4 Update extractor version to 0.20.11 2021-03-05 15:38:57 +01:00
Tobi
f0d978b4c6 Merge pull request #5718 from Isira-Seneviratne/Fix_channel_group_crash
Fix crash when reordering channel groups.
2021-03-04 22:07:02 +01:00
Tobi
8734f4bbe3 Merge pull request #5721 from mhmdanas/add-northern-kurdish-language
Add Northern Kurdish to language selector
2021-03-04 19:15:04 +01:00
TobiGr
9f03280075 Update translations
Translated using Weblate (German)
Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Bengali)

Currently translated at 84.2% (526 of 624 strings)

Translated using Weblate (Somali)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Somali)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Hungarian)

Currently translated at 68.1% (425 of 624 strings)

Translated using Weblate (Lithuanian)

Currently translated at 51.1% (319 of 624 strings)

Translated using Weblate (Lithuanian)

Currently translated at 51.1% (319 of 624 strings)

Added translation using Weblate (Arabic (Najdi))

Added translation using Weblate (Kurdish (Northern))

Translated using Weblate (Spanish)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Hungarian)

Currently translated at 68.1% (425 of 624 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Lithuanian)

Currently translated at 51.2% (320 of 624 strings)

Translated using Weblate (Kurdish)

Currently translated at 97.7% (610 of 624 strings)

Translated using Weblate (Catalan)

Currently translated at 99.5% (621 of 624 strings)

Translated using Weblate (Latvian)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Kurdish (Northern))

Currently translated at 63.1% (394 of 624 strings)

Added translation using Weblate (Sinhala)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Filipino)

Currently translated at 12.5% (78 of 624 strings)

Translated using Weblate (Kurdish (Northern))

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Sinhala)

Currently translated at 4.8% (30 of 624 strings)
2021-03-04 16:54:24 +01:00
mhmdanas
427ac4ef35 Fix indentation 2021-02-28 18:15:48 +03:00
mhmdanas
d9c4495e8e Add Northern Kurdish to language selector 2021-02-28 18:10:34 +03:00
Isira Seneviratne
d09070b61d Fix crash when reordering channel groups. 2021-02-28 14:48:06 +05:30
Tobi
d6855a6b50 Merge pull request #5672 from Stypox/crash-button
Add crash button to debug settings
2021-02-22 22:13:59 +01:00
Stypox
9be970a4c4 Add crash button to debug settings 2021-02-22 21:59:04 +01:00
FireMasterK
b236bb407b Change UA to privacy.resistFingerprinting. 2021-02-20 16:49:37 +05:30
Stypox
8978187c64 Improve code style and fix some warnings
Removed a textTrack null check on a now- NonNull method
Added a error type switch case (TIMEOUT)
2021-02-16 16:54:44 +01:00
Robin
eba0b07782 Update to ExoPlayer 2.12.3 2021-02-16 16:42:51 +01:00
Robin
1f77e00df4 Merge pull request #5581 from emsoucy/dev
Update Gradle plugin to version 4.1.2
2021-02-16 09:16:28 +01:00
Robin
41c70cc85d Merge pull request #5589 from TeamNewPipe/okhttp
Update okhttp from 3.12.12 to 3.12.13
2021-02-16 09:13:14 +01:00
XiangRongLin
5bc0a8fba1 Merge pull request #5554 from karkaminski/enhancement/remove_resizing_text
removed resizing text from popup player
2021-02-15 16:15:27 +01:00
Tobi
687020e595 Merge pull request #5543 from mhmdanas/remove-empty-string-concat
Remove unnecessary concat with empty string
2021-02-14 23:50:08 +01:00
Tobi
8c75b96c38 Merge pull request #5544 from mhmdanas/remove-content-uri
Remove License#contentUri
2021-02-14 23:49:07 +01:00
TobiGr
6f7a01bc53 Update okhttp from 3.12.12 to 3.12.13
Changelog https://square.github.io/okhttp/changelog_3x/#version-31213
2021-02-14 23:42:58 +01:00
Tobi
5383a0af0b Merge pull request #5456 from TeamNewPipe/release_0.20.9
Release 0.20.10
2021-02-14 22:24:48 +01:00
TobiGr
3e50466024 Release 0.20.10 (964) 2021-02-14 22:12:54 +01:00
TobiGr
45b703daf6 Update extractor version 2021-02-14 22:12:47 +01:00
TobiGr
f1e1f6424a Update translations
Added translation using Weblate (Swahili)
Added translation using Weblate (Sicilian)

Translated using Weblate (Greek)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Santali)

Currently translated at 12.8% (80 of 624 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Bengali (Bangladesh))

Currently translated at 63.6% (397 of 624 strings)
2021-02-14 22:04:24 +01:00
TobiGr
460f031cef Merge remote-tracking branch 'origin/dev' into dev 2021-02-14 21:51:16 +01:00
TobiGr
25aaf4e48b Merge master into dev 2021-02-14 21:50:38 +01:00
Tobi
a26baa3061 Merge pull request #5563 from Stypox/fix-tablayout-visibility
Fix tab layout visibility with age restricted videos
2021-02-14 21:32:10 +01:00
Stypox
138513d790 Hide tab layout view pager on error 2021-02-14 13:40:17 +01:00
Stypox
1e5dc01825 Fix tab layout visibility with age restricted videos
Add comments
2021-02-14 13:25:39 +01:00
Ethan Soucy
8c4b1b967d Update Gradle plugin to version 4.1.2 2021-02-13 16:22:59 -05:00
Tobi
7faa107547 Merge pull request #5564 from B0pol/hotfix
Release 0.20.9
2021-02-12 22:42:02 +01:00
bopol
85ccc2384f Release 0.20.9 (963) 2021-02-12 22:33:03 +01:00
karol
469a5b1974 removed unused string key 2021-02-12 16:10:03 +01:00
Mikhail Barashkov
80161c36c6 Apply the space button shortcut to large screens as well 2021-02-12 12:17:46 +03:00
Mikhail Barashkov
aea912f499 Implement "pause/play" toggle on hardware keyboard space button. 2021-02-12 11:58:15 +03:00
karol
156d7139fa removed resizig text from popup player, as requested in #5514 2021-02-11 11:20:27 +01:00
mhmdanas
0ad3d0247d Trigger CI 2021-02-10 08:06:14 +03:00
mhmdanas
092f9170cc Remove License#contentUri
It seems to not be used anywhere.
2021-02-08 19:54:30 +03:00
mhmdanas
b820e9a888 Remove unnecessary concat with empty string 2021-02-08 19:40:20 +03:00
TobiGr
b9cd55188e Update translation via Weblate
Translated using Weblate (Japanese)
Currently translated at 97.7% (609 of 623 strings)

Translated using Weblate (Japanese)

Currently translated at 97.7% (609 of 623 strings)

Translated using Weblate (Japanese)

Currently translated at 97.7% (609 of 623 strings)

Translated using Weblate (Japanese)

Currently translated at 97.7% (609 of 623 strings)

Translated using Weblate (Japanese)

Currently translated at 97.7% (609 of 623 strings)

Translated using Weblate (Japanese)

Currently translated at 97.7% (609 of 623 strings)

Translated using Weblate (Japanese)

Currently translated at 98.0% (611 of 623 strings)

Translated using Weblate (Japanese)

Currently translated at 98.0% (611 of 623 strings)

Translated using Weblate (Japanese)

Currently translated at 98.5% (614 of 623 strings)

Translated using Weblate (Japanese)

Currently translated at 98.5% (614 of 623 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (623 of 623 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (623 of 623 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (623 of 623 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (623 of 623 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (623 of 623 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (623 of 623 strings)

Translated using Weblate (Turkish)

Currently translated at 30.2% (13 of 43 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/tr/

Translated using Weblate (Hebrew)

Currently translated at 34.8% (15 of 43 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/

Translated using Weblate (Somali)

Currently translated at 100.0% (623 of 623 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (623 of 623 strings)

Translated using Weblate (German)

Currently translated at 100.0% (623 of 623 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (623 of 623 strings)

Translated using Weblate (Polish)

Currently translated at 99.5% (620 of 623 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (623 of 623 strings)

Translated using Weblate (Urdu)

Currently translated at 89.2% (556 of 623 strings)

Translated using Weblate (Hebrew)

Currently translated at 36.3% (16 of 44 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/

Translated using Weblate (Italian)

Currently translated at 47.7% (21 of 44 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/

Translated using Weblate (Chinese (Simplified))

Currently translated at 86.3% (38 of 44 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/

Translated using Weblate (Somali)

Currently translated at 100.0% (623 of 623 strings)

Translated using Weblate (Somali)

Currently translated at 4.5% (2 of 44 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/so/

Translated using Weblate (Turkish)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (German)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (French)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Basque)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Romanian)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Czech)

Currently translated at 99.5% (621 of 624 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Ukrainian)

Currently translated at 91.3% (570 of 624 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Finnish)

Currently translated at 98.7% (616 of 624 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 46.6% (291 of 624 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 96.4% (602 of 624 strings)

Translated using Weblate (Sardinian)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Greek)

Currently translated at 34.0% (15 of 44 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/el/

Translated using Weblate (Basque)

Currently translated at 31.8% (14 of 44 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/eu/

Translated using Weblate (Ukrainian)

Currently translated at 2.2% (1 of 44 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/

Translated using Weblate (Hebrew)

Currently translated at 36.3% (16 of 44 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/

Translated using Weblate (Arabic)

Currently translated at 68.1% (30 of 44 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ar/

Translated using Weblate (Chinese (Traditional))

Currently translated at 81.8% (36 of 44 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/

Translated using Weblate (Norwegian Bokmål)

Currently translated at 20.4% (9 of 44 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nb_NO/

Translated using Weblate (Somali)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Hindi)

Currently translated at 82.3% (514 of 624 strings)

Translated using Weblate (Hungarian)

Currently translated at 68.1% (425 of 624 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Japanese)

Currently translated at 98.8% (617 of 624 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 99.5% (621 of 624 strings)

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Croatian)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Vietnamese)

Currently translated at 47.7% (21 of 44 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/vi/

Translated using Weblate (Somali)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Finnish)

Currently translated at 98.8% (617 of 624 strings)

Translated using Weblate (Japanese)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Japanese)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Japanese)

Currently translated at 15.9% (7 of 44 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ja/

Translated using Weblate (Japanese)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Bengali (Bangladesh))

Currently translated at 63.6% (397 of 624 strings)

Translated using Weblate (Finnish)

Currently translated at 99.6% (622 of 624 strings)

Translated using Weblate (Finnish)

Currently translated at 99.6% (622 of 624 strings)

Translated using Weblate (Bengali)

Currently translated at 80.2% (501 of 624 strings)

Translated using Weblate (Japanese)

Currently translated at 15.9% (7 of 44 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ja/

Translated using Weblate (Kurdish (Central))

Currently translated at 2.2% (1 of 44 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ckb/

Translated using Weblate (Santali)

Currently translated at 12.6% (79 of 624 strings)

Translated using Weblate (Somali)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Somali)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Somali)

Currently translated at 100.0% (624 of 624 strings)

Added translation using Weblate (Latvian)

Translated using Weblate (Greek)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Somali)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Latvian)

Currently translated at 4.5% (2 of 44 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/lv/
2021-02-03 22:14:55 +01:00
TobiGr
ebd45dfae3 Update extractor version
Fixes YouTube chapter / segments extraction
2021-02-03 22:10:00 +01:00
Tobi
40195b2d98 Merge pull request #5464 from Stypox/fix-channel-subscribe-button
Fix channel subscribe button causing crash on closing
2021-02-03 09:24:26 +01:00
Tobi
0b0305eaed Merge pull request #5474 from XiangRongLin/expires_header
Respect expires header when checking for new versions
2021-01-31 10:51:50 +01:00
Stypox
950997ea66 Merge pull request #5466 from TiA4f8R/share-improvements
Fix some things in ShareUtils file and do little improvements
2021-01-31 09:35:00 +01:00
TobiGr
be4beb41b6 update extractor version 2021-01-30 23:30:58 +01:00
TiA4f8R
c55f87c962 Fix some things in ShareUtils.java and do little improvements
Fix a bug in which NewPipe doesn't fall back to Google Play Store web url in InstallApp
Fusion getDefaultBrowserPackageName and getDefaultAppPackageName, rename openInDefaultApp to openAppChooser
Update some JavaDocs
2021-01-30 15:55:44 +01:00
XiangRongLin
bdc85b435c Add comments explaining the expiry field
Co-authored-by: Tobias Groza <TobiGr@users.noreply.github.com>
2021-01-30 14:24:25 +01:00
XiangRongLin
522d6d8b01 Re-add APK testing section to PR template (#5465)
Because normal users don't know that the CI process produces an APK and where it is.
2021-01-30 10:18:58 +00:00
XiangRongLin
e98838ad7e Invert usage of manager.isExpired()
When it's expired it means, that the app should get the data. Meaning it should not abort prematurely by returning null.

Co-authored-by: Tobias Groza <TobiGr@users.noreply.github.com>
2021-01-30 09:32:17 +01:00
Stypox
3829565ea0 Merge pull request #5503 from Stypox/settings-default
Set all default settings at the beginning
2021-01-29 23:27:47 +01:00
iamthesenate1
c16a8dacd0 Add README.ro.md (#5501)
* Add files via upload

* Add files via upload

* Update README.ro.md

* Add Romanian README link

* Add Romanian README link

* Update README.ja.md

* Add Romanian README link

* Add Romanian README link

* Add Romanian README link
2021-01-29 07:55:33 +00:00
Stypox
02db971b7c Set all default settings at the beginning 2021-01-28 18:28:29 +01:00
Stypox
0d522aae6c Merge pull request #5502 from Stypox/fix-minimize
Fix minimize on app switch always opens popup
2021-01-28 17:59:18 +01:00
Stypox
fdb0f01b38 Add Objects.requireNotNull to warning which is surely not null 2021-01-28 14:35:47 +01:00
Stypox
376cba696e Remove useless getString for default setting value 2021-01-28 14:35:00 +01:00
Stypox
cade272501 Use PlayerHelper.retrieveResizeModeFromPrefs in Player 2021-01-28 14:33:50 +01:00
Stypox
4f828fbe00 Fix always minimizing to popup player 2021-01-28 14:33:12 +01:00
Tobias Groza
3d348c63d9 Merge pull request #5480 from B0pol/invidious_instances
update invidious instances list
2021-01-27 09:43:19 +01:00
bopol
fe10c19956 update extractor version 2021-01-27 00:28:01 +01:00
opusforlife2
9ada979484 Merge pull request #5468 from ryota-hasegawa/dev
Add Japanese translation of README
2021-01-23 08:07:47 +00:00
XiangRongLin
2926cb7682 Respect expires header when checking for new version
It was called to many times and acted similar to a DOS attack.
2021-01-23 09:02:11 +01:00
*
8c15cc1c17 Add a link to Japanese README to the Brazilian Portuguese one 2021-01-23 12:54:06 +09:00
bopol
bea4fb6ae6 update invidious instances list 2021-01-22 19:25:21 +01:00
Tobias Groza
cafc64534b Merge pull request #5458 from Stypox/fix-popup-x
Fix popup closing x button animation
2021-01-22 10:01:12 +01:00
Stypox
327fc742d3 Fix channel subscribe button causing crash in main page tab
The binding was being set to null on onDestroyView() instead of in onDestroy()
2021-01-21 15:31:50 +01:00
*
0c5df29417 Add Japanese translation of README 2021-01-21 16:12:09 +09:00
opusforlife2
cce896e900 Merge pull request #5439 from nadiration/patch-5
Update README.so.md to sync with the English one
2021-01-20 19:52:55 +00:00
XiangRongLin
50c0f9e622 Merge pull request #5463 from Stypox/fix-feed-number
Fix number being shown instead of corresponding string resorce in feed
2021-01-20 19:26:43 +01:00
Stypox
10ec67854e Fix number being shown instead of corresponding string resorce in feed 2021-01-20 10:44:44 +01:00
Stypox
e327f7ba2c Fix popup closing x button animation 2021-01-19 09:34:21 +01:00
TiA4f8R
9a65f02d5b Fix crash when no browser is present and use an ACTION_CHOOSER intent in the app update notification (#5429)
Fix crash when no browser is present and use an ACTION_CHOOSER intent for app update notification
Show a Toast when no app is present on user's device to open a content in an app and in a browser and use an ACTION_CHOOSER intent with the ACTION_VIEW intent put as an extra intent in the update notification.
2021-01-18 21:45:36 +01:00
TobiGr
d1fc9c5880 Add changelog for 0.20.9 2021-01-18 14:45:34 +01:00
nadiration
3c9ae68314 Update README.so.md 2021-01-18 16:18:12 +03:00
TobiGr
5e7c2c11f6 Update translations
Translated using Weblate (Kabyle)
Currently translated at 2.3% (1 of 43 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/kab/

Translated using Weblate (Polish)

Currently translated at 99.5% (613 of 616 strings)

Translated using Weblate (German)

Currently translated at 99.8% (615 of 616 strings)

Translated using Weblate (Basque)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Arabic)

Currently translated at 96.9% (597 of 616 strings)

Translated using Weblate (Indonesian)

Currently translated at 99.6% (614 of 616 strings)

Translated using Weblate (Polish)

Currently translated at 99.6% (614 of 616 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Croatian)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Sardinian)

Currently translated at 99.0% (610 of 616 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 27.9% (12 of 43 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_BR/

Translated using Weblate (Basque)

Currently translated at 30.2% (13 of 43 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/eu/

Translated using Weblate (Czech)

Currently translated at 6.9% (3 of 43 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/cs/

Translated using Weblate (Hebrew)

Currently translated at 32.5% (14 of 43 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/

Translated using Weblate (Polish)

Currently translated at 53.4% (23 of 43 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/

Translated using Weblate (Somali)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Somali)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (German)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (French)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 96.2% (593 of 616 strings)

Translated using Weblate (French)

Currently translated at 72.0% (31 of 43 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/

Translated using Weblate (Chinese (Traditional))

Currently translated at 81.3% (35 of 43 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/

Translated using Weblate (English (United Kingdom))

Currently translated at 6.6% (41 of 616 strings)

Translated using Weblate (Spanish)

Currently translated at 99.1% (611 of 616 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Arabic)

Currently translated at 97.8% (603 of 616 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Finnish)

Currently translated at 99.5% (613 of 616 strings)

Translated using Weblate (Dutch (Belgium))

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Tamil)

Currently translated at 2.3% (1 of 43 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ta/

Translated using Weblate (Italian)

Currently translated at 46.5% (20 of 43 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/

Translated using Weblate (Somali)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 79.0% (34 of 43 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/

Translated using Weblate (Somali)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Korean)

Currently translated at 85.3% (526 of 616 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Serbian)

Currently translated at 40.9% (252 of 616 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Romanian)

Currently translated at 74.3% (458 of 616 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Catalan)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (German)

Currently translated at 48.8% (21 of 43 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/

Translated using Weblate (Catalan)

Currently translated at 4.6% (2 of 43 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ca/

Translated using Weblate (Arabic)

Currently translated at 67.4% (29 of 43 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ar/

Translated using Weblate (Indonesian)

Currently translated at 13.9% (6 of 43 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/id/

Translated using Weblate (Chinese (Simplified))

Currently translated at 86.0% (37 of 43 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/

Translated using Weblate (Somali)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Somali)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Croatian)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Finnish)

Currently translated at 99.6% (614 of 616 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 96.4% (594 of 616 strings)

Translated using Weblate (German)

Currently translated at 46.5% (20 of 43 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/

Translated using Weblate (Turkish)

Currently translated at 27.9% (12 of 43 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/tr/

Translated using Weblate (Norwegian Bokmål)

Currently translated at 18.6% (8 of 43 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nb_NO/

Translated using Weblate (Santali)

Currently translated at 12.3% (76 of 616 strings)

Translated using Weblate (Somali)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Kurdish (Central))

Currently translated at 95.9% (591 of 616 strings)

Translated using Weblate (Bengali)

Currently translated at 78.5% (484 of 616 strings)

Translated using Weblate (German)

Currently translated at 51.1% (22 of 43 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/

Translated using Weblate (German)

Currently translated at 51.1% (22 of 43 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/

Translated using Weblate (Greek)

Currently translated at 32.5% (14 of 43 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/el/

Translated using Weblate (Somali)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Estonian)

Currently translated at 68.9% (425 of 616 strings)

Translated using Weblate (Kabyle)

Currently translated at 30.0% (185 of 616 strings)

Translated using Weblate (Estonian)

Currently translated at 4.6% (2 of 43 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/et/

Translated using Weblate (Somali)

Currently translated at 100.0% (616 of 616 strings)
2021-01-18 13:31:36 +01:00
TobiGr
053b6ab8c6 Update extractor version 2021-01-18 13:10:04 +01:00
XiangRongLin
5814743d59 Merge pull request #5430 from Stypox/fix-feed
Fix reload feed button does nothing
2021-01-18 12:59:58 +01:00
Stypox
fa7613b8d1 Refactor feed fragment 2021-01-18 11:43:05 +01:00
Stypox
d3d05d613d Fix reload feed button does nothing
initListeners was being called before the bindings were assigned, and therefore the click listener was never setup
2021-01-18 11:42:25 +01:00
XiangRongLin
23b5cd5b72 Merge pull request #5442 from Stypox/fix-close-popup
Prevent IllegalArgumentException when closing popup
2021-01-18 09:39:02 +01:00
Stypox
d4a33603ab Prevent IllegalArgumentException when closing popup 2021-01-18 08:27:49 +01:00
nadiration
39724de6e6 Update README.so.md 2021-01-18 08:00:22 +03:00
Tobias Groza
156adaa1a0 Merge pull request #4534 from Stypox/secondary-controls
Add a secondary control panel to video detail fragment
2021-01-17 20:02:36 +01:00
Stypox
3868243c2a Animate secondary controls toggle 2021-01-17 15:59:29 +01:00
Stypox
243f539439 Use KoreUtil function 2021-01-17 15:46:00 +01:00
Stypox
71d92c8d1b Hide tab layout in detail fragment when there is no space 2021-01-17 15:42:54 +01:00
Stypox
e840d42fb9 Add content description to detail fragment tabs 2021-01-17 15:38:12 +01:00
Stypox
750c4ffbd3 Add preference to hide description tab in video details 2021-01-17 15:36:42 +01:00
Stypox
d043a4f410 Always show tab layout at the bottom of the screen 2021-01-17 15:36:42 +01:00
Stypox
4c3ba0fe3d Add icons to VideoDetailFragment tab layout for better accessibility 2021-01-17 15:34:24 +01:00
Stypox
a314f55a17 Move description to a tab alongside related streams and comments 2021-01-17 15:26:25 +01:00
Stypox
78a9811fe3 Add a secondary control panel to video detail fragment
It is shown when the user expands the description
It contains share, open in browser and play in kodi
2021-01-17 15:12:29 +01:00
Stypox
6277639ded Merge pull request #5438 from Isira-Seneviratne/Use_view_binding_in_VideoDetailFragment
Use view binding in VideoDetailFragment.
2021-01-17 14:40:37 +01:00
nadiration
d1c807487a Update README.so.md 2021-01-17 07:50:05 +03:00
Isira Seneviratne
fe92abde0e Use view binding in VideoDetailFragment. 2021-01-17 09:57:40 +05:30
Stypox
098c954ef1 Merge pull request #5029 from Isira-Seneviratne/Use_Groupie_view_binding
Switch to Groupie's view binding module.
2021-01-16 18:21:32 +01:00
Isira Seneviratne
01396923f1 Use the base Groupie library in ChannelItem. 2021-01-16 18:59:49 +05:30
Isira Seneviratne
e0de66b1be Fix some issues. 2021-01-16 18:59:48 +05:30
Isira Seneviratne
77675b361f Use BindableItem in PickerSubscriptionItem. 2021-01-16 18:59:45 +05:30
Isira Seneviratne
e2dd058430 Use BindableItem in PickerIconItem. 2021-01-16 18:55:42 +05:30
Isira Seneviratne
a188125982 Use BindableItem in HeaderWithMenuItem. 2021-01-16 18:55:42 +05:30
Isira Seneviratne
9e5f079cf2 Use BindableItem in HeaderItem. 2021-01-16 18:55:41 +05:30
Isira Seneviratne
51a948bfcf Use BindableItem in FeedImportExportItem. 2021-01-16 18:55:41 +05:30
Isira Seneviratne
9d27d49c1f Use BindableItem in FeedGroupReorderItem. 2021-01-16 18:55:41 +05:30
Isira Seneviratne
761f6568fa Use BindableItem in FeedGroupCarouselItem. 2021-01-16 18:55:40 +05:30
Isira Seneviratne
ee94b296ae Use BindableItem in FeedGroupCardItem. 2021-01-16 18:55:40 +05:30
Isira Seneviratne
b387946d34 Use BindableItem in FeedGroupAddItem. 2021-01-16 18:55:39 +05:30
Isira Seneviratne
46afe5153f Use BindableItem in EmptyPlaceholderItem. 2021-01-16 18:55:38 +05:30
Isira Seneviratne
68be87724a Switch to Groupie view binding module. 2021-01-16 18:55:38 +05:30
Stypox
8c9f2af855 Merge pull request #5187 from TiA4f8R/share-improvements
Share improvements + fix crash when no default browser is set on some devices
2021-01-16 13:42:22 +01:00
Stypox
594f0b10ba Move TextLinkifier computation out of main thread 2021-01-16 13:23:42 +01:00
TiA4f8R
79e98db3bd Apply the requested changes and little improvements
Apply the requested changes, use ShareUtils.shareText to share an stream in the play queue and optimize imports for Java files, using Android Studio functionality.

Apply the requested changes and do little improvements
Apply the requested changes, use ShareUtils.shareText to share an stream in the play queue and optimize imports for Java files, using Android Studio functionality.
2021-01-16 13:23:42 +01:00
TiA4f8R
a57fd69fb4 External sharing improvements
Improve NewPipe's share on some devices + fix crash when no browser is set on some devices

Catching ActivityNotFoundException when trying to open the default browser
Use an ACTION_CHOOSER intent and put as an extra intent the intent to
open an URI / share an URI when no default app is set.

Add a LinkHelper class which set a custom action when clicking web links
in the description of a content. This class also helps to implement a confirmation dialog when trying to open web links in an external app.
2021-01-16 13:23:06 +01:00
Stypox
b73eb9438d Merge pull request #5333 from Isira-Seneviratne/Convert_AnimationUtils_to_extensions
Convert AnimationUtils functions to extension functions.
2021-01-16 11:43:57 +01:00
Isira Seneviratne
920e560b4b Convert AnimationUtils functions to extension functions. 2021-01-16 14:49:37 +05:30
Stypox
0d33f8b460 Merge pull request #5284 from mhmdanas/remove-pr-template-testing-apk-section
Remove APK testing section from PR template
2021-01-16 09:09:03 +01:00
XiangRongLin
5b58850c31 Merge pull request #5407 from XiangRongLin/ci_checkout_branch
Checkout branch in CI process
2021-01-16 07:53:31 +01:00
TobiGr
17746f35f9 User uppercase for country code in pt br readme 2021-01-15 21:04:41 +01:00
TobiGr
ca0b211854 Use underscore for contry code in README trnaslations 2021-01-15 21:00:39 +01:00
Stypox
54cb26ff03 Merge pull request #5108 from mhmdanas/update-readme-installation-section
Update README.md to include installation methods other than F-Droid
2021-01-15 20:46:27 +01:00
mhmdanas
a7ff73dbfd Rename installation to installation and updates 2021-01-15 22:18:49 +03:00
mhmdanas
815dd0f706 Merge branch 'dev' into update-readme-installation-section 2021-01-15 18:35:19 +03:00
mhmdanas
7455dc93ac Add period to end of comment 2021-01-15 18:16:45 +03:00
mhmdanas
337662bd40 Hide F-Droid badge 2021-01-15 18:16:28 +03:00
mhmdanas
91305771bc Rename updates section to installation
Also added a hidden span so that old links won't break.
2021-01-15 18:13:52 +03:00
Robin
98ed80d305 Merge pull request #5274 from vkay94/stream-segments
Add stream segments to player controls
2021-01-15 10:59:34 +01:00
Tobias Groza
5313e1861a Merge pull request #5397 from DavidBrazSan/patch-1
Created Brazilian Portuguese Readme
2021-01-15 09:51:34 +01:00
TobiGr
d8665366ef Linked with Brazilian Portuguese Readme
Linked with Brazilian Portuguese Readme Soomaali
Linked with Brazilian Portuguese Readme 한국어
2021-01-15 09:38:59 +01:00
Stypox
c216f29fb0 Merge pull request #5418 from Isira-Seneviratne/Unify_constants
Combine the two Constants files into one file.
2021-01-15 09:20:08 +01:00
Stypox
302fde6004 Merge pull request #5417 from Isira-Seneviratne/Fix_crash_on_back_navigation
Fix the crash that occurs on navigating back to the main fragment.
2021-01-15 08:15:09 +01:00
Isira Seneviratne
14ddf37988 Combine the two Constants files into one file. 2021-01-15 12:13:47 +05:30
Isira Seneviratne
87568b6590 Fix the crash that occurs on navigating back to the main fragment. 2021-01-15 06:54:20 +05:30
vkay94
37aa41afae Add stream segments to player 2021-01-14 21:58:19 +01:00
XiangRongLin
41968918bb Checkout branch in CI process for pull requests
This way the debug build app id contains the branch name again.
2021-01-14 19:39:40 +01:00
Tobias Groza
8fd48a88be Merge pull request #4939 from Atemu/dont-exit-fullscreen-on-rotation
VideoDetailFragment: Don't exit fullscreen on rotation in tablet UI
2021-01-14 16:25:51 +01:00
Stypox
10c35f354e Merge pull request #5225 from XiangRongLin/extract_settings_import
Extract settings import
2021-01-14 15:18:36 +01:00
Stypox
9ee7740fcc Merge pull request #4947 from Isira-Seneviratne/Convert_ExceptionUtils_to_extensions
Rewrite ExceptionUtils methods as extension functions.
2021-01-14 14:54:37 +01:00
Stypox
94b086de20 Merge pull request #4814 from Isira-Seneviratne/Use_view_binding_in_fragments
Use view binding in fragments.
2021-01-14 14:40:19 +01:00
Robin
c90696e67e Merge pull request #5371 from Stypox/merge-player
Merge player classes into a single one
2021-01-14 10:43:11 +01:00
Stypox
8378789f6a Fix view binding types 2021-01-14 10:25:48 +01:00
Stypox
059bb7622d Merge and rename into PlayQueueActivity 2021-01-14 10:25:48 +01:00
Stypox
cece83328a Fix wrong speed indicator in queue activity 2021-01-14 10:25:48 +01:00
Stypox
4a12b0ab2d Revert hiding detail fragment tabs when in fullscreen 2021-01-14 10:25:48 +01:00
Stypox
f6e2dd1480 Merge player classes into a single one 2021-01-14 10:25:44 +01:00
Isira Seneviratne
f04b5fd42f Use view binding in FeedGroupReorderDialog. 2021-01-14 11:16:08 +05:30
Isira Seneviratne
5994cd8ea2 Use view binding in FeedGroupDialog. 2021-01-14 11:16:07 +05:30
Isira Seneviratne
83f33a7d1b Use view binding in SubscriptionFragment. 2021-01-14 11:16:06 +05:30
Isira Seneviratne
f80e1bd214 Use view binding in FeedFragment. 2021-01-14 11:16:05 +05:30
Isira Seneviratne
97672f06de Use view binding in SearchFragment. 2021-01-14 11:16:04 +05:30
Isira Seneviratne
6039484a02 Use view binding in ChannelFragment. 2021-01-14 11:16:03 +05:30
Isira Seneviratne
7682ebd245 Use view binding in DownloadDialog. 2021-01-14 11:16:01 +05:30
Isira Seneviratne
7c581ec108 Use view binding in LicenseFragment. 2021-01-14 11:16:00 +05:30
Isira Seneviratne
910d22daa6 Use view binding in MainFragment. 2021-01-14 11:15:58 +05:30
Isira Seneviratne
979102a2d9 Return ViewBinding instead of View in BaseListFragment's getListHeader() and getListFooter() methods. 2021-01-14 11:15:57 +05:30
Isira Seneviratne
98be89a20a Return ViewBinding instead of View in BaseLocalListFragment's getListHeader() and getListFooter() methods. 2021-01-14 11:15:54 +05:30
Robin
0264383ad2 Merge pull request #5358 from XiangRongLin/testable_prettytime
Make Localization.relativeTime testable
2021-01-13 22:44:11 +01:00
Stypox
e2ea217bc5 Merge pull request #5253 from Isira-Seneviratne/Use_view_binding_in_VideoPlayer
Use view binding in VideoPlayer.
2021-01-13 22:07:19 +01:00
Isira Seneviratne
fa75c79d34 Use view binding (PlayerPopupCloseOverlayBinding) in VideoPlayerImpl. 2021-01-13 20:44:00 +01:00
Isira Seneviratne
0c86a4e608 Use view binding (PlayerBinding) in VideoPlayer. 2021-01-13 20:43:56 +01:00
XiangRongLin
031585be3f Add comment about unexpected assertion 2021-01-13 17:25:00 +01:00
Tobias Groza
92a87a5ed2 Merge pull request #5310 from khimaros/list-play-kodi
add list item to play video on kodi
2021-01-13 17:02:56 +01:00
David BrazSan
4c26e597e4 Created Brazilian Portuguese Readme 2021-01-12 12:55:28 -03:00
nadiration
5108bf1742 Linked with Somali Readme 2021-01-12 13:17:40 +01:00
nadiration
6215faa06c Linked with Somali Readme 2021-01-12 13:17:28 +01:00
nadiration
fee1fed0a1 Created Somali Readme (#5383)
* Created Somali Readme
2021-01-12 13:16:54 +01:00
Isira Seneviratne
50dcf308a2 Add extension functions that accept reified types. 2021-01-11 16:49:46 +05:30
Isira Seneviratne
486e720e00 Rewrite ExceptionUtils methods as extension functions. 2021-01-11 16:49:45 +05:30
Tobias Groza
a6c09e2dac Merge pull request #5257 from B0pol/sepiasearch
[peertube] implement sepia search
2021-01-10 22:03:49 +01:00
bopol
43e4dc8170 update extractor version 2021-01-10 15:54:01 +01:00
bopol
5c4d72ec42 Merge remote-tracking branch 'upstream/dev' into sepiasearch 2021-01-10 15:53:20 +01:00
Tobias Groza
114806db55 Merge pull request #5376 from nadiration/patch-1
[localization] Fixes Somali language name
2021-01-09 17:55:26 +01:00
nadiration
0ff7170ab1 Update settings_keys.xml
Changed the Somali language name from Af-Soomaali to Soomaali which is common and more user friendly when users are looking for Somali language in the list (since they aren't expecting it starts with A as in Af-Soomaali).
I contributed the language to the project on Weblate and I think this is name is better.
2021-01-09 18:39:43 +03:00
Robin
6b2f084cda Merge pull request #5331 from mbarashkov/hardware-keyboard-space-shortcut
In Fullscreen playback, toggle play/pause with hardware space button
2021-01-07 17:09:27 +01:00
Mikhail Barashkov
907106156f When in Fullscreen playback mode, toggle play/pause with the hardware Space button. 2021-01-07 17:32:16 +02:00
XiangRongLin
50a026183d Make Localization.relativeTime testable
Problem is global state in static variable prettyTime. But for performance reasons on Android that is preferred.
Now allow injecting prettyTime dependency by making init function public.
2021-01-06 14:48:34 +01:00
XiangRongLin
716d795970 cleanup 2021-01-03 20:32:16 +01:00
XiangRongLin
fcfdcd1025 Fix ensureDbDirectoryExists 2021-01-03 20:32:16 +01:00
XiangRongLin
af119db1d7 Extract settings file deletion 2021-01-03 20:32:16 +01:00
XiangRongLin
122e80fae9 Remove subclasses from ContentSettingsManagerTest
ExportTest provides no value.
ImportTest creates temporary files even if not needed.
2021-01-03 20:32:16 +01:00
XiangRongLin
8fceffd6fd Introduce NewPipeFileLocator class 2021-01-03 20:32:16 +01:00
XiangRongLin
f778c48923 Add basic tests for settings import 2021-01-03 20:32:16 +01:00
XiangRongLin
19cd3a17df Move isValidZipFile to ZipHelper 2021-01-03 20:32:16 +01:00
XiangRongLin
ea91a62c89 Adjust ExportTest to new DI with FileLocator 2021-01-03 20:32:16 +01:00
XiangRongLin
cef791ba1b Introduce NewPipeFileLocator class
It handles locating specific NewPipe files based on the home directory of the app.
2021-01-03 20:32:16 +01:00
XiangRongLin
f78a7fa630 Extract import database logic in ContentSettingsManager 2021-01-03 20:32:16 +01:00
khimaros
ac59382b84 pass serviceId instead of item, reduce duplication 2021-01-02 11:24:33 -08:00
Tobias Groza
68175c1cf0 Merge pull request #5337 from TiA4f8R/disable-webview-metrics
Disable sending metrics to Google when using Android System WebView
2021-01-02 16:24:00 +01:00
TiA4f8R
aeca8dc5b2 Disable sending metrics to Google in Android System Webview
Fixes TeamNewPipe/NewPipe#5335
2021-01-02 14:39:31 +01:00
Robin
e75ef086af Merge pull request #5254 from Isira-Seneviratne/Use_Objects_requireNonNull
Use Objects.requireNonNull().
2021-01-02 11:30:24 +01:00
Isira Seneviratne
14a2171035 Use Objects.requireNonNull(). 2021-01-02 09:36:33 +05:30
opusforlife2
0cdd866393 Merge pull request #5330 from TeamNewPipe/compulsory_checklist
Make it clear that checklist in templates is mandatory
2021-01-01 18:55:20 +00:00
opusforlife2
24c1cfbf72 Checklist is compulsory: feature request template 2021-01-01 18:42:07 +00:00
opusforlife2
31899d2ab9 Checklist is compulsory: bug report template 2021-01-01 18:40:20 +00:00
Tobias Groza
16c44f3a30 Merge pull request #5250 from TeamNewPipe/Korean_readme_fix
Change "Export" to "Import" in Korean Readme instructions
2021-01-01 18:47:35 +01:00
Stypox
1b4bde4e78 Merge pull request #5221 from B0pol/notifications
Dynamically get package name
2021-01-01 18:05:43 +01:00
Robin
ff9ae57f39 Merge pull request #5066 from TacoTheDank/displayed-licenses
Update displayed licenses
2021-01-01 01:34:57 +01:00
TacoTheDank
71add5a7c2 Update displayed licenses 2020-12-31 19:26:41 -05:00
Robin
ce2719d77e Merge pull request #5317 from XiangRongLin/timestamp
Fix urls with timestamps not being played
2020-12-31 12:46:40 +01:00
Robin
8193a0df63 Merge pull request #5065 from TacoTheDank/androidx-media-audioreactor
Use AndroidX Media compat in AudioReactor
2020-12-31 10:55:11 +01:00
khimaros
48a5107296 address pull request feedback 2020-12-30 14:45:14 -08:00
TacoTheDank
ebd589c9cb Use AndroidX Media compat in AudioReactor 2020-12-30 17:10:57 -05:00
XiangRongLin
1f15368b7b Fix urls with timestamps not being played
Else path is now executed, when a timestamp (item.getRecoveryPosition) is present
2020-12-30 21:07:30 +01:00
Stypox
8fe1a76ec6 Merge pull request #5301 from EricLemieux/fix-npe-play-button
Fix null pointer exception in play button method
2020-12-30 17:48:40 +01:00
khimaros
83faf119a9 add list item to play video on kodi
closes: #5157
2020-12-29 18:53:32 -08:00
Eric Lemieux
0a05534c84 Fix null pointer exception in play button method
When the play queue was null, and this method was called a null pointer
exception would be thrown. This change adds an additional check to see
if the play queue is not null before making additional changes.
2020-12-29 14:51:24 -05:00
Robin
137fbb34d9 Merge pull request #5283 from urlordjames/brightfix
disable restoring brightness if brightness gesture is disabled
2020-12-29 17:37:53 +01:00
urlordjames
d45ce19b04 Fix #4481 2020-12-28 09:46:10 -05:00
TobiGr
7153506ddb Update extractor 2020-12-27 17:09:09 +01:00
TobiGr
0483d3ff32 add live stream support to changelog 2020-12-27 15:06:03 +01:00
TobiGr
7e784ce9a7 Merge remote-tracking branch 'Weblate/dev' into dev 2020-12-27 14:56:18 +01:00
TobiGr
8343d9cc18 Release 0.20.8 (962) 2020-12-27 14:55:57 +01:00
TobiGr
db0ecd92ca Merge branch 'master' into dev 2020-12-27 14:53:15 +01:00
Tobias Groza
b5140cfecd Merge pull request #5286 from TeamNewPipe/media.ccc.de_live
[media.ccc.de] Add "live" kiosk
2020-12-27 14:47:31 +01:00
TobiGr
36aea35a92 [media.ccc.de] Add live stream kiosk 2020-12-27 13:26:49 +01:00
TobiGr
1984436b41 [media.ccc.de] Add "recent" kiosk 2020-12-27 01:30:29 +01:00
chr56
8ba2f5f964 Translated using Weblate (Chinese (Simplified))
Currently translated at 71.4% (30 of 42 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
2020-12-27 00:59:48 +01:00
Gontzal Manuel Pujana Onaindia
c923d35a1f Translated using Weblate (Basque)
Currently translated at 28.5% (12 of 42 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/eu/
2020-12-27 00:59:47 +01:00
mhmdanas
c550779472 Remove APK testing section from PR template
This is because the our workflows build debug APKs now.
2020-12-26 21:35:07 +03:00
bopol
90d3c9ced0 Merge pull request #5266 from mhmdanas/remove-gitmodules
Remove .gitmodules
2020-12-26 11:00:23 +01:00
bopol
43cbc09f1f Merge pull request #5278 from XiangRongLin/readme-ci-badge
Replace travic ci badge with github actions one for dev branch pushes
2020-12-26 10:59:00 +01:00
XiangRongLin
feea084c60 Replace travic ci badge with github actions one for dev branch pushes 2020-12-26 10:10:20 +01:00
Tobias Groza
d403a83a24 Merge pull request #5246 from TeamNewPipe/release_0.20.7
Release 0.20.7
2020-12-25 20:25:01 +01:00
TobiGr
35fc27cfb0 update version 2020-12-25 19:00:55 +01:00
TobiGr
81742565a4 Update NewPipe Extractor to v0.20.7 2020-12-25 19:00:28 +01:00
TobiGr
923d0b7c80 Merge remote-tracking branch 'Weblate/dev' into dev 2020-12-25 18:53:26 +01:00
Bopol
d416465371 Translated using Weblate (French)
Currently translated at 69.0% (29 of 42 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
2020-12-25 18:52:41 +01:00
Yaron Shahrabani
2586c543d3 Translated using Weblate (Hebrew)
Currently translated at 30.9% (13 of 42 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/
2020-12-25 18:52:40 +01:00
。れ
c32bc26328 Translated using Weblate (Filipino)
Currently translated at 0.0% (0 of 42 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fil/
2020-12-25 18:52:39 +01:00
nautilusx
4074c71b6a Translated using Weblate (German)
Currently translated at 42.8% (18 of 42 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
2020-12-25 18:52:38 +01:00
mhmdanas
a7493d1039 Remove .gitmodules
It's empty anyway.
2020-12-24 19:33:03 +03:00
bopol
d7cab6a8d8 Merge pull request #5258 from TeamNewPipe/media.ccc.de_serviceColor
[media.ccc.de] Fix service color
2020-12-23 20:02:25 +01:00
TobiGr
eddc12693a [media.ccc.de] Fix service color
Caused by changing service name in TeamNewPipe/NewPipeExtractor#472
2020-12-23 19:58:09 +01:00
TobiGr
ced3898499 Add Somali (Af Soomaali)[so] to app language chooser 2020-12-23 16:47:36 +01:00
Tobias Groza
318a5df109 Merge pull request #5259 from Isira-Seneviratne/Fix_queue_display
Fix queue display in ServicePlayerActivity.
2020-12-23 16:13:47 +01:00
Isira Seneviratne
b2e9981313 Fix queue display in ServicePlayerActivity. 2020-12-23 20:06:02 +05:30
bopol
5f092e37f9 Merge branch 'dev' into sepiasearch 2020-12-23 15:23:19 +01:00
bopol
81bbef04dc [peertube] implement sepia search 2020-12-23 15:14:26 +01:00
TobiGr
74f43639ad Added changelog for 0.20.7 (961) 2020-12-23 14:56:25 +01:00
TobiGr
fc342bd458 Fix typo in "playlist_ctrl_seperator_margin"
Rename to "playlist_ctrl_separator_margin"
2020-12-23 12:36:41 +01:00
TobiGr
adfbf5b49f Fix line breaks 2020-12-23 12:36:41 +01:00
TobiGr
2cb7bb84f7 Update translation from Weblate
Added translation using Weblate (Somali)

Translated using Weblate (Chinese (Traditional))

Currently translated at 99.8% (608 of 609 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (French)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Serbian)

Currently translated at 41.0% (250 of 609 strings)

Translated using Weblate (English)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Japanese)

Currently translated at 99.6% (607 of 609 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Basque)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Arabic)

Currently translated at 99.8% (608 of 609 strings)

Translated using Weblate (Arabic)

Currently translated at 99.8% (608 of 609 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.8% (608 of 609 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Croatian)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Finnish)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Belarusian)

Currently translated at 85.2% (519 of 609 strings)

Translated using Weblate (Bengali)

Currently translated at 79.1% (482 of 609 strings)

Translated using Weblate (German)

Currently translated at 29.2% (12 of 41 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/

Translated using Weblate (Basque)

Currently translated at 26.8% (11 of 41 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/eu/

Translated using Weblate (Chinese (Traditional))

Currently translated at 56.0% (23 of 41 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/

Translated using Weblate (Santali)

Currently translated at 10.6% (65 of 609 strings)

Translated using Weblate (Somali)

Currently translated at 15.9% (97 of 609 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.5% (610 of 613 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (German)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Basque)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Arabic)

Currently translated at 97.0% (595 of 613 strings)

Translated using Weblate (Indonesian)

Currently translated at 99.6% (611 of 613 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Croatian)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Finnish)

Currently translated at 99.6% (611 of 613 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 93.4% (573 of 613 strings)

Translated using Weblate (Sardinian)

Currently translated at 99.5% (610 of 613 strings)

Translated using Weblate (German)

Currently translated at 41.4% (17 of 41 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/

Translated using Weblate (Turkish)

Currently translated at 19.5% (8 of 41 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/tr/

Translated using Weblate (Greek)

Currently translated at 34.1% (14 of 41 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/el/

Translated using Weblate (Portuguese)

Currently translated at 63.4% (26 of 41 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt/

Translated using Weblate (Italian)

Currently translated at 43.9% (18 of 41 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/

Translated using Weblate (Chinese (Traditional))

Currently translated at 80.4% (33 of 41 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/

Translated using Weblate (Chinese (Simplified))

Currently translated at 70.7% (29 of 41 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/

Translated using Weblate (Somali)

Currently translated at 81.4% (499 of 613 strings)

Translated using Weblate (Somali)

Currently translated at 4.8% (2 of 41 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/so/

Translated using Weblate (Bulgarian)

Currently translated at 62.1% (381 of 613 strings)

Translated using Weblate (Bulgarian)

Currently translated at 62.1% (381 of 613 strings)
2020-12-23 12:36:41 +01:00
Tobias Groza
84d1792e7f Merge pull request #4754 from TeamNewPipe/meta_info
Display meta info about search query, stream creator or topic
2020-12-23 11:34:48 +01:00
TobiGr
531859ac60 [Security] Update ktlint to 0.40.0 2020-12-23 00:34:55 +01:00
opusforlife2
b5bf0d7e1d Export -> Import 2020-12-22 16:58:29 +00:00
Tobias Groza
bf071d65d7 Merge pull request #5236 from TiA4f8R/change-domain-readme
Change website domain of NewPipe in readmes
2020-12-20 18:59:28 +01:00
TiA4f8R
e4aa7a90c7 Change NewPipe's domain in Korean ReadMe 2020-12-20 18:36:01 +01:00
TiA4f8R
6d4e3c5633 Change NewPipe's domain in original ReadMe 2020-12-20 18:31:51 +01:00
Stypox
19f9b4f502 Improve meta info layout and merge duplicate code 2020-12-20 15:10:18 +01:00
bopol
2b8837609b dynamically get package name
it fixes issues with forks or debug builds, e.g. when you open two newpipe apps (with debug or fork apps), close one notification, it closes all newpipe notifications
fixes https://github.com/TeamNewPipe/NewPipe/issues/4653
2020-12-20 13:52:20 +01:00
bopol
f3dbb19364 Merge pull request #5229 from TeamNewPipe/dependency
Fix security vulnerability in checkstyle / guava
2020-12-20 13:41:10 +01:00
TobiGr
0a831ec84e Display meta info about search query, stream creator or topic
Closes #4614
2020-12-20 11:56:22 +01:00
Tobias Groza
0c656abb8e Merge pull request #5228 from B0pol/share_ts
Remove timestamp from share url for all services except youtube
2020-12-20 11:20:34 +01:00
bopol
7a7a90bf79 remove timestamp from share url for all services except youtube
It produces not found error for PeerTube, media.ccc.de, SoundCloud
2020-12-20 10:53:22 +01:00
TobiGr
908dff3931 Fix security vulnerability in checkstyle / guava 2020-12-20 01:18:46 +01:00
TheAssassin
a786cff036 Merge pull request #5132 from StuffNoOneCaresAbout/github-actions-ci
Use GitHub actions as a CI instead of Travis.
2020-12-19 23:22:50 +01:00
Stypox
28802805f8 Merge pull request #5204 from XiangRongLin/fix_before_all
Use @BeforeClass for ContentSettingsManagerTest.beforeClass
2020-12-19 14:33:37 +01:00
Stypox
f59099395f Merge pull request #5218 from Isira-Seneviratne/Use_ServiceCompat_stopForeground
Use ServiceCompat.stopForeground().
2020-12-19 14:05:44 +01:00
Isira Seneviratne
0fe3fe7594 Use ServiceCompat.stopForeground(). 2020-12-19 16:52:17 +05:30
Tobias Groza
467dacd35a Merge pull request #5217 from Isira-Seneviratne/Use_WebViewClientCompat
Use WebViewClientCompat.
2020-12-19 11:03:55 +01:00
Isira Seneviratne
173150591d Use WebViewClientCompat in ReCaptchaActivity. 2020-12-19 13:21:57 +05:30
Isira Seneviratne
e4d94b1a4e Add AndroidX Webkit. 2020-12-19 13:21:57 +05:30
Stypox
75e34a5a8e Merge pull request #4762 from Isira-Seneviratne/Use_view_binding_in_activities
Use view binding in activities.
2020-12-19 08:09:51 +01:00
Isira Seneviratne
d6121c8e21 Use view binding in SettingsActivity. 2020-12-19 04:22:01 +05:30
Isira Seneviratne
b4d77df1be Use view binding in ErrorActivity. 2020-12-19 04:21:59 +05:30
Isira Seneviratne
e6021465f6 Use view binding in ServicePlayerActivity. 2020-12-19 04:21:59 +05:30
Isira Seneviratne
22ec70e94d Use view binding in RouterActivity. 2020-12-19 04:21:58 +05:30
Isira Seneviratne
a1a70a94a8 Use view binding in ReCaptchaActivity. 2020-12-19 04:21:55 +05:30
Isira Seneviratne
a65ed7e914 Use view binding in DownloadActivity. 2020-12-19 04:19:59 +05:30
Isira Seneviratne
4545b8e92d Use view binding in AboutActivity. 2020-12-19 04:19:58 +05:30
Isira Seneviratne
ba0c0fb109 Use view binding in MainActivity. 2020-12-19 04:19:57 +05:30
Isira Seneviratne
18d530021c Fix view binding issue. 2020-12-19 04:19:56 +05:30
Isira Seneviratne
31bb70e333 Enable view binding. 2020-12-19 04:19:56 +05:30
Tobias Groza
a919a039e5 Merge pull request #5215 from Stypox/recaptcha-user-agent
Use user agent of DownloaderImpl also in ReCapthaActivity
2020-12-18 19:43:55 +01:00
Stypox
aacb1f46a8 Use user agent of DownloaderImpl also in ReCapthaActivity
Does not contain device info and should also fix some issues about recaptchas not showing up
2020-12-18 18:40:09 +01:00
Stypox
96862cbcb3 Merge pull request #5208 from Stypox/recaptcha-pbj
Remove pbj=1 parameter from YouYube urls in recaptcha activity
2020-12-18 18:28:44 +01:00
Stypox
10f79e1307 Remove pbj=1 parameter from YouYube urls in recaptcha activity 2020-12-17 21:02:13 +01:00
XiangRongLin
e0ee3dce40 Use @BeforeClass for ContentSettingsManagerTest.beforeClass 2020-12-17 09:40:04 +01:00
Tobias Groza
13e7d2e7ac Merge pull request #5186 from XiangRongLin/fix_compile_error
Fix compile error caused by auto merging
2020-12-15 21:42:09 +01:00
XiangRongLin
a7723373a0 Fix compile error caused by auto merging
#5176 changed `homeDir` from type `String` to `File`. #5059 was based on `homeDir` being a `String`. It was incorrectly auto-resolved by git.
2020-12-15 20:26:38 +01:00
Tobias Groza
7e469ead45 Merge pull request #5184 from TiA4f8R/update-newpipe-website-urls
Update NewPipe's website domain name in the app
2020-12-15 19:31:26 +01:00
TiA4f8R
5397a4e410 Update NewPipe website URL strings 2020-12-15 19:01:33 +01:00
TiA4f8R
99b59f0126 Update NewPipe's API url for new app's version check 2020-12-15 18:57:36 +01:00
Stypox
d46c7eb8fe Merge pull request #5059 from XiangRongLin/content_settings_manager
Extract export database logic into own class
2020-12-15 10:34:32 +01:00
Stypox
e4a1fc9d95 Merge pull request #5116 from hlloreda/fix-crash-deleting-video-refreshing
Fix crash deleting video refreshing
2020-12-15 09:52:17 +01:00
Stypox
276f50a944 Merge pull request #5178 from Isira-Seneviratne/Use_ActivityCompat_recreate
Use ActivityCompat.recreate().
2020-12-15 09:49:14 +01:00
Stypox
40fcd93312 Merge pull request #5142 from Isira-Seneviratne/Use_notification_instead_of_ProgressDialog
Use a notification instead of a ProgressDialog in MissionAdapter.
2020-12-15 09:33:19 +01:00
Isira Seneviratne
807e4d4af9 Use ActivityCompat.recreate(). 2020-12-15 13:55:05 +05:30
Stypox
480348f11a Merge pull request #5176 from Isira-Seneviratne/Use_ContextCompat_getDataDir
Use ContextCompat.getDataDir().
2020-12-15 09:05:35 +01:00
Isira Seneviratne
30613b7064 Use ContextCompat.getDataDir(). 2020-12-15 08:02:25 +05:30
Stypox
79189dcc83 Merge pull request #3243 from Stypox/100+items-playlist
Show radio icon as uploader avatar in Youtube mixes
2020-12-14 19:29:12 +01:00
Stypox
c2210330b6 Show radio instead of Youtube logo in mixes
YouTube mixes have YouTube as a creator, though YouTube's logo is not safe to use as it is a trademark (better safe than sorry)
2020-12-14 19:22:00 +01:00
Isira Seneviratne
917f459569 Use a notification instead of a ProgressDialog in MissionAdapter. 2020-12-13 05:21:38 +05:30
Tobias Groza
0ced9ba799 Merge pull request #5112 from mhmdanas/fix-typos
Fix some typos
2020-12-12 13:13:06 +01:00
Tobias Groza
5e95277d7c Merge pull request #4859 from TeamNewPipe/update_invidious_URLs
Update Invidious URL list in the manifest
2020-12-12 13:06:37 +01:00
Allan Nordhøy
efb417dba7 Translated using Weblate (Norwegian Bokmål)
Currently translated at 17.0% (7 of 41 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nb_NO/
2020-12-10 21:26:17 +01:00
Terry Louwers
5c2d4c4d9d Translated using Weblate (Dutch)
Currently translated at 100.0% (609 of 609 strings)
2020-12-10 21:26:17 +01:00
Ajeje Brazorf
e8bd9920fd Translated using Weblate (Sardinian)
Currently translated at 14.6% (6 of 41 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sc/
2020-12-10 21:26:17 +01:00
Stefan Br
69ed531a5c Translated using Weblate (German)
Currently translated at 100.0% (609 of 609 strings)
2020-12-10 21:26:17 +01:00
Terry Louwers
b967d7c148 Translated using Weblate (Dutch)
Currently translated at 17.0% (7 of 41 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nl/
2020-12-10 21:26:17 +01:00
Yaron Shahrabani
90150c42ed Translated using Weblate (Hebrew)
Currently translated at 29.2% (12 of 41 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/
2020-12-10 21:26:17 +01:00
David Braz
8e2fd9ccce Translated using Weblate (Portuguese (Brazil))
Currently translated at 26.8% (11 of 41 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_BR/
2020-12-10 21:26:17 +01:00
Oğuz Ersen
567ffad41d Translated using Weblate (Turkish)
Currently translated at 19.5% (8 of 41 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/tr/
2020-12-10 21:26:17 +01:00
Tobias Groza
3c306a0971 Merge pull request #5067 from Isira-Seneviratne/Add_workaround_for_null_offset_ID
Add a workaround for a possible null offset ID.
2020-12-10 11:37:18 +01:00
Isira Seneviratne
c0d6c8aeb3 Add a workaround for a possible null offset ID. 2020-12-10 15:23:30 +05:30
TobiGr
b27b49e4f3 Update NewPipe Extractor to 0.20.6 2020-12-09 23:46:55 +01:00
TobiGr
7ed0dbcf1a Release 0.20.6 (960) 2020-12-09 23:43:02 +01:00
TobiGr
8a23de6b20 Version code 960, not 970... 2020-12-09 23:40:54 +01:00
TobiGr
6cc3089204 Add changelog for 0.20.6 2020-12-09 23:37:26 +01:00
TobiGr
093e95c078 Merge remote-tracking branch 'Weblate/dev' into dev 2020-12-09 23:33:43 +01:00
Milo Ivir
7c8ac04e35 Translated using Weblate (Croatian)
Currently translated at 99.6% (607 of 609 strings)
2020-12-09 23:32:24 +01:00
Enol P
dc88f8b172 Translated using Weblate (Asturian)
Currently translated at 100.0% (609 of 609 strings)
2020-12-09 23:31:35 +01:00
FireMasterK
a00ac6b9ca Migrate to GitHub actions from Travis. 2020-12-09 12:25:57 +05:30
Igor Nedoboy
c94f0ded27 Translated using Weblate (Russian)
Currently translated at 7.5% (3 of 40 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ru/
2020-12-08 15:29:10 +01:00
David Braz
b553aa2159 Translated using Weblate (Portuguese (Brazil))
Currently translated at 25.0% (10 of 40 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_BR/
2020-12-08 15:29:09 +01:00
Deleted User
a7bd2666f0 Translated using Weblate (Malay)
Currently translated at 67.3% (410 of 609 strings)
2020-12-08 15:29:08 +01:00
David Braz
fe2fc60581 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (609 of 609 strings)
2020-12-08 15:29:08 +01:00
simo
ce59c05d5b Translated using Weblate (Arabic)
Currently translated at 100.0% (609 of 609 strings)
2020-12-08 15:29:08 +01:00
zeritti
a4858bc702 Translated using Weblate (Czech)
Currently translated at 100.0% (609 of 609 strings)
2020-12-08 15:29:07 +01:00
pjammo
a2bb58a991 Translated using Weblate (Italian)
Currently translated at 100.0% (609 of 609 strings)
2020-12-08 15:29:07 +01:00
Francesco Saltori
f7b41227d2 Translated using Weblate (Italian)
Currently translated at 100.0% (609 of 609 strings)
2020-12-08 15:29:07 +01:00
Igor Nedoboy
5b1a6831d5 Translated using Weblate (Russian)
Currently translated at 100.0% (609 of 609 strings)
2020-12-08 15:29:06 +01:00
nautilusx
42b1bbe414 Translated using Weblate (German)
Currently translated at 100.0% (609 of 609 strings)
2020-12-08 15:29:06 +01:00
mhmdanas
ac86fe80c8 Fix typos 2020-12-07 13:35:37 +03:00
Tobias Groza
db9f20a22f Merge pull request #4961 from TeamNewPipe/lint
Fix some Lint errors
2020-12-07 11:19:01 +01:00
hlloreda
b30e025bda [FIX] - Use of a Data class instead of overriding equals method 2020-12-07 10:53:33 +01:00
hlloreda
5f3eb4871a [IMPORT] - import got deleted 2020-12-07 00:06:56 +01:00
hlloreda
9a223532c5 [FIX] - Crash while deleting a video from a playlist while refreshing 2020-12-06 23:40:38 +01:00
nautilusx
cf67b592da Translated using Weblate (German)
Currently translated at 100.0% (609 of 609 strings)
2020-12-06 19:08:14 +01:00
domifi
e867bfbc82 Translated using Weblate (German)
Currently translated at 100.0% (609 of 609 strings)
2020-12-06 19:08:14 +01:00
mhmdanas
f341f43427 Update "Updates" to account for F-Droid bug
Pun not intended (oh really?).
2020-12-06 16:52:03 +03:00
Igor Nedoboy
9a671851df Translated using Weblate (Russian)
Currently translated at 100.0% (609 of 609 strings)
2020-12-05 12:08:13 +01:00
Igor Nedoboy
4b92f78cc8 Translated using Weblate (Russian)
Currently translated at 100.0% (609 of 609 strings)
2020-12-05 11:43:29 +01:00
Allan Nordhøy
c585982557 Translated using Weblate (Norwegian Bokmål)
Currently translated at 12.5% (5 of 40 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nb_NO/
2020-12-05 11:29:08 +01:00
Michal L
6bf22e7ad0 Translated using Weblate (Polish)
Currently translated at 47.5% (19 of 40 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
2020-12-05 11:29:08 +01:00
Sérgio Marques
2f8dccf7f6 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (609 of 609 strings)
2020-12-05 11:29:07 +01:00
Allan Nordhøy
027768d97d Translated using Weblate (Norwegian Bokmål)
Currently translated at 93.5% (570 of 609 strings)
2020-12-05 11:29:07 +01:00
Jeff Huang
085f63b8c5 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (609 of 609 strings)
2020-12-05 11:29:07 +01:00
Eric
6f7c337e00 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (609 of 609 strings)
2020-12-05 11:29:06 +01:00
Michal L
16a968f3bb Translated using Weblate (Polish)
Currently translated at 100.0% (609 of 609 strings)
2020-12-05 11:29:06 +01:00
zmni
d7e0167fed Translated using Weblate (Indonesian)
Currently translated at 100.0% (609 of 609 strings)
2020-12-05 11:29:06 +01:00
simo
41c4f515cf Translated using Weblate (Arabic)
Currently translated at 99.8% (608 of 609 strings)
2020-12-05 11:29:06 +01:00
Sérgio Marques
d9a8218372 Translated using Weblate (Portuguese)
Currently translated at 100.0% (609 of 609 strings)
2020-12-05 11:29:05 +01:00
Francesco Saltori
dd9bd4da8b Translated using Weblate (Italian)
Currently translated at 100.0% (609 of 609 strings)
2020-12-05 11:29:05 +01:00
pitachips
cf98500b7f Translated using Weblate (Korean)
Currently translated at 85.2% (519 of 609 strings)
2020-12-05 11:29:05 +01:00
2-Seol
2ce8facc05 Translated using Weblate (Korean)
Currently translated at 85.2% (519 of 609 strings)
2020-12-05 11:29:05 +01:00
Kaede
d1b117d07c Translated using Weblate (Japanese)
Currently translated at 99.8% (608 of 609 strings)
2020-12-05 11:29:04 +01:00
xxkfqz
c0377c7ebf Translated using Weblate (Russian)
Currently translated at 100.0% (609 of 609 strings)
2020-12-05 11:29:04 +01:00
Ács Zoltán
a2490a5730 Translated using Weblate (Hungarian)
Currently translated at 68.6% (418 of 609 strings)
2020-12-05 11:29:04 +01:00
JoC
177334ba62 Translated using Weblate (Spanish)
Currently translated at 100.0% (609 of 609 strings)
2020-12-05 11:29:03 +01:00
XiangRongLin
f7f00293cc Extract export database logic into own class
- Separate it from the UI.
- Add happy path unit test.
2020-12-04 18:30:29 +01:00
Kaede
7bce588767 Translated using Weblate (Japanese)
Currently translated at 99.8% (608 of 609 strings)
2020-12-04 03:26:00 +01:00
hdringanioooboo
4bb67c634f Translated using Weblate (Japanese)
Currently translated at 99.8% (608 of 609 strings)
2020-12-04 03:26:00 +01:00
ssantos
3653afbcc4 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (609 of 609 strings)
2020-12-03 11:04:03 +01:00
Sérgio Marques
1f4a4ea09f Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (609 of 609 strings)
2020-12-03 11:04:03 +01:00
ssantos
3d38add4b4 Translated using Weblate (Portuguese)
Currently translated at 100.0% (609 of 609 strings)
2020-12-03 11:01:38 +01:00
Sérgio Marques
124b7eefb5 Translated using Weblate (Portuguese)
Currently translated at 100.0% (609 of 609 strings)
2020-12-03 11:01:38 +01:00
x
b52924048c Translated using Weblate (Italian)
Currently translated at 42.5% (17 of 40 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
2020-12-01 23:52:13 +01:00
Ajeje Brazorf
93393f5dff Translated using Weblate (Sardinian)
Currently translated at 100.0% (609 of 609 strings)
2020-12-01 23:52:12 +01:00
Yaron Shahrabani
275a75ebaa Translated using Weblate (Hebrew)
Currently translated at 100.0% (609 of 609 strings)
2020-12-01 23:52:12 +01:00
Oğuz Ersen
3e4a7a19cc Translated using Weblate (Turkish)
Currently translated at 100.0% (609 of 609 strings)
2020-12-01 23:52:12 +01:00
Marian Hanzel
734af457f3 Translated using Weblate (Slovak)
Currently translated at 100.0% (609 of 609 strings)
2020-12-01 23:52:11 +01:00
x
55bdb1f47a Translated using Weblate (Italian)
Currently translated at 100.0% (609 of 609 strings)
2020-12-01 23:52:11 +01:00
Ldm Public
adff0d199d Translated using Weblate (French)
Currently translated at 100.0% (609 of 609 strings)
2020-12-01 23:52:11 +01:00
Hosted Weblate
f95b3262a0 Merge branch 'origin/dev' into Weblate. 2020-12-01 20:59:26 +01:00
Óscar Fernández Díaz
794a14e76c Translated using Weblate (Spanish)
Currently translated at 27.5% (11 of 40 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/es/
2020-12-01 20:59:26 +01:00
Gontzal Manuel Pujana Onaindia
ba857b5ef7 Translated using Weblate (Basque)
Currently translated at 25.0% (10 of 40 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/eu/
2020-12-01 20:59:25 +01:00
minsk21
2aed04a8c2 Translated using Weblate (Belarusian)
Currently translated at 83.7% (510 of 609 strings)
2020-12-01 20:59:25 +01:00
Stypox
5f9e6b51da Merge pull request #5043 from mhmdanas/improve-database-summaries
Improve export database summary
2020-12-01 20:43:57 +01:00
mhmdanas
e7b5c99ed6 Remove Oxford comma 2020-12-01 22:04:14 +03:00
mhmdanas
9c0b3d35be State what is exported or imported explicitly 2020-12-01 18:09:36 +03:00
TobiGr
a54bc96eab Update extractor to 0.20.5 2020-12-01 08:22:17 +01:00
Ajeje Brazorf
a2a8e4b965 Translated using Weblate (Sardinian)
Currently translated at 12.5% (5 of 40 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sc/
2020-12-01 08:20:11 +01:00
ssantos
81ad2c61d9 Translated using Weblate (Portuguese (Portugal))
Currently translated at 62.5% (25 of 40 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_PT/
2020-12-01 08:20:10 +01:00
Bopol
32616493b3 Translated using Weblate (French)
Currently translated at 70.0% (28 of 40 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
2020-12-01 08:20:10 +01:00
Stypox
05183ffd0f Translated using Weblate (Italian)
Currently translated at 25.0% (10 of 40 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
2020-12-01 08:20:09 +01:00
Yaron Shahrabani
e72ddc9439 Translated using Weblate (Hebrew)
Currently translated at 27.5% (11 of 40 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/
2020-12-01 08:20:09 +01:00
ssantos
32e3caecac Translated using Weblate (Portuguese)
Currently translated at 62.5% (25 of 40 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt/
2020-12-01 08:20:08 +01:00
minsk21
df43389183 Translated using Weblate (Belarusian)
Currently translated at 74.5% (454 of 609 strings)
2020-12-01 08:20:07 +01:00
Aarjav Parashar
19b77809ec Translated using Weblate (Hindi)
Currently translated at 82.2% (501 of 609 strings)
2020-12-01 08:20:07 +01:00
Milo Ivir
be05b827f3 Translated using Weblate (Croatian)
Currently translated at 99.1% (604 of 609 strings)
2020-12-01 08:20:06 +01:00
Vũ Hoàng
5dfc6f822d Translated using Weblate (Vietnamese)
Currently translated at 100.0% (609 of 609 strings)
2020-12-01 08:20:06 +01:00
Emin Tufan Çetin
c3e004da03 Translated using Weblate (Turkish)
Currently translated at 100.0% (609 of 609 strings)
2020-12-01 08:20:05 +01:00
zmni
8bae73b6ea Translated using Weblate (Indonesian)
Currently translated at 100.0% (609 of 609 strings)
2020-12-01 08:20:04 +01:00
Mohammed Anas
d1e19d3b63 Translated using Weblate (Arabic)
Currently translated at 100.0% (609 of 609 strings)
2020-12-01 08:20:04 +01:00
Francesco Saltori
ffca897ddf Translated using Weblate (Italian)
Currently translated at 100.0% (609 of 609 strings)
2020-12-01 08:20:03 +01:00
mhmdanas
4277b6e262 Fix unescaped quote 2020-11-30 19:52:38 +03:00
mhmdanas
506c4ce701 Improve "import database" summary 2020-11-30 19:49:55 +03:00
mhmdanas
d251e58984 Improve export database summary 2020-11-30 15:45:51 +03:00
Mohammed Anas
4a1213c081 Translated using Weblate (Arabic)
Currently translated at 62.5% (25 of 40 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ar/
2020-11-28 14:21:26 +01:00
Oğuz Ersen
8b7609255c Translated using Weblate (Turkish)
Currently translated at 17.5% (7 of 40 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/tr/
2020-11-28 14:21:25 +01:00
TobiGr
ef78fe0653 Translated using Weblate (German)
Currently translated at 27.5% (11 of 40 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
2020-11-28 14:21:25 +01:00
TobiGr
70b3ccb422 Release NewPipe 0.20.5 (959) 2020-11-28 12:56:45 +01:00
TobiGr
81d6b367fe Add changelog for 0.20.5 (959) 2020-11-28 12:54:21 +01:00
TobiGr
0a78ae60be Add missing import for @throws annotation 2020-11-28 12:53:22 +01:00
TobiGr
a61830a860 Merge remote-tracking branch 'Weblate/dev' into dev 2020-11-28 12:47:46 +01:00
Mukhamadjonov
86bae9ddc9 Translated using Weblate (Uzbek (latin))
Currently translated at 58.9% (23 of 39 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uz_Latn/
2020-11-28 12:46:10 +01:00
Issac
033780862a Translated using Weblate (Spanish)
Currently translated at 23.0% (9 of 39 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/es/
2020-11-28 12:46:10 +01:00
pjammo
6094d8a74e Translated using Weblate (Italian)
Currently translated at 23.0% (9 of 39 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
2020-11-28 12:46:09 +01:00
yn
356ca3d177 Translated using Weblate (Japanese)
Currently translated at 15.3% (6 of 39 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ja/
2020-11-28 12:46:09 +01:00
Igor Nedoboy
d69806faa9 Translated using Weblate (Russian)
Currently translated at 100.0% (39 of 39 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ru/
2020-11-28 12:46:08 +01:00
David Schneider
ab67635dcb Translated using Weblate (German)
Currently translated at 25.6% (10 of 39 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
2020-11-28 12:46:07 +01:00
Igor Nedoboy
cee3d49458 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:06 +01:00
Igor Nedoboy
5b53a7aef7 Translated using Weblate (Sardinian)
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:06 +01:00
Igor Nedoboy
9b29665cc0 Translated using Weblate (Dutch (Belgium))
Currently translated at 99.6% (607 of 609 strings)
2020-11-28 12:46:06 +01:00
Igor Nedoboy
f447c87b45 Translated using Weblate (Finnish)
Currently translated at 99.6% (607 of 609 strings)
2020-11-28 12:46:06 +01:00
Igor Nedoboy
e3eea45d86 Translated using Weblate (Hebrew)
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:06 +01:00
Jeff Huang
f61a06ce0a Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:05 +01:00
Eric
539842aa99 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:05 +01:00
Igor Nedoboy
5925f1d2aa Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:05 +01:00
Enol P
61eb150825 Translated using Weblate (Asturian)
Currently translated at 47.9% (292 of 609 strings)
2020-11-28 12:46:04 +01:00
Igor Nedoboy
cf95de4d27 Translated using Weblate (Polish)
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:04 +01:00
Oğuz Ersen
fdad7ec1ba Translated using Weblate (Turkish)
Currently translated at 99.8% (608 of 609 strings)
2020-11-28 12:46:04 +01:00
Igor Nedoboy
850efb4237 Translated using Weblate (Indonesian)
Currently translated at 99.6% (607 of 609 strings)
2020-11-28 12:46:04 +01:00
Igor Nedoboy
853cb3887f Translated using Weblate (Arabic)
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:03 +01:00
Igor Nedoboy
412f2c1664 Translated using Weblate (Czech)
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:03 +01:00
zeritti
2810a69bd4 Translated using Weblate (Czech)
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:03 +01:00
Igor Nedoboy
5347f95f50 Translated using Weblate (Slovak)
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:03 +01:00
Igor Nedoboy
6b469f0621 Translated using Weblate (Greek)
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:03 +01:00
Igor Nedoboy
0021562c93 Translated using Weblate (Basque)
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:02 +01:00
Gontzal Manuel Pujana Onaindia
f2bd2b0a59 Translated using Weblate (Basque)
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:02 +01:00
Igor Nedoboy
647eb8bbf5 Translated using Weblate (Portuguese)
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:02 +01:00
Igor Nedoboy
816d13ae3f Translated using Weblate (Italian)
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:02 +01:00
pjammo
578fea4a9c Translated using Weblate (Italian)
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:02 +01:00
Y. Sakamoto
1a660d9a4a Translated using Weblate (Japanese)
Currently translated at 99.8% (608 of 609 strings)
2020-11-28 12:46:01 +01:00
Igor Nedoboy
227ac6d9e3 Translated using Weblate (English)
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:01 +01:00
Igor Nedoboy
bb57407733 Translated using Weblate (Dutch)
Currently translated at 99.6% (607 of 609 strings)
2020-11-28 12:46:01 +01:00
Éfrit
13ddcce0a2 Translated using Weblate (French)
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:00 +01:00
Igor Nedoboy
53767a78d1 Translated using Weblate (Spanish)
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:00 +01:00
Issac
5600e8a2ad Translated using Weblate (Spanish)
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:00 +01:00
Igor Nedoboy
c6ed52c592 Translated using Weblate (German)
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:00 +01:00
Allan Nordhøy
3ad14e4adf Contributing guidelines reworked (#4318)
* Contributing guidelines reworked

Co-authored-by: opusforlife2 <53176348+opusforlife2@users.noreply.github.com>
Co-authored-by: bopol <bopol@e.email>
Co-authored-by: Tobias Groza <TobiGr@users.noreply.github.com>
2020-11-28 12:00:00 +01:00
Igor Nedoboy
8a22bdea5d Translated using Weblate (French)
Currently translated at 100.0% (609 of 609 strings)
2020-11-27 22:53:42 +01:00
Éfrit
6135a3c3e2 Translated using Weblate (French)
Currently translated at 100.0% (609 of 609 strings)
2020-11-27 22:53:42 +01:00
Tobias Groza
1e3c979303 Merge pull request #5005 from Chenkail/grammar-fixes
Minor grammar fixes in README.md
2020-11-27 22:31:17 +01:00
Tobias Groza
d0228406b6 Merge pull request #4995 from XiangRongLin/hotfix
Make ErrorInfo contructor public
2020-11-27 22:29:12 +01:00
XiangRongLin
507a2237b7 Make ErrorInfo constructor public
Allows the library behind Parceable to crete an object of the class.
2020-11-25 17:05:52 +01:00
Chenkail
c15c597d99 Update README.md 2020-11-25 11:12:53 +00:00
Igor Nedoboy
7c26cd3270 Translated using Weblate (Russian)
Currently translated at 100.0% (609 of 609 strings)
2020-11-24 02:14:43 +01:00
Igor Nedoboy
938af73059 Translated using Weblate (Russian)
Currently translated at 100.0% (609 of 609 strings)
2020-11-24 02:06:09 +01:00
Jeff Huang
1c047366d2 Translated using Weblate (Chinese (Traditional))
Currently translated at 56.4% (22 of 39 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/
2020-11-23 23:11:07 +01:00
Michal L
cb20f0cbb0 Translated using Weblate (Polish)
Currently translated at 46.1% (18 of 39 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
2020-11-23 23:11:06 +01:00
Yaron Shahrabani
468251c84e Translated using Weblate (Hebrew)
Currently translated at 25.6% (10 of 39 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/
2020-11-23 23:11:06 +01:00
Gontzal Manuel Pujana Onaindia
ca86ae0c9a Translated using Weblate (Basque)
Currently translated at 23.0% (9 of 39 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/eu/
2020-11-23 23:11:05 +01:00
Sérgio Marques
59221b0b4e Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (609 of 609 strings)
2020-11-23 23:11:05 +01:00
Marcos Chavarría Teijeiro
d3e0640400 Translated using Weblate (Galician)
Currently translated at 94.4% (575 of 609 strings)
2020-11-23 23:11:04 +01:00
Davit Mayilyan
bcb72321f5 Translated using Weblate (Armenian)
Currently translated at 23.9% (146 of 609 strings)
2020-11-23 23:11:04 +01:00
Jeff Huang
4060af715d Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (609 of 609 strings)
2020-11-23 23:11:03 +01:00
Eric
2ec0237e83 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (609 of 609 strings)
2020-11-23 23:11:03 +01:00
Michal L
c5593880f2 Translated using Weblate (Polish)
Currently translated at 100.0% (609 of 609 strings)
2020-11-23 23:11:03 +01:00
Marian Hanzel
3673cbce4f Translated using Weblate (Slovak)
Currently translated at 100.0% (609 of 609 strings)
2020-11-23 23:11:02 +01:00
Vasilis K
1f6f7be4b2 Translated using Weblate (Greek)
Currently translated at 100.0% (609 of 609 strings)
2020-11-23 23:11:02 +01:00
Gontzal Manuel Pujana Onaindia
580cce3506 Translated using Weblate (Basque)
Currently translated at 100.0% (609 of 609 strings)
2020-11-23 23:11:02 +01:00
Sérgio Marques
36ba546fc6 Translated using Weblate (Portuguese)
Currently translated at 100.0% (609 of 609 strings)
2020-11-23 23:11:01 +01:00
Francesco Saltori
7f37799cbe Translated using Weblate (Italian)
Currently translated at 100.0% (609 of 609 strings)
2020-11-23 23:11:01 +01:00
Sérgio Marques
5570eeeff9 Translated using Weblate (Portuguese)
Currently translated at 99.6% (607 of 609 strings)
2020-11-23 15:16:35 +01:00
pjammo
2b186ce6e0 Translated using Weblate (Italian)
Currently translated at 100.0% (609 of 609 strings)
2020-11-23 08:20:34 +01:00
Francesco Saltori
72938fed69 Translated using Weblate (Italian)
Currently translated at 100.0% (609 of 609 strings)
2020-11-23 08:20:33 +01:00
Tobias Groza
d54c806e03 Merge pull request #4969 from B0pol/peertube_instances
[PeerTube] update instances list
2020-11-22 23:07:29 +01:00
Hosted Weblate
7eb3551485 Merge branch 'origin/dev' into Weblate. 2020-11-22 22:50:12 +01:00
David Braz
57abe27895 Translated using Weblate (Portuguese (Brazil))
Currently translated at 23.0% (9 of 39 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_BR/
2020-11-22 22:30:43 +01:00
David Braz
a628a36082 Translated using Weblate (Portuguese (Brazil))
Currently translated at 23.0% (9 of 39 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_BR/
2020-11-22 22:29:56 +01:00
Ajeje Brazorf
0d3e04ff25 Translated using Weblate (Sardinian)
Currently translated at 100.0% (609 of 609 strings)
2020-11-22 22:29:56 +01:00
Yaron Shahrabani
0c78a3f7b0 Translated using Weblate (Hebrew)
Currently translated at 100.0% (609 of 609 strings)
2020-11-22 22:29:55 +01:00
simo
fb1f574c26 Translated using Weblate (Arabic)
Currently translated at 100.0% (609 of 609 strings)
2020-11-22 22:29:55 +01:00
bopol
7f15c18fca [PeerTube] update instance list 2020-11-22 22:10:41 +01:00
TobiGr
e274650956 Release NewPipe 0.20.4 2020-11-22 18:18:14 +01:00
Oğuz Ersen
2a1db4a338 Revert "Translated using Weblate (Turkish)"
This reverts commit 6d15389da8.
2020-11-22 18:04:04 +01:00
TobiGr
0b6ea9ec61 Translated using Weblate (German)
Currently translated at 25.6% (10 of 39 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
2020-11-22 18:03:23 +01:00
Bopol
257a826d45 Translated using Weblate (French)
Currently translated at 69.2% (27 of 39 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
2020-11-22 17:53:49 +01:00
Mohammed Anas
e9f48f5134 Translated using Weblate (Arabic)
Currently translated at 61.5% (24 of 39 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ar/
2020-11-22 17:53:48 +01:00
Stypox
fcf04624d4 Translated using Weblate (Italian)
Currently translated at 23.0% (9 of 39 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
2020-11-22 17:53:47 +01:00
mmagian
16218d6dc5 Translated using Weblate (Portuguese (Brazil))
Currently translated at 20.5% (8 of 39 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_BR/
2020-11-22 17:53:47 +01:00
mmagian
071f33e3cd Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (609 of 609 strings)
2020-11-22 17:53:46 +01:00
Oğuz Ersen
6d15389da8 Translated using Weblate (Turkish)
Currently translated at 99.1% (604 of 609 strings)
2020-11-22 17:53:46 +01:00
Ldm Public
2e8530ec00 Translated using Weblate (French)
Currently translated at 100.0% (609 of 609 strings)
2020-11-22 17:53:46 +01:00
nautilusx
4edd1c5497 Translated using Weblate (German)
Currently translated at 100.0% (609 of 609 strings)
2020-11-22 17:53:46 +01:00
TobiGr
8e693b8b42 Add changelog for version 0.20.4 (958) 2020-11-22 14:53:36 +01:00
Tobias Groza
29376066e8 Merge pull request #4768 from Stypox/update-dependencies
Update most dependencies
2020-11-22 14:28:57 +01:00
Stypox
a44f3071bf Update checkstyle (8.36.2 -> 8.37) and mockito-core (3.5.13 -> 3.6.0) 2020-11-22 14:03:11 +01:00
Stypox
b66047e084 Fix ktlint errors 2020-11-22 14:03:10 +01:00
Stypox
f0ca916432 Update most dependencies 2020-11-22 14:03:10 +01:00
Tobias Groza
c88b4032ef Merge pull request #4948 from Stypox/fix-crash-startup
Fix crash on startup when there is no internet connection
2020-11-22 14:00:36 +01:00
Stypox
6f5e99be6f Handle CheckForNewAppVersion exceptions in one place 2020-11-22 13:27:51 +01:00
TobiGr
fd4c37e9b3 Fix crash on startup caused by no implementation of onError() method 2020-11-22 11:46:24 +01:00
TobiGr
7a8dab2d58 Fix typos 2020-11-22 10:39:00 +01:00
TobiGr
6f3dfad550 Fix Lint: Inconsistent line separators 2020-11-22 10:16:27 +01:00
TobiGr
18fb0a13d7 Merge remote-tracking branch 'Weblate/dev' into dev 2020-11-22 10:10:41 +01:00
Rui Martins
e88f9ae03b Translated using Weblate (Portuguese)
Currently translated at 60.5% (23 of 38 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt/
2020-11-21 22:09:26 +01:00
Éfrit
30c010ad3f Translated using Weblate (French)
Currently translated at 68.4% (26 of 38 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
2020-11-21 18:06:19 +01:00
Azizov Aga
e84e70bdc6 Translated using Weblate (Azerbaijani)
Currently translated at 5.2% (2 of 38 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/az/
2020-11-21 18:06:19 +01:00
Sebuktegin Khan
1e6b6165ae Translated using Weblate (Hindi)
Currently translated at 2.6% (1 of 38 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hi/
2020-11-21 18:06:18 +01:00
Gontzal Manuel Pujana Onaindia
c6d149d091 Translated using Weblate (Basque)
Currently translated at 21.0% (8 of 38 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/eu/
2020-11-21 18:06:18 +01:00
Deactivated Account
d55d8d78de Translated using Weblate (Greek)
Currently translated at 36.8% (14 of 38 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/el/
2020-11-21 18:06:18 +01:00
Azizov Aga
eff59f7b5e Translated using Weblate (Azerbaijani)
Currently translated at 43.1% (261 of 605 strings)
2020-11-21 18:06:17 +01:00
Davit Mayilyan
a7a5437245 Translated using Weblate (Armenian)
Currently translated at 18.3% (111 of 605 strings)
2020-11-21 18:06:15 +01:00
Gontzal Manuel Pujana Onaindia
6671b9e55b Translated using Weblate (Basque)
Currently translated at 100.0% (605 of 605 strings)
2020-11-21 18:06:14 +01:00
Éfrit
2dde1cc589 Translated using Weblate (French)
Currently translated at 100.0% (605 of 605 strings)
2020-11-21 18:06:14 +01:00
Stypox
17866c29ae Refactor CheckForNewAppVersion 2020-11-21 12:02:08 +01:00
Stypox
8dc4e6dc2a Fix crash on startup without internet: Cbservable callable returning null
Use Maybe instead
2020-11-21 12:02:03 +01:00
Stypox
1197f44262 Merge pull request #4944 from Isira-Seneviratne/Dispose_RxView_disposable
Dispose of RxViews disposable in BaseStateFragment.
2020-11-21 10:52:00 +01:00
Stypox
a86ed1f801 Merge pull request #4815 from Isira-Seneviratne/Use_try-with-resources
Use try-with-resources.
2020-11-21 10:20:49 +01:00
Isira Seneviratne
e98d3423e4 Dispose of RxViews disposable in BaseStateFragment. 2020-11-21 14:24:21 +05:30
Isira Seneviratne
95333d37c8 Use try-with-resources. 2020-11-21 13:47:13 +05:30
Stypox
8bcf0c6498 Merge pull request #4377 from Isira-Seneviratne/Use_Parcelize_annotation
Use the Kotlin Parcelize annotation.
2020-11-21 08:39:55 +01:00
Isira Seneviratne
340b92e32b Convert ErrorInfo to Kotlin and use the Parcelize annotation. 2020-11-21 12:47:35 +05:30
Isira Seneviratne
6e68ab19f9 Convert SavedState to Kotlin and use the Parcelize annotation. 2020-11-21 12:47:32 +05:30
Isira Seneviratne
15fed32d92 Convert SoftwareComponent to Kotlin and use the Parcelize annotation. 2020-11-21 12:47:30 +05:30
Isira Seneviratne
897c754dd4 Convert MissionRecoveryInfo to Kotlin and use the Parcelize annotation. 2020-11-21 12:47:29 +05:30
Isira Seneviratne
ec1e746a22 Convert License to Kotlin and use the Parcelize annotation. 2020-11-21 12:47:26 +05:30
Stypox
001f078ba9 Merge pull request #4937 from vkay94/fix-player-brightness-volume-setting
Fix respecting brightness-volume-gesture settings
2020-11-20 22:53:14 +01:00
Atemu
c0ff1e86b9 VideoDetailFragment: Don't exit fullscreen on rotation in tablet UI
Fixes https://github.com/TeamNewPipe/NewPipe/issues/4936

Going from portrait to landscape doesn't toggle fullscreen in tablet mode, so
the reverse action shouldn't do it either.
2020-11-20 21:52:27 +01:00
vkay94
b5321152fd Player gestures: Fix respecting brightness-volume-gesture settings 2020-11-20 21:08:02 +01:00
Stypox
66d15ea635 Merge pull request #4893 from okan35/whatsNewSwipeRefresh
Pull to Refresh Feed
2020-11-20 18:13:32 +01:00
Stypox
72177033d2 Merge pull request #4891 from vkay94/locallist-entry-progressTime
Improve performance for some updateState calls (local lists)
2020-11-20 17:12:16 +01:00
Stypox
06b7072240 Merge pull request #4642 from XiangRongLin/hide_thumbnail
Add option to hide thumbnail on lock screen
2020-11-20 16:35:10 +01:00
Tobias Groza
4700f35739 Merge pull request #4921 from Isira-Seneviratne/Call_offsetDateTime_instead_of_date
Call DateWrapper's offsetDateTime() instead of date().
2020-11-20 15:58:22 +01:00
Tobias Groza
bbfa280e86 Merge pull request #4929 from TacoTheDank/murder-all-the-annoying-lints
Various code improvements
2020-11-20 15:53:37 +01:00
TacoTheDank
2669ba944d Correct some other small lints 2020-11-19 18:54:27 -05:00
Michal L
c8788dbfbe Translated using Weblate (Polish)
Currently translated at 44.7% (17 of 38 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
2020-11-20 00:21:29 +01:00
Anxhelo Lushka
5e7c3b53f8 Translated using Weblate (Albanian)
Currently translated at 98.8% (598 of 605 strings)
2020-11-20 00:21:28 +01:00
Vasilis K
99348c2300 Translated using Weblate (Greek)
Currently translated at 100.0% (605 of 605 strings)
2020-11-20 00:21:28 +01:00
randomtroller
ab2b9797fd Translated using Weblate (Slovenian)
Currently translated at 54.7% (331 of 605 strings)
2020-11-20 00:21:28 +01:00
Alvaro
637653ea11 Translated using Weblate (Spanish)
Currently translated at 99.8% (604 of 605 strings)
2020-11-20 00:21:27 +01:00
TacoTheDank
04cb6ba3d0 Update Android Studio 2020-11-19 15:25:07 -05:00
Isira Seneviratne
eb1cddd85a Call DateWrapper's offsetDateTime() instead of date(). 2020-11-19 18:37:07 +05:30
Prasanta-Hembram
723b230093 Translated using Weblate (Santali)
Currently translated at 10.5% (64 of 605 strings)
2020-11-19 09:33:47 +01:00
nautilusx
7185fae491 Translated using Weblate (German)
Currently translated at 23.6% (9 of 38 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
2020-11-19 09:33:46 +01:00
TacoTheDank
0274cd6beb Lint: Inner class may be static 2020-11-18 18:02:33 -05:00
TacoTheDank
ad2ea0b807 Lint: 'if' replaceable with 'switch' 2020-11-18 17:58:41 -05:00
TacoTheDank
c24999075d Lint: Lambda fix 2020-11-18 17:57:30 -05:00
TacoTheDank
773bde14ab Lint: 'size() == 0' replaceable with 'isEmpty()' 2020-11-18 17:54:16 -05:00
TacoTheDank
00b08318a5 Lint: Redundant 'new' expression in constant array creation 2020-11-18 17:52:30 -05:00
TacoTheDank
39e5d8ccc2 Lint: Make a bunch of stuff final 2020-11-18 17:50:00 -05:00
TacoTheDank
e25622df4b Lint: Move declarations into assignments 2020-11-18 17:48:01 -05:00
TacoTheDank
ea5939c1b7 Kotlin lint fixing 2020-11-18 17:45:19 -05:00
TacoTheDank
4734d04d4f Use two more KTX extensions 2020-11-18 17:29:58 -05:00
TobiGr
493e47f7e6 Add Central Atlas Tamazight (Tamaziɣt) to app locales 2020-11-18 19:59:15 +01:00
Mukhamadjonov
ef2b32eb05 Translated using Weblate (Uzbek (latin))
Currently translated at 13.1% (5 of 38 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uz_Latn/
2020-11-18 18:44:59 +01:00
Mukhamadjonov
1da91d44e1 Translated using Weblate (Uzbek (latin))
Currently translated at 99.1% (600 of 605 strings)
2020-11-18 18:44:58 +01:00
Mario Rossi
ebd7ab3e46 Translated using Weblate (Neapolitan)
Currently translated at 10.7% (65 of 605 strings)
2020-11-18 18:44:54 +01:00
Allan Nordhøy
99bddfdf0a Translated using Weblate (Norwegian Bokmål)
Currently translated at 10.5% (4 of 38 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nb_NO/
2020-11-18 18:44:53 +01:00
Nicky Db
144f48c9a6 Translated using Weblate (Dutch (Belgium))
Currently translated at 36.8% (14 of 38 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nl_BE/
2020-11-18 18:44:53 +01:00
Mark
8d0d2ba07b Translated using Weblate (Dutch)
Currently translated at 10.5% (4 of 38 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nl/
2020-11-18 18:44:52 +01:00
Yaron Shahrabani
a6ad334dc0 Translated using Weblate (Hebrew)
Currently translated at 23.6% (9 of 38 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/
2020-11-18 18:44:52 +01:00
Naimul Kabir
468ca30070 Translated using Weblate (Bengali)
Currently translated at 10.5% (4 of 38 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/bn/
2020-11-18 18:44:52 +01:00
UserX
7b2d2d9338 Translated using Weblate (German)
Currently translated at 23.6% (9 of 38 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
2020-11-18 18:44:51 +01:00
Naimul Kabir
0e08819cf3 Translated using Weblate (Bengali)
Currently translated at 78.6% (476 of 605 strings)
2020-11-18 18:44:51 +01:00
vachan-maker
1d3f7b49dc Translated using Weblate (Malayalam)
Currently translated at 92.7% (561 of 605 strings)
2020-11-18 18:44:51 +01:00
Allan Nordhøy
3566ec7012 Translated using Weblate (Norwegian Bokmål)
Currently translated at 93.3% (565 of 605 strings)
2020-11-18 18:44:50 +01:00
Azizov Aga
f37a36efa4 Translated using Weblate (Azerbaijani)
Currently translated at 36.5% (221 of 605 strings)
2020-11-18 18:44:50 +01:00
षिखर्
2ea069cd8c Translated using Weblate (Hindi)
Currently translated at 78.5% (475 of 605 strings)
2020-11-18 18:44:48 +01:00
Naimul Kabir
08e111f6dc Translated using Weblate (Bengali (Bangladesh))
Currently translated at 64.9% (393 of 605 strings)
2020-11-18 18:44:48 +01:00
Krysa Czech
6339881684 Translated using Weblate (Czech)
Currently translated at 100.0% (605 of 605 strings)
2020-11-18 18:44:47 +01:00
Stypox
e222538575 Translated using Weblate (Italian)
Currently translated at 100.0% (605 of 605 strings)
2020-11-18 18:44:47 +01:00
Francesco Saltori
c4a67ce420 Translated using Weblate (Italian)
Currently translated at 100.0% (605 of 605 strings)
2020-11-18 18:44:47 +01:00
xxkfqz
77e348ba62 Translated using Weblate (Russian)
Currently translated at 100.0% (605 of 605 strings)
2020-11-18 18:44:46 +01:00
Pera Petrovic
bde39d8c37 Translated using Weblate (Serbian)
Currently translated at 40.9% (248 of 605 strings)
2020-11-18 18:44:45 +01:00
Tobias Groza
ebb906c273 Merge pull request #4852 from TeamNewPipe/release_0.20.3
Release 0.20.3
2020-11-18 16:40:52 +01:00
TobiGr
46b91bf8b0 Merge remote-tracking branch 'Weblate/dev' into release_0.20.3 2020-11-18 15:57:57 +01:00
okan35
7a432b38e9 gradle change 2020-11-17 19:25:49 +01:00
okan35
9b6a201bbb removed unnecessary spaces - code change 2020-11-17 19:23:29 +01:00
Bopol
a79d7c8417 Translated using Weblate (French)
Currently translated at 68.4% (26 of 38 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
2020-11-16 22:09:30 +01:00
Stypox
7a6e0d651f Add Uzbek language (O'zbek) and remove Neapolitan
Neapolitan only has 43 translated strings, so it should not appear as a possible language
2020-11-15 23:37:39 +01:00
Stypox
7476498823 [Regression] Revert "Removed remember popup properties setting"
This reverts commit 314615bfef.
2020-11-15 22:24:27 +01:00
Stypox
4c7b5d44a0 [Regression] Fix videos added multiple times to detail fragment stack 2020-11-15 22:23:47 +01:00
Mukhamadjonov
620bb54881 Translated using Weblate (Uzbek (latin))
Currently translated at 66.7% (404 of 605 strings)
2020-11-15 22:23:47 +01:00
Prasanta-Hembram
73be747cbe Translated using Weblate (Santali)
Currently translated at 8.5% (52 of 605 strings)
2020-11-15 22:23:46 +01:00
WaldiS
4d874451c9 Translated using Weblate (Polish)
Currently translated at 37.8% (14 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
2020-11-15 22:23:46 +01:00
Allan Nordhøy
3245d620c3 Translated using Weblate (Norwegian Bokmål)
Currently translated at 93.3% (565 of 605 strings)
2020-11-15 22:23:46 +01:00
Terry Louwers
a59f80589a Translated using Weblate (Dutch (Belgium))
Currently translated at 100.0% (605 of 605 strings)
2020-11-15 22:23:46 +01:00
Milo Ivir
6b269c7559 Translated using Weblate (Croatian)
Currently translated at 98.8% (598 of 605 strings)
2020-11-15 22:23:46 +01:00
Michal L
53cadeab61 Translated using Weblate (Polish)
Currently translated at 100.0% (605 of 605 strings)
2020-11-15 22:23:46 +01:00
2-Seol
e90d388fdb Translated using Weblate (Korean)
Currently translated at 82.8% (501 of 605 strings)
2020-11-15 22:23:46 +01:00
Terry Louwers
219f059834 Translated using Weblate (Dutch)
Currently translated at 100.0% (605 of 605 strings)
2020-11-15 22:23:46 +01:00
WaldiS
dc2dac66a3 Translated using Weblate (Polish)
Currently translated at 99.8% (604 of 605 strings)
2020-11-15 22:23:46 +01:00
Mukhamadjonov
e04ee666b8 Translated using Weblate (Uzbek (latin))
Currently translated at 36.5% (221 of 605 strings)
2020-11-15 22:23:46 +01:00
Prasanta-Hembram
7d27003bb2 Translated using Weblate (Santali)
Currently translated at 8.4% (51 of 605 strings)
2020-11-15 22:23:46 +01:00
Allan Nordhøy
b866c9dd08 Translated using Weblate (Norwegian Bokmål)
Currently translated at 10.8% (4 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nb_NO/
2020-11-15 22:23:46 +01:00
Ajeje Brazorf
d17236fe45 Translated using Weblate (Sardinian)
Currently translated at 10.8% (4 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sc/
2020-11-15 22:23:46 +01:00
ssantos
d2580ec87c Translated using Weblate (Portuguese (Portugal))
Currently translated at 54.0% (20 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_PT/
2020-11-15 22:23:46 +01:00
Florian
7c10f414dc Translated using Weblate (French)
Currently translated at 24.3% (9 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
2020-11-15 22:23:46 +01:00
simo
2a4717cb7f Translated using Weblate (Arabic)
Currently translated at 62.1% (23 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ar/
2020-11-15 22:23:46 +01:00
Yaron Shahrabani
be9cb8a4da Translated using Weblate (Hebrew)
Currently translated at 21.6% (8 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/
2020-11-15 22:23:46 +01:00
ssantos
e887363910 Translated using Weblate (Portuguese)
Currently translated at 54.0% (20 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt/
2020-11-15 22:23:45 +01:00
nautilusx
a274159726 Translated using Weblate (German)
Currently translated at 18.9% (7 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
2020-11-15 22:23:45 +01:00
ssantos
83384e0de4 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (605 of 605 strings)
2020-11-15 22:23:45 +01:00
Ajeje Brazorf
748904b8ad Translated using Weblate (Sardinian)
Currently translated at 100.0% (605 of 605 strings)
2020-11-15 22:23:44 +01:00
Yaron Shahrabani
3e72df8b1e Translated using Weblate (Hebrew)
Currently translated at 100.0% (605 of 605 strings)
2020-11-15 22:23:25 +01:00
Jeff Huang
2921563e9c Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (605 of 605 strings)
2020-11-15 22:23:25 +01:00
Eric
01c1346696 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (605 of 605 strings)
2020-11-15 22:23:25 +01:00
simo
796e0456ef Translated using Weblate (Arabic)
Currently translated at 100.0% (605 of 605 strings)
2020-11-15 22:23:24 +01:00
Bopol
eeb68497fe Translated using Weblate (Esperanto)
Currently translated at 91.0% (551 of 605 strings)
2020-11-15 22:23:24 +01:00
ssantos
7eadb6acad Translated using Weblate (Portuguese)
Currently translated at 100.0% (605 of 605 strings)
2020-11-15 22:23:24 +01:00
Vancha March
9d588aa7e7 Translated using Weblate (Dutch)
Currently translated at 99.8% (604 of 605 strings)
2020-11-15 22:23:24 +01:00
Florian
204b5f7f09 Translated using Weblate (French)
Currently translated at 100.0% (605 of 605 strings)
2020-11-15 22:23:24 +01:00
nautilusx
e0f53b63ce Translated using Weblate (German)
Currently translated at 100.0% (605 of 605 strings)
2020-11-15 22:23:24 +01:00
Allan Nordhøy
83f4dbe40e Translated using Weblate (Norwegian Bokmål)
Currently translated at 93.0% (563 of 605 strings)
2020-11-15 22:23:24 +01:00
Mukhamadjonov
8d8ba68838 Translated using Weblate (Uzbek (latin))
Currently translated at 20.3% (123 of 603 strings)
2020-11-15 22:23:24 +01:00
Stypox
3f25940dec Release 0.20.3 2020-11-15 22:23:24 +01:00
okan35
745773b207 swipe to refresh added 2020-11-15 17:54:40 +01:00
Tobias Groza
35f5575595 Merge pull request #4892 from TeamNewPipe/correct_gigaget_license
Correct Gigaget's license from GPLv2 to GPLv3
2020-11-15 15:30:02 +01:00
opusforlife2
e4746f8b32 Remove GPLv2 - not needed 2020-11-15 14:04:10 +00:00
opusforlife2
7e0552efde Delete GPLv2 license file - not needed 2020-11-15 14:03:20 +00:00
opusforlife2
6075b98634 Correct Gigaget's license
It's GPLv3, not GPLv2.
2020-11-15 13:41:43 +00:00
vkay94
ebe9f518d0 Replace some loadStateStream calls with progressTime field 2020-11-15 14:12:05 +01:00
vkay94
37ceddd11b Add progressTime field to some stream entries (database) 2020-11-15 14:08:41 +01:00
Hosted Weblate
d1d8b911b9 Merge branch 'origin/dev' into Weblate. 2020-11-14 11:48:32 +01:00
Stypox
796e656328 Translated using Weblate (Italian)
Currently translated at 100.0% (605 of 605 strings)
2020-11-14 11:48:32 +01:00
ysard
8b869915e7 Translated using Weblate (French)
Currently translated at 67.5% (25 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
2020-11-14 11:48:21 +01:00
Stypox
9b05243d61 Translated using Weblate (Italian)
Currently translated at 100.0% (605 of 605 strings)
2020-11-14 11:48:20 +01:00
Stypox
81c24510a8 Add Release 0.20.3 fastlane changelog to allow translation 2020-11-14 11:30:27 +01:00
Stypox
9e7fb4d21a Merge pull request #4771 from Stypox/fix-playlist-select
Fix playlist select dialog and do some refactoring
2020-11-14 11:21:20 +01:00
XiangRongLin
7805f8a9b1 Add option to hide thumbnail on lock screen and inside notification 2020-11-14 10:01:07 +01:00
Prasanta-Hembram
ae7f04578d Translated using Weblate (Santali)
Currently translated at 9.7% (59 of 605 strings)
2020-11-14 00:56:38 +01:00
chr56
ce814cffd1 Translated using Weblate (Chinese (Simplified))
Currently translated at 64.8% (24 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
2020-11-14 00:56:38 +01:00
Ville Rantanen
703b310ef0 Translated using Weblate (Finnish)
Currently translated at 5.4% (2 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fi/
2020-11-14 00:56:36 +01:00
ysard
da6c4ad36a Translated using Weblate (French)
Currently translated at 24.3% (9 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
2020-11-14 00:56:36 +01:00
Michal L
a8c849d38a Translated using Weblate (Polish)
Currently translated at 40.5% (15 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
2020-11-14 00:56:35 +01:00
jimman2003
d8d5e04a51 Translated using Weblate (Greek)
Currently translated at 16.2% (6 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/el/
2020-11-14 00:56:35 +01:00
David Braz
fa348cb98f Translated using Weblate (Portuguese (Brazil))
Currently translated at 21.6% (8 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_BR/
2020-11-14 00:56:34 +01:00
Oymate
f4ec2d8107 Translated using Weblate (Bengali)
Currently translated at 78.5% (475 of 605 strings)
2020-11-14 00:56:33 +01:00
Ville Rantanen
de39d828de Translated using Weblate (Finnish)
Currently translated at 100.0% (605 of 605 strings)
2020-11-14 00:56:33 +01:00
David Braz
25d3d0d0ba Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (605 of 605 strings)
2020-11-14 00:56:33 +01:00
Habib Rohman
6f3b1000a7 Translated using Weblate (Indonesian)
Currently translated at 100.0% (605 of 605 strings)
2020-11-14 00:56:32 +01:00
Marian Hanzel
1ebb8d8d14 Translated using Weblate (Slovak)
Currently translated at 100.0% (605 of 605 strings)
2020-11-14 00:56:32 +01:00
jimman2003
4e4acdaecc Translated using Weblate (Greek)
Currently translated at 99.6% (603 of 605 strings)
2020-11-14 00:56:32 +01:00
pjammo
f7fb03bf56 Translated using Weblate (Italian)
Currently translated at 100.0% (605 of 605 strings)
2020-11-14 00:56:31 +01:00
Ács Zoltán
429aafc7ba Translated using Weblate (Hungarian)
Currently translated at 68.4% (414 of 605 strings)
2020-11-14 00:56:31 +01:00
Ldm Public
acdfede2a8 Translated using Weblate (French)
Currently translated at 21.6% (8 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
2020-11-13 20:54:16 +01:00
opusforlife2
b822c5a039 Update Invidious URL list in the manifest 2020-11-11 15:20:42 +00:00
Hosted Weblate
8366c4c165 Merge branch 'origin/dev' into Weblate. 2020-11-10 12:15:50 +01:00
Mukhamadjonov
4c7260b043 Translated using Weblate (Uzbek (latin))
Currently translated at 66.7% (404 of 605 strings)
2020-11-10 12:14:17 +01:00
Prasanta-Hembram
c878f7dc25 Translated using Weblate (Santali)
Currently translated at 8.5% (52 of 605 strings)
2020-11-10 12:14:13 +01:00
WaldiS
aca21f6ef2 Translated using Weblate (Polish)
Currently translated at 37.8% (14 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
2020-11-10 12:14:13 +01:00
Allan Nordhøy
10c582bafb Translated using Weblate (Norwegian Bokmål)
Currently translated at 93.3% (565 of 605 strings)
2020-11-10 12:14:12 +01:00
Terry Louwers
7b3bd26631 Translated using Weblate (Dutch (Belgium))
Currently translated at 100.0% (605 of 605 strings)
2020-11-10 12:14:12 +01:00
Milo Ivir
731f88da84 Translated using Weblate (Croatian)
Currently translated at 98.8% (598 of 605 strings)
2020-11-10 12:14:12 +01:00
Michal L
b7fb9a65b6 Translated using Weblate (Polish)
Currently translated at 100.0% (605 of 605 strings)
2020-11-10 12:14:11 +01:00
2-Seol
843c24b17a Translated using Weblate (Korean)
Currently translated at 82.8% (501 of 605 strings)
2020-11-10 12:14:11 +01:00
Terry Louwers
18dbbfc95a Translated using Weblate (Dutch)
Currently translated at 100.0% (605 of 605 strings)
2020-11-10 12:14:11 +01:00
bopol
5b6e187b49 Merge pull request #4845 from KIMMINTAE98/rm_kor
Add korean translation of README.md
2020-11-10 12:07:27 +01:00
opusforlife2
9025a9b88c Rename and add links to translations 2020-11-10 06:58:20 +00:00
opusforlife2
07b2891671 Add links to translations
All READMEs should contains links to translated versions.
2020-11-10 06:56:01 +00:00
Tobias Groza
c4a739bef6 Merge pull request #4562 from Stypox/fix-detail-open
Fix opening VideoDetailFragment and much more
2020-11-09 22:04:39 +01:00
WaldiS
1008c74cd7 Translated using Weblate (Polish)
Currently translated at 99.8% (604 of 605 strings)
2020-11-09 20:57:14 +01:00
Stypox
60dc9d27bc Merge pull request #4784 from bd0n4lds/Dont-Use-Float-Type-For-Loop-Indices
Change loop index from float to int
2020-11-09 13:04:17 +01:00
Bri@n
9eb0f48a7a Change loop index from float to int 2020-11-09 12:55:59 +01:00
KIMMINTAE98
7b1fccdd06 complete korean translation of README.md 2020-11-09 15:29:56 +09:00
Mukhamadjonov
64ae07b03b Translated using Weblate (Uzbek (latin))
Currently translated at 36.5% (221 of 605 strings)
2020-11-08 23:47:25 +01:00
Prasanta-Hembram
6ecbbd1f79 Translated using Weblate (Santali)
Currently translated at 8.4% (51 of 605 strings)
2020-11-08 23:47:22 +01:00
Allan Nordhøy
a1fb268764 Translated using Weblate (Norwegian Bokmål)
Currently translated at 10.8% (4 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nb_NO/
2020-11-08 23:47:22 +01:00
Ajeje Brazorf
868661edf0 Translated using Weblate (Sardinian)
Currently translated at 10.8% (4 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sc/
2020-11-08 23:47:22 +01:00
ssantos
9899e63d53 Translated using Weblate (Portuguese (Portugal))
Currently translated at 54.0% (20 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_PT/
2020-11-08 23:47:22 +01:00
Florian
0b37b8b059 Translated using Weblate (French)
Currently translated at 24.3% (9 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
2020-11-08 23:47:21 +01:00
simo
1b34ca822f Translated using Weblate (Arabic)
Currently translated at 62.1% (23 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ar/
2020-11-08 23:47:20 +01:00
Yaron Shahrabani
a4e3a874ad Translated using Weblate (Hebrew)
Currently translated at 21.6% (8 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/
2020-11-08 23:47:19 +01:00
ssantos
8ec3df552a Translated using Weblate (Portuguese)
Currently translated at 54.0% (20 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt/
2020-11-08 23:47:19 +01:00
nautilusx
b4b1c9256b Translated using Weblate (German)
Currently translated at 18.9% (7 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
2020-11-08 23:47:18 +01:00
ssantos
acee20d897 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (605 of 605 strings)
2020-11-08 23:47:18 +01:00
Ajeje Brazorf
6ea3ebb72d Translated using Weblate (Sardinian)
Currently translated at 100.0% (605 of 605 strings)
2020-11-08 23:47:17 +01:00
Yaron Shahrabani
55f23e9304 Translated using Weblate (Hebrew)
Currently translated at 100.0% (605 of 605 strings)
2020-11-08 23:47:17 +01:00
Jeff Huang
ad223a04f8 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (605 of 605 strings)
2020-11-08 23:47:17 +01:00
Eric
0b150ea475 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (605 of 605 strings)
2020-11-08 23:47:16 +01:00
simo
167e9fbc6d Translated using Weblate (Arabic)
Currently translated at 100.0% (605 of 605 strings)
2020-11-08 23:47:16 +01:00
Bopol
77ea160cd9 Translated using Weblate (Esperanto)
Currently translated at 91.0% (551 of 605 strings)
2020-11-08 23:47:16 +01:00
ssantos
f9204450f1 Translated using Weblate (Portuguese)
Currently translated at 100.0% (605 of 605 strings)
2020-11-08 23:47:15 +01:00
Vancha March
21ef76816f Translated using Weblate (Dutch)
Currently translated at 99.8% (604 of 605 strings)
2020-11-08 23:47:15 +01:00
Florian
f166cfbac8 Translated using Weblate (French)
Currently translated at 100.0% (605 of 605 strings)
2020-11-08 23:47:15 +01:00
nautilusx
e5f64710f4 Translated using Weblate (German)
Currently translated at 100.0% (605 of 605 strings)
2020-11-08 23:47:15 +01:00
KIMMINTAE98
32a5062081 update korean translation of README.md 2020-11-09 03:37:56 +09:00
KIMMINTAE98
e6bc29281e create korean translation of README.md
just create
2020-11-08 23:01:02 +09:00
Stypox
617ee0afc0 Fix brightness and volume scroll swapped 2020-11-08 10:00:28 +01:00
Stypox
1b47a1a994 Fix switching to main player when MainActivity is closed 2020-11-08 10:00:28 +01:00
Stypox
5a87cfc25d Open mini player if player running on app open 2020-11-08 10:00:28 +01:00
Stypox
00a178f7d3 Fix tapping on video thumbnail does nothing 2020-11-08 10:00:28 +01:00
Stypox
2a2c82e73b More fixes with opening VideoDetailFragment 2020-11-08 10:00:28 +01:00
Stypox
bb882ada2c Show "Show info" instead of "Video player" if a stream is playing not on the main player when sharing something to NewPipe 2020-11-08 10:00:28 +01:00
Stypox
1d42e45d78 Unify all ways of opening VideoDetailFragment 2020-11-08 10:00:27 +01:00
Allan Nordhøy
15c4a5c9ea Translated using Weblate (Norwegian Bokmål)
Currently translated at 93.0% (563 of 605 strings)
2020-11-08 01:39:02 +01:00
Tobias Groza
f4435f9031 Merge pull request #4555 from Stypox/playqueue-crash
Fix NullPointerException in queue handling
2020-11-08 01:19:38 +01:00
Hosted Weblate
5a423c89a3 Merge branch 'origin/dev' into Weblate. 2020-11-08 01:08:16 +01:00
Tobias Groza
8b02154f5a Merge pull request #4749 from Prasanta-Hembram/dev
[Translation]Added Santali language
2020-11-08 01:02:37 +01:00
Hosted Weblate
97c454ea77 Merge branch 'origin/dev' into Weblate. 2020-11-08 01:00:30 +01:00
Mukhamadjonov
f07a6d03b5 Translated using Weblate (Uzbek (latin))
Currently translated at 20.3% (123 of 603 strings)
2020-11-08 00:55:24 +01:00
TobiGr
1f18fb5446 Remove unused "video_is_age_restricted" translations 2020-11-08 00:52:20 +01:00
TobiGr
92ee5b66ab Remove unused translation 2020-11-08 00:48:40 +01:00
TobiGr
fcc92c3e27 Merge remote-tracking branch 'Weblate/dev' into dev 2020-11-08 00:38:30 +01:00
Mukhamadjonov
3e91b5a793 Translated using Weblate (Uzbek (latin))
Currently translated at 7.4% (45 of 603 strings)
2020-11-07 22:39:48 +01:00
Vasilis K
42e5cc3bef Translated using Weblate (Greek)
Currently translated at 100.0% (603 of 603 strings)
2020-11-07 22:39:48 +01:00
Éfrit
16c61a1919 Translated using Weblate (French)
Currently translated at 100.0% (603 of 603 strings)
2020-11-07 22:39:47 +01:00
Weblate
c2b4b0490b Added translation using Weblate (Uzbek (latin)) 2020-11-07 22:00:26 +01:00
Mukhamadjonov
a310a06e3c Added translation using Weblate (Uzbek (latin)) 2020-11-07 22:00:22 +01:00
Prasanta-Hembram
9228511527 Translated using Weblate (Santali)
Currently translated at 7.9% (48 of 603 strings)
2020-11-07 08:13:43 +01:00
Gontzal Manuel Pujana Onaindia
bbc4174501 Translated using Weblate (Basque)
Currently translated at 16.6% (6 of 36 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/eu/
2020-11-07 08:13:42 +01:00
Oymate
5f3196b74c Translated using Weblate (Bengali)
Currently translated at 77.9% (470 of 603 strings)
2020-11-07 08:13:42 +01:00
Vasilis K
725bd8029f Translated using Weblate (Greek)
Currently translated at 99.6% (601 of 603 strings)
2020-11-07 08:13:41 +01:00
Gontzal Manuel Pujana Onaindia
479ab5df0e Translated using Weblate (Basque)
Currently translated at 100.0% (603 of 603 strings)
2020-11-07 08:13:39 +01:00
xxkfqz
18c45ad30b Translated using Weblate (Russian)
Currently translated at 100.0% (603 of 603 strings)
2020-11-07 08:13:38 +01:00
Vasilis K
6f32f098eb Translated using Weblate (Greek)
Currently translated at 92.0% (555 of 603 strings)
2020-11-06 12:23:03 +01:00
Michalis Nikolaidis
e8289d3912 Translated using Weblate (Greek)
Currently translated at 92.0% (555 of 603 strings)
2020-11-06 12:23:03 +01:00
pjammo
472d9322ce Translated using Weblate (Italian)
Currently translated at 22.2% (8 of 36 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
2020-11-05 17:14:08 +01:00
Nyatsuki
0233ffafb6 Translated using Weblate (Japanese)
Currently translated at 16.6% (6 of 36 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ja/
2020-11-05 17:14:07 +01:00
Oymate
468ee4756f Translated using Weblate (Bengali)
Currently translated at 73.6% (444 of 603 strings)
2020-11-05 17:14:06 +01:00
Milo Ivir
abf9365bbe Translated using Weblate (Croatian)
Currently translated at 99.0% (597 of 603 strings)
2020-11-05 17:14:04 +01:00
Oymate
1e0789162f Translated using Weblate (Bengali (Bangladesh))
Currently translated at 61.3% (370 of 603 strings)
2020-11-05 17:14:04 +01:00
fieldfile
31f407f4e8 Translated using Weblate (Ukrainian)
Currently translated at 94.3% (569 of 603 strings)
2020-11-05 17:14:04 +01:00
Nyatsuki
77330ffc50 Translated using Weblate (Japanese)
Currently translated at 100.0% (603 of 603 strings)
2020-11-05 17:14:03 +01:00
Stypox
6f132f3fed Merge pull request #4556 from Isira-Seneviratne/Switch_to_Java_8_Date_Time_API
Switch to the Java 8 Date/Time API.
2020-11-05 13:02:04 +01:00
Stypox
c193b4f07c Merge pull request #4499 from Isira-Seneviratne/Replace_AsyncTasks_with_ReactiveX
Use RxJava instead of AsyncTask.
2020-11-05 12:39:33 +01:00
Isira Seneviratne
c745b845c5 Switch to the Java 8 Date/Time API. 2020-11-05 15:02:51 +05:30
Isira Seneviratne
3b69e0dd25 Use RxJava instead of AsyncTask in MissionAdapter. 2020-11-05 11:06:51 +05:30
Isira Seneviratne
8ec55ef394 Use RxJava instead of AsyncTask in LicenseFragmentHelper. 2020-11-05 11:06:51 +05:30
Isira Seneviratne
ef5084036c Use RxJava instead of AsyncTask to check for new app versions. 2020-11-05 11:06:50 +05:30
Tobias Groza
7dd317e530 Merge pull request #4759 from Stypox/yt-import
Change YouTube subscription import instructions to Google takeout
2020-11-04 16:52:43 +01:00
Prasanta-Hembram
e5db3ed9b7 Translated using Weblate (Santali)
Currently translated at 7.6% (46 of 603 strings)
2020-11-04 01:23:34 +01:00
aqwer-T
3a00dc5b5f Translated using Weblate (Lithuanian)
Currently translated at 0.0% (0 of 36 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/lt/
2020-11-04 01:23:33 +01:00
Oymate
2d848020fc Translated using Weblate (Bengali)
Currently translated at 64.0% (386 of 603 strings)
2020-11-04 01:23:33 +01:00
Stjepan
70123d19fe Translated using Weblate (Croatian)
Currently translated at 98.5% (594 of 603 strings)
2020-11-04 01:23:33 +01:00
aqwer-T
ea3770260a Translated using Weblate (Lithuanian)
Currently translated at 52.2% (315 of 603 strings)
2020-11-04 01:23:32 +01:00
Vladislav
eea1a80de6 Translated using Weblate (Russian)
Currently translated at 99.3% (599 of 603 strings)
2020-11-04 01:23:32 +01:00
Tobias Groza
4889775ae6 Merge pull request #4790 from TeamNewPipe/promote_custom_repo
Update readme and add custom repo info
2020-11-03 22:02:24 +01:00
opusforlife2
355effd93d Mention custom repo and generally update section
Added custom repo as additional install method, and added comparison between them all. Also removed the outdated part.
2020-11-03 16:56:04 +00:00
Stypox
f1583b6e0c Merge pull request #4587 from vkay94/separate-player-gesture-logic-ui
Separate player gesture logic and UI
2020-11-02 16:36:50 +01:00
vkay94
347566c311 Player gestures: Add multi-double-tap logic 2020-11-02 15:50:34 +01:00
Stypox
1f73572dd3 Fix playlist select dialog and do some refactoring 2020-11-02 14:24:39 +01:00
Prasanta-Hembram
2bfb83c4cd Translated using Weblate (Santali)
Currently translated at 7.4% (45 of 603 strings)
2020-11-02 12:36:09 +01:00
zeritti
ceed1c4962 Translated using Weblate (Czech)
Currently translated at 100.0% (603 of 603 strings)
2020-11-02 12:36:09 +01:00
Juraj Liso
2b5b9d3599 Translated using Weblate (Slovak)
Currently translated at 100.0% (603 of 603 strings)
2020-11-02 12:36:08 +01:00
Franco
96e3709b7b Translated using Weblate (Spanish)
Currently translated at 100.0% (603 of 603 strings)
2020-11-02 12:36:08 +01:00
Stypox
239fc2f6f8 Change youtube subscription import instructions 2020-11-02 11:08:38 +01:00
Stypox
4c77e5cdd2 Merge pull request #4643 from XiangRongLin/colorize_notification
Add option to not colorize notification
2020-11-01 22:24:16 +01:00
Xiang Rong Lin
974f8f692c Add option to not colorize notification 2020-11-01 22:13:00 +01:00
Tobias Groza
e97d0b9a69 Merge pull request #3817 from Isira-Seneviratne/Use_Java_8_APIs
Use Java 8 APIs.
2020-11-01 16:30:50 +01:00
Isira Seneviratne
b0b0a75c87 Use Collection.removeIf() instead of using Iterator.remove() to remove elements conditionally. 2020-11-01 14:44:07 +05:30
Isira Seneviratne
abcacf8c74 Use Comparator's comparing(), nullsLast() and reversed() methods. 2020-11-01 14:44:04 +05:30
Isira Seneviratne
290428b981 Enable support for core library desugaring. 2020-11-01 14:44:02 +05:30
Prasanta Hembram
37d1541d6b Added Santali language 2020-11-01 13:46:51 +05:30
Tobias Groza
1500ce7490 Merge pull request #4710 from TacoTheDank/more-cleanup
More miscellaneous little fixes and improvements
2020-10-31 23:17:23 +01:00
TacoTheDank
a48529872d Fix a few Kotlin style issues 2020-10-31 15:57:49 -04:00
TacoTheDank
31cffa68c5 Push conditionals inside branch expressions 2020-10-31 15:57:26 -04:00
TacoTheDank
6909d1e527 Simplify an if else 2020-10-31 15:57:01 -04:00
TacoTheDank
972235bfba Add missing app:iconSpaceReserved 2020-10-31 15:56:46 -04:00
TacoTheDank
6db560fd2c Use FragmentActivity for AboutActivity's viewpager2 2020-10-31 15:54:39 -04:00
TacoTheDank
1a64d8aec9 Replace a ContextCompat with LayoutInflater.from 2020-10-31 15:54:19 -04:00
TacoTheDank
1e1fb32558 Fix some version checks to use android.os.Build 2020-10-31 15:54:02 -04:00
XiangRongLin
008eb5ba4a Convert notification actions to a custom preference (#4652) 2020-10-31 11:58:33 +01:00
J. Lavoie
f46e0acc89 Translated using Weblate (Finnish)
Currently translated at 100.0% (603 of 603 strings)
2020-10-31 10:38:59 +01:00
Davit Mayilyan
b615ef5810 Translated using Weblate (Armenian)
Currently translated at 16.7% (101 of 603 strings)
2020-10-31 10:38:59 +01:00
Berkay Gündüz
d773279de8 Translated using Weblate (Turkish)
Currently translated at 100.0% (603 of 603 strings)
2020-10-31 10:38:58 +01:00
zmni
56d721651a Translated using Weblate (Indonesian)
Currently translated at 100.0% (603 of 603 strings)
2020-10-31 10:38:57 +01:00
JohnFai
ee17abff92 Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 27.1% (164 of 603 strings)
2020-10-31 10:38:57 +01:00
J. Lavoie
952bb1a2eb Translated using Weblate (Italian)
Currently translated at 100.0% (603 of 603 strings)
2020-10-31 10:38:57 +01:00
J. Lavoie
c287813e00 Translated using Weblate (French)
Currently translated at 100.0% (603 of 603 strings)
2020-10-31 10:38:56 +01:00
J. Lavoie
eab4fd80d7 Translated using Weblate (Spanish)
Currently translated at 100.0% (603 of 603 strings)
2020-10-31 10:38:56 +01:00
SiD ViCiO
5c8f8869d4 Translated using Weblate (Spanish)
Currently translated at 100.0% (603 of 603 strings)
2020-10-31 10:38:56 +01:00
J. Lavoie
4954dfe107 Translated using Weblate (German)
Currently translated at 100.0% (603 of 603 strings)
2020-10-31 10:38:56 +01:00
Tobias Groza
4eb8094fb8 Merge pull request #4695 from mimi89999/dev
Add missing screenshots
2020-10-30 18:04:32 +01:00
mimi89999
1dd2423a0b Add missing screenshots 2020-10-30 17:26:11 +01:00
Ville Rantanen
6fcf989c62 Translated using Weblate (Finnish)
Currently translated at 100.0% (603 of 603 strings)
2020-10-30 14:34:04 +01:00
J. Lavoie
67d1a4f643 Translated using Weblate (Finnish)
Currently translated at 100.0% (603 of 603 strings)
2020-10-30 14:34:03 +01:00
J. Lavoie
3df9433baf Translated using Weblate (German)
Currently translated at 100.0% (603 of 603 strings)
2020-10-30 14:21:03 +01:00
C. Rüdinger
b12d568147 Translated using Weblate (German)
Currently translated at 100.0% (603 of 603 strings)
2020-10-30 14:21:02 +01:00
Weblate
8691e035a0 Added translation using Weblate (English (United Kingdom)) 2020-10-29 13:06:34 +01:00
vkay94
2683043762 Player gestures: separate logic and UI 2020-10-29 12:46:34 +01:00
Boris Petrov
be5aa59f61 Translated using Weblate (French)
Currently translated at 19.4% (7 of 36 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
2020-10-29 00:57:55 +01:00
Franco
9398dfb7cf Translated using Weblate (Spanish)
Currently translated at 16.6% (6 of 36 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/es/
2020-10-29 00:57:54 +01:00
simo
ff6d2b30e4 Translated using Weblate (Arabic)
Currently translated at 52.7% (19 of 36 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ar/
2020-10-29 00:57:54 +01:00
Michal L
29bb999a32 Translated using Weblate (Polish)
Currently translated at 36.1% (13 of 36 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
2020-10-29 00:57:53 +01:00
nalinalini
9320507e26 Translated using Weblate (Hindi)
Currently translated at 0.0% (0 of 36 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hi/
2020-10-29 00:57:52 +01:00
Paulo Almeida
181fc4fa0a Translated using Weblate (Portuguese (Brazil))
Currently translated at 16.6% (6 of 36 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_BR/
2020-10-29 00:57:52 +01:00
Allan Nordhøy
4f3dd4b662 Translated using Weblate (Norwegian Bokmål)
Currently translated at 93.3% (563 of 603 strings)
2020-10-29 00:57:52 +01:00
nalinalini
7b09de99ea Translated using Weblate (Hindi)
Currently translated at 77.9% (470 of 603 strings)
2020-10-29 00:57:51 +01:00
Milo Ivir
f9f0da18e1 Translated using Weblate (Croatian)
Currently translated at 98.5% (594 of 603 strings)
2020-10-29 00:57:51 +01:00
Michal L
ba0fdb9478 Translated using Weblate (Polish)
Currently translated at 100.0% (603 of 603 strings)
2020-10-29 00:57:49 +01:00
simo
8c684bca22 Translated using Weblate (Arabic)
Currently translated at 100.0% (603 of 603 strings)
2020-10-29 00:57:49 +01:00
Boris Petrov
1266a75549 Translated using Weblate (French)
Currently translated at 100.0% (603 of 603 strings)
2020-10-29 00:57:48 +01:00
TobiGr
3871d5aed7 Merge branch 'master' into dev 2020-10-28 15:14:48 +01:00
Tobias Groza
25d555126d Merge pull request #4675 from B0pol/hotfix
Release 0.20.2 (956)
2020-10-28 07:39:44 +01:00
Tobias Groza
f529d15d7a Update fastlane/metadata/android/en-US/changelogs/956.txt
Co-authored-by: opusforlife2 <53176348+opusforlife2@users.noreply.github.com>
2020-10-28 07:35:04 +01:00
TobiGr
9eda30fc71 Bump extractor version 2020-10-28 07:34:34 +01:00
Tobias Groza
dfd6424d9c Merge pull request #4655 from B0pol/polish
polish strings
2020-10-28 07:26:38 +01:00
Weblate
fdc961f2de Added translation using Weblate (Odia) 2020-10-27 15:17:51 +01:00
nalinalini
a6d4000d24 Added translation using Weblate (Odia) 2020-10-27 15:17:40 +01:00
bopol
e1024e59c3 Release 0.20.2 (956) 2020-10-27 14:47:23 +01:00
Edoardo Regni
990164802d Translated using Weblate (Dutch (Belgium))
Currently translated at 2.7% (1 of 36 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nl_BE/
2020-10-27 13:51:38 +01:00
Ajeje Brazorf
34f18fbdb3 Translated using Weblate (Sardinian)
Currently translated at 100.0% (603 of 603 strings)
2020-10-27 13:51:38 +01:00
Bjorn Roesbeke
17e24bb038 Translated using Weblate (Dutch (Belgium))
Currently translated at 100.0% (603 of 603 strings)
2020-10-27 13:51:37 +01:00
Edoardo Regni
df7e2b7734 Translated using Weblate (Dutch (Belgium))
Currently translated at 100.0% (603 of 603 strings)
2020-10-27 13:51:37 +01:00
Vojtěch Šamla
1ddef06bd2 Translated using Weblate (Czech)
Currently translated at 98.6% (595 of 603 strings)
2020-10-27 13:51:36 +01:00
pjammo
18bd910bf0 Translated using Weblate (Italian)
Currently translated at 100.0% (603 of 603 strings)
2020-10-27 13:51:36 +01:00
Bjorn Roesbeke
0db44f6e33 Translated using Weblate (Dutch)
Currently translated at 100.0% (603 of 603 strings)
2020-10-27 13:51:36 +01:00
bopol
7aac3d38f0 Update Extractor version 2020-10-26 18:59:06 +01:00
Stypox
e406b6f780 Fix NullPointerException in queue handling 2020-10-26 18:15:59 +01:00
bopol
2dad9666a9 polish strings, fix build error 2020-10-26 17:01:55 +01:00
TobiGr
063abf1688 Update checkstyle 2020-10-25 21:29:07 +01:00
Tobias Groza
a86f8e9a22 Merge pull request #4592 from Isira-Seneviratne/Use_DrawableCompat
Use DrawableCompat.
2020-10-25 21:13:02 +01:00
Edoardo Regni
0ce6d4fe92 Translated using Weblate (Dutch (Belgium))
Currently translated at 99.8% (602 of 603 strings)
2020-10-25 20:40:57 +01:00
zmni
886f6c721c Translated using Weblate (Indonesian)
Currently translated at 99.8% (602 of 603 strings)
2020-10-25 20:40:57 +01:00
Gontzal Manuel Pujana Onaindia
9d7d089279 Translated using Weblate (Basque)
Currently translated at 99.3% (599 of 603 strings)
2020-10-25 20:40:56 +01:00
Isira Seneviratne
0bd624dfa9 Use DrawableCompat. 2020-10-25 21:01:53 +05:30
Eric
8c29760d93 Translated using Weblate (Chinese (Simplified))
Currently translated at 63.8% (23 of 36 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
2020-10-25 16:16:26 +01:00
SeungCheol Han
9b893d841d Translated using Weblate (Korean)
Currently translated at 5.5% (2 of 36 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ko/
2020-10-25 16:16:25 +01:00
Yaron Shahrabani
e8c0163153 Translated using Weblate (Hebrew)
Currently translated at 13.8% (5 of 36 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/
2020-10-25 16:16:25 +01:00
nautilusx
256568d966 Translated using Weblate (German)
Currently translated at 16.6% (6 of 36 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
2020-10-25 16:16:24 +01:00
ssantos
34bed47a52 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (603 of 603 strings)
2020-10-25 16:16:24 +01:00
Edoardo Regni
9b0996fade Translated using Weblate (Dutch (Belgium))
Currently translated at 99.8% (602 of 603 strings)
2020-10-25 16:16:23 +01:00
Azizov Aga
7c1028df5d Translated using Weblate (Azerbaijani)
Currently translated at 26.5% (160 of 603 strings)
2020-10-25 16:16:20 +01:00
Milo Ivir
eaea60e0cb Translated using Weblate (Croatian)
Currently translated at 90.5% (546 of 603 strings)
2020-10-25 16:16:19 +01:00
Allan Nordhøy
efab05dcfc Translated using Weblate (Swedish)
Currently translated at 93.2% (562 of 603 strings)
2020-10-25 16:16:19 +01:00
Yaron Shahrabani
d79f77f7e0 Translated using Weblate (Hebrew)
Currently translated at 100.0% (603 of 603 strings)
2020-10-25 16:16:18 +01:00
Jeff Huang
f0d459d490 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (603 of 603 strings)
2020-10-25 16:16:18 +01:00
Eric
e269c073ac Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (603 of 603 strings)
2020-10-25 16:16:17 +01:00
Samuel Carvalho de Araújo
85d5609144 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (603 of 603 strings)
2020-10-25 16:16:17 +01:00
Emin Tufan Çetin
671c593db1 Translated using Weblate (Turkish)
Currently translated at 100.0% (603 of 603 strings)
2020-10-25 16:16:16 +01:00
simo
8b14c7a2cb Translated using Weblate (Arabic)
Currently translated at 99.0% (597 of 603 strings)
2020-10-25 16:16:16 +01:00
Josu
23862419eb Translated using Weblate (Basque)
Currently translated at 97.8% (590 of 603 strings)
2020-10-25 16:16:15 +01:00
ssantos
43d54db4dd Translated using Weblate (Portuguese)
Currently translated at 100.0% (603 of 603 strings)
2020-10-25 16:16:14 +01:00
AioiLight
b8b0060440 Translated using Weblate (Japanese)
Currently translated at 100.0% (603 of 603 strings)
2020-10-25 16:16:14 +01:00
Mitosagi
64d79ceb30 Translated using Weblate (Japanese)
Currently translated at 100.0% (603 of 603 strings)
2020-10-25 16:16:13 +01:00
Nikita Epifanov
25f7b44d48 Translated using Weblate (Russian)
Currently translated at 99.1% (598 of 603 strings)
2020-10-25 16:16:13 +01:00
Edoardo Regni
ada7e628da Translated using Weblate (Dutch)
Currently translated at 100.0% (603 of 603 strings)
2020-10-25 16:16:13 +01:00
nautilusx
76f2338c3d Translated using Weblate (German)
Currently translated at 100.0% (603 of 603 strings)
2020-10-25 16:16:12 +01:00
Stypox
a0ed8036c0 Merge pull request #4594 from Isira-Seneviratne/Use_TextViewCompat
Use TextViewCompat.setCompoundDrawablesRelativeWithIntrinsicBounds().
2020-10-25 14:44:01 +01:00
TobiGr
863ce65b10 Fix Issue Template config 2020-10-24 20:44:22 +02:00
Weblate
85190b16cb Added translation using Weblate (Kashmiri) 2020-10-24 05:01:01 +02:00
TobiGr
abc6fd8b2a polish more 2020-10-23 23:22:00 +02:00
TobiGr
b6f603154e polish some stuff 2020-10-23 23:18:34 +02:00
Tobias Groza
90cb9d3de1 Merge pull request #4549 from Stypox/fix-showMiniPlayer
Fix IllegalStateException after onSaveInstanceState
2020-10-23 21:58:20 +02:00
Viktor K
d47c9a2e29 Translated using Weblate (German)
Currently translated at 99.8% (602 of 603 strings)
2020-10-23 19:49:48 +02:00
TobiGr
b7aea96ca0 Translated using Weblate (German)
Currently translated at 99.8% (602 of 603 strings)
2020-10-23 19:49:47 +02:00
nautilusx
a5879a4407 Translated using Weblate (German)
Currently translated at 99.8% (602 of 603 strings)
2020-10-23 19:49:47 +02:00
Tobias Groza
0452c69771 Merge pull request #4610 from mhmdanas/optimize-pngs
Optimize app PNGs
2020-10-23 19:37:23 +02:00
Tobias Groza
4eb9dff45e Merge pull request #4611 from TeamNewPipe/prevent_blank_issues
Create config.yaml to prevent blank issues
2020-10-23 19:18:25 +02:00
opusforlife2
b7c1e88b59 Create config.yaml to prevent blank issues 2020-10-23 14:37:59 +00:00
mhmdanas
23814330d9 Optimize app PNGs 2020-10-23 17:00:39 +03:00
Hosted Weblate
8bc75aacea Merge branch 'origin/dev' into Weblate. 2020-10-23 10:54:04 +02:00
Prasanta-Hembram
17576d223a Translated using Weblate (Santali)
Currently translated at 6.1% (37 of 600 strings)
2020-10-23 10:54:04 +02:00
mmagian
90e8f0ca63 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (600 of 600 strings)
2020-10-23 10:54:03 +02:00
TobiGr
adc4a811b7 Merge remote-tracking branch 'Weblate/dev' into dev 2020-10-23 10:52:51 +02:00
Tobias Groza
7c80233f26 Merge pull request #4345 from vkay94/fix-createplaylist
Fix PlaylistAppendDialog showing when no local playlists exist
2020-10-23 10:08:20 +02:00
Tobias Groza
f05ae2de35 Merge pull request #4606 from TeamNewPipe/refine_issue_templates
Refined instructions in the issue templates
2020-10-23 09:59:13 +02:00
opusforlife2
cf9da556a8 Refined instructions for feature request template 2020-10-23 07:55:31 +00:00
vkay94
32a142bf79 Fix PlaylistAppendDialog: Renamed method and replaced with Runnable 2020-10-23 09:44:26 +02:00
vkay94
2680d41a3d Fix PlaylistAppendDialog showing when no local playlists exist 2020-10-23 09:44:26 +02:00
opusforlife2
1550fc4398 Refined instructions for bug report template 2020-10-23 07:32:04 +00:00
Weblate
f2a85f3b7e Added translation using Weblate (Santali) 2020-10-22 20:40:29 +02:00
Milo Ivir
49c2b4c196 Translated using Weblate (Croatian)
Currently translated at 5.7% (2 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hr/
2020-10-22 20:34:47 +02:00
Digiwizkid
a8281e174e Translated using Weblate (Bengali (India))
Currently translated at 58.8% (353 of 600 strings)
2020-10-22 20:34:47 +02:00
Shiv
d7f5c8bd55 Translated using Weblate (Hindi)
Currently translated at 78.6% (472 of 600 strings)
2020-10-22 20:34:46 +02:00
Rishi Dutt Shukla
b3337df88b Translated using Weblate (Hindi)
Currently translated at 78.6% (472 of 600 strings)
2020-10-22 20:34:46 +02:00
Yaron Shahrabani
d760616e55 Translated using Weblate (Hebrew)
Currently translated at 100.0% (600 of 600 strings)
2020-10-22 20:34:46 +02:00
Jeff Huang
914a4d32b4 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (600 of 600 strings)
2020-10-22 20:34:46 +02:00
David Braz
148f53e21e Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.8% (599 of 600 strings)
2020-10-22 20:34:45 +02:00
Vojtěch Šamla
5e7fa0f964 Translated using Weblate (Czech)
Currently translated at 100.0% (600 of 600 strings)
2020-10-22 20:34:45 +02:00
Vibo Lavida
0973ceb9d2 Translated using Weblate (Spanish)
Currently translated at 100.0% (600 of 600 strings)
2020-10-22 20:34:45 +02:00
bopol
5214bfe8cb Merge pull request #4554 from mitosagi/translate-numbers
Translates shortened notation of numbers
2020-10-22 19:05:53 +02:00
Isira Seneviratne
187aaafddc Use TextViewCompat.setCompoundDrawablesRelativeWithIntrinsicBounds(). 2020-10-22 06:01:49 +05:30
opusforlife2
208cb405ca Merge pull request #4559 from TeamNewPipe/remove_coming_features
Removed "Coming features" because why??
2020-10-19 04:35:53 +00:00
opusforlife2
9b9d267cd4 Merge pull request #4553 from TacoTheDank/about-viewpager2
Migrate AboutActivity to ViewPager2
2020-10-18 10:12:20 +00:00
opusforlife2
6f90a27f9f Removed "Coming features" because why?? 2020-10-18 10:09:45 +00:00
Stypox
4e1dddc06d Merge pull request #4557 from Isira-Seneviratne/Use_multidex_for_all_build_types
Use multidex for all build types.
2020-10-18 12:09:42 +02:00
Hakim Oubouali
1f504d6f23 Translated using Weblate (Central Atlas Tamazight)
Currently translated at 28.6% (172 of 600 strings)
2020-10-18 11:29:15 +02:00
Hakim Oubouali
2db1fd813f Translated using Weblate (Berber)
Currently translated at 23.6% (142 of 600 strings)
2020-10-18 11:29:11 +02:00
Sérgio Marques
f39383a3d8 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (600 of 600 strings)
2020-10-18 11:29:08 +02:00
Ajeje Brazorf
b593bdbf1b Translated using Weblate (Sardinian)
Currently translated at 99.8% (599 of 600 strings)
2020-10-18 11:29:07 +02:00
PPNplus
4de93ba3c0 Translated using Weblate (Thai)
Currently translated at 47.0% (282 of 600 strings)
2020-10-18 11:29:07 +02:00
Azizov Aga
2eb7a91987 Translated using Weblate (Azerbaijani)
Currently translated at 22.3% (134 of 600 strings)
2020-10-18 11:29:06 +02:00
Garden Hose
94e4264c2a Translated using Weblate (Croatian)
Currently translated at 87.1% (523 of 600 strings)
2020-10-18 11:29:05 +02:00
Eric
e54d28f157 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (600 of 600 strings)
2020-10-18 11:29:05 +02:00
Ali Demirtas
6111c8bde0 Translated using Weblate (Turkish)
Currently translated at 100.0% (600 of 600 strings)
2020-10-18 11:29:04 +02:00
zmni
3bacdfd4fc Translated using Weblate (Indonesian)
Currently translated at 100.0% (600 of 600 strings)
2020-10-18 11:29:03 +02:00
Hakim Oubouali
65db645ff9 Translated using Weblate (Arabic)
Currently translated at 100.0% (600 of 600 strings)
2020-10-18 11:29:02 +02:00
random r
de2e2c45a5 Translated using Weblate (Italian)
Currently translated at 100.0% (600 of 600 strings)
2020-10-18 11:29:02 +02:00
Mitosagi
9b655e18e3 Translated using Weblate (Japanese)
Currently translated at 99.8% (599 of 600 strings)
2020-10-18 11:29:02 +02:00
Nikita Epifanov
fb4b9b5f76 Translated using Weblate (Russian)
Currently translated at 100.0% (600 of 600 strings)
2020-10-18 11:29:02 +02:00
Ali Demirtas
820b39840a Translated using Weblate (English)
Currently translated at 100.0% (600 of 600 strings)
2020-10-18 11:29:01 +02:00
mabroukb
4b1052eb70 Translated using Weblate (French)
Currently translated at 99.6% (598 of 600 strings)
2020-10-18 11:29:01 +02:00
nautilusx
c0eb3972a7 Translated using Weblate (German)
Currently translated at 100.0% (600 of 600 strings)
2020-10-18 11:29:01 +02:00
Isira Seneviratne
66ba8d56b7 Use multidex for all build types. 2020-10-18 14:14:27 +05:30
Stypox
a73baf32f1 Merge pull request #4547 from Isira-Seneviratne/Use_Core_KTX_functions
Use Core KTX functions.
2020-10-18 09:39:28 +02:00
Tobias Groza
333cf0a2f0 Merge pull request #4550 from Stypox/no-drag-thumbnails
Don't rearrange lists by dragging the thumbnails
2020-10-18 09:00:56 +02:00
mitosagi
8347d8700a Translate the numeric notation 2020-10-18 11:01:06 +09:00
TacoTheDank
09af0e2448 Migrate AboutActivity to viewpager2 2020-10-17 19:15:10 -04:00
Tobias Groza
001914764a Merge pull request #4530 from TeamNewPipe/weblate-widget
Add Weblate widget to README
2020-10-17 17:08:35 +02:00
Stypox
6938dd6267 Add Weblate widget to README 2020-10-17 16:41:39 +02:00
Stypox
941028ba6f Don't rearrange lists by dragging the thumbnails 2020-10-17 16:25:06 +02:00
Stypox
4ca7ed9f8c Fix IllegalStateException after onSaveInstanceState 2020-10-17 16:13:42 +02:00
Isira Seneviratne
03d99887c5 Use TextView.doOnTextChanged() extension. 2020-10-17 19:22:13 +05:30
Isira Seneviratne
293e2ff5e3 Use isVisible and isGone extensions for View. 2020-10-17 15:54:35 +05:30
Isira Seneviratne
55d242fa08 Use bundleOf(). 2020-10-17 15:38:45 +05:30
TobiGr
7e9fba2d96 Merge branch 'master' into dev 2020-10-16 22:33:58 +02:00
Tobias Groza
3c5ed2c885 Merge pull request #4453 from wb9688/clear-cookies
Add button in settings to clear reCAPTCHA cookies
2020-10-16 17:25:19 +02:00
Tobias Groza
c4af93c363 Merge pull request #4528 from TeamNewPipe/local-extractor
Add info on how to use a local NewPipe Extractor version
2020-10-16 17:24:35 +02:00
Sérgio Marques
e2685c4503 Translated using Weblate (Portuguese)
Currently translated at 100.0% (600 of 600 strings)
2020-10-16 16:55:13 +02:00
TobiGr
48b1d3fff8 Add info to build.gradle and settings.gradle on how to use a local
NewPipe extractor version.
2020-10-16 13:27:09 +02:00
Tobias Groza
6c4920949d Merge pull request #4517 from wb9688/disable-ktlint
Disable Ktlint for now
2020-10-15 17:54:48 +02:00
wb9688
69447b75af Disable Ktlint for now 2020-10-15 14:38:59 +02:00
Allan Nordhøy
e1104570a9 Pull request template reworked (#4317)
Co-authored-by: opusforlife2 <53176348+opusforlife2@users.noreply.github.com>
2020-10-14 21:30:30 +02:00
wb9688
2c23678fb9 Add button in settings to clear reCAPTCHA cookies 2020-10-14 14:39:08 +02:00
Tobias Groza
613070d39f Merge pull request #4471 from wb9688/format-xml
Format all XML resources
2020-10-14 13:36:32 +02:00
wb9688
6deae64f45 Delete old player notification layouts 2020-10-14 11:04:49 +02:00
wb9688
aced2b124c Format all XML resources 2020-10-14 11:04:48 +02:00
Hakim Oubouali
e6b08de2e8 Translated using Weblate (Central Atlas Tamazight)
Currently translated at 8.1% (49 of 600 strings)
2020-10-13 11:26:57 +02:00
random r
d2d02d0749 Translated using Weblate (Italian)
Currently translated at 11.4% (4 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
2020-10-13 11:26:57 +02:00
MohammedSR Vevo
28d27801b2 Translated using Weblate (Kurdish)
Currently translated at 99.3% (596 of 600 strings)
2020-10-13 11:26:56 +02:00
Hakim Oubouali
be340dd275 Translated using Weblate (Central Atlas Tamazight)
Currently translated at 8.0% (48 of 600 strings)
2020-10-12 11:27:02 +02:00
TobiGr
58090fb3de Translated using Weblate (German)
Currently translated at 100.0% (600 of 600 strings)
2020-10-12 11:27:01 +02:00
Stypox
ae33c6cf18 Merge pull request #4476 from vkay94/two-finger-to-close-player
Two finger to close player gesture
2020-10-11 14:51:45 +02:00
vkay94
f8cd6afbf8 Two finger gesture: Less code lines 2020-10-11 13:56:30 +02:00
Tobias Groza
6fce06906d Merge pull request #4354 from Stypox/restriction-strings
Improve age restriction and yt restricted content strings
2020-10-11 12:14:13 +02:00
Stypox
84694a8bbd Improve age restriction and yt restricted content strings 2020-10-11 12:06:36 +02:00
chr56
1639e68424 Translated using Weblate (Chinese (Simplified))
Currently translated at 62.8% (22 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
2020-10-11 11:25:51 +02:00
sivemortenfan
ff48fe8b49 Translated using Weblate (Malayalam)
Currently translated at 2.8% (1 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ml/
2020-10-11 11:25:50 +02:00
Milo Ivir
efe06267ec Translated using Weblate (Croatian)
Currently translated at 2.8% (1 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hr/
2020-10-11 11:25:50 +02:00
Milo Ivir
53647ea5a8 Translated using Weblate (Croatian)
Currently translated at 86.8% (521 of 600 strings)
2020-10-11 11:25:50 +02:00
C. Rüdinger
7742de5af4 Translated using Weblate (German)
Currently translated at 100.0% (600 of 600 strings)
2020-10-11 11:25:49 +02:00
Stypox
724a260f71 Merge pull request #4413 from Stypox/delete-stream-state
Also delete stream state when deleting stream history
2020-10-10 22:29:33 +02:00
Stypox
cf75e40332 Merge pull request #4463 from opusforlife2/confirm_queue_delete_one_track
Ask for confirmation before clearing queue even if only 1 video in it
2020-10-10 22:01:55 +02:00
Stypox
3c67df263c Merge pull request #4276 from Isira-Seneviratne/Use_ContextCompat_methods
Use ContextCompat methods.
2020-10-10 21:51:34 +02:00
Stypox
c4ae72c3c1 Merge pull request #4450 from wb9688/fix-release-debug-settings
Fix compiling release build
2020-10-10 21:14:39 +02:00
vkay94
f6925fc5b8 Added two finger to close player gesture 2020-10-10 15:00:39 +02:00
Eric
18be9655d6 Translated using Weblate (Chinese (Simplified))
Currently translated at 62.8% (22 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
2020-10-10 11:26:15 +02:00
S
6235b6123e Translated using Weblate (German)
Currently translated at 14.2% (5 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
2020-10-10 11:26:13 +02:00
opusforlife2
b3555385e6 Ask for confirmation before clearing queue...
Even when there is only one video in it.
2020-10-09 14:46:42 +00:00
Hakim Oubouali
c9fbdb322b Translated using Weblate (Central Atlas Tamazight)
Currently translated at 7.6% (46 of 600 strings)
2020-10-09 11:26:02 +02:00
Mostafa Ahangarha
94bac7d8db Translated using Weblate (Persian)
Currently translated at 14.2% (5 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fa/
2020-10-09 11:26:01 +02:00
Thien Bui
f38119be96 Translated using Weblate (Vietnamese)
Currently translated at 11.4% (4 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/vi/
2020-10-09 11:26:01 +02:00
zeritti
bc1d2ba839 Translated using Weblate (Czech)
Currently translated at 5.7% (2 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/cs/
2020-10-09 11:26:00 +02:00
Nikita Epifanov
18f5b70b1f Translated using Weblate (Russian)
Currently translated at 5.7% (2 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ru/
2020-10-09 11:26:00 +02:00
Ajeje Brazorf
7df9b07305 Translated using Weblate (Sardinian)
Currently translated at 100.0% (600 of 600 strings)
2020-10-09 11:26:00 +02:00
Stjepan
cf01c1fd1f Translated using Weblate (Croatian)
Currently translated at 86.3% (518 of 600 strings)
2020-10-09 11:25:59 +02:00
Thien Bui
2ce6fe420b Translated using Weblate (Vietnamese)
Currently translated at 100.0% (600 of 600 strings)
2020-10-09 11:25:58 +02:00
Isira Seneviratne
f55381d689 Combine initNotificationChannel() and setUpUpdateNotificationChannel() into a single method. 2020-10-09 08:52:05 +05:30
Isira Seneviratne
c4084c4f97 Use ContextCompat.startForegroundService(). 2020-10-09 08:52:05 +05:30
Isira Seneviratne
58b720b004 Use ContextCompat.getSystemService() and the Context.getSystemService() extension function. 2020-10-09 08:52:05 +05:30
wb9688
f6d0c1f05e Fix compiling release build 2020-10-08 18:36:20 +02:00
Stypox
f4620be859 Merge pull request #4431 from opusforlife2/checkbox_example
Added an example of how to use Markdown checkbox
2020-10-08 16:02:04 +02:00
Hakim Oubouali
e2b3a98690 Translated using Weblate (Central Atlas Tamazight)
Currently translated at 6.3% (38 of 600 strings)
2020-10-08 11:25:19 +02:00
postsorino
4cd391d5ef Translated using Weblate (Greek)
Currently translated at 93.8% (563 of 600 strings)
2020-10-08 11:25:18 +02:00
Weblate
01c37c34dd Added translation using Weblate (Central Atlas Tamazight) 2020-10-08 10:37:37 +02:00
Stjepan
f4827cde0e Translated using Weblate (Croatian)
Currently translated at 85.1% (511 of 600 strings)
2020-10-07 16:11:05 +02:00
Stjepan
3e722295b0 Translated using Weblate (Croatian)
Currently translated at 83.0% (498 of 600 strings)
2020-10-07 15:11:13 +02:00
zmni
0d2eab3ad4 Translated using Weblate (Indonesian)
Currently translated at 5.7% (2 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/id/
2020-10-07 13:55:09 +02:00
Stypox
9e1bc631cf Merge pull request #4436 from wb9688/hide-leaks
Hide Leaks launcher icon
2020-10-07 13:26:12 +02:00
wb9688
ca9fbe2f11 Hide Leaks launcher icon 2020-10-07 12:56:22 +02:00
opusforlife2
2e28fad102 Added checkbox example 2020-10-07 07:40:55 +00:00
opusforlife2
69760200dd Added checkbox example 2020-10-07 07:39:49 +00:00
Mario Rossi
f945ee1288 Translated using Weblate (Neapolitan)
Currently translated at 5.6% (34 of 600 strings)
2020-10-07 09:24:11 +02:00
Eric
5e3486c481 Translated using Weblate (Chinese (Simplified))
Currently translated at 60.0% (21 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
2020-10-07 09:24:11 +02:00
Jeff Huang
c15a943cf4 Translated using Weblate (Chinese (Traditional))
Currently translated at 62.8% (22 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/
2020-10-07 09:24:10 +02:00
Ortinomax
b8cb29c66c Translated using Weblate (French)
Currently translated at 14.2% (5 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
2020-10-07 09:24:09 +02:00
Oğuz Ersen
003badcb5a Translated using Weblate (Turkish)
Currently translated at 5.7% (2 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/tr/
2020-10-07 09:24:08 +02:00
Eric
5b2493fa68 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (600 of 600 strings)
2020-10-07 09:24:08 +02:00
Stypox
bc342b9b33 Merge pull request #4367 from panoreak/remove-remember-popup-properties
Removed remember popup properties setting
2020-10-07 07:01:56 +02:00
Panorea
314615bfef Removed remember popup properties setting 2020-10-06 18:32:20 -04:00
Stypox
44e82217c1 Merge pull request #4425 from vkay94/enqueue-stream
Replace specific enqueue options with one
2020-10-06 22:37:19 +02:00
vkay94
cbf364f24f Enqueue: Renamed string resource 2020-10-06 21:17:52 +02:00
Weblate
44dfcb927b Added translation using Weblate (Neapolitan) 2020-10-06 20:36:17 +02:00
vkay94
12f615c6da Enqueue: Removed unneeded dialog-entries and strings + adjustments 2020-10-06 17:22:12 +02:00
vkay94
ed6fc4d848 Enqueue: Replaced specific StreamDialogEntry items with one
The enqueue options won't be shown in the dialogs if the Player service is not running. When it's running one item (enqueue stream) will be shown and enqueues the item into the Player type which is currently selected.
2020-10-06 14:38:48 +02:00
vkay94
cd515993f5 Enqueue: Add auto-select StreamDialogEntry for current PlayerType 2020-10-06 13:33:44 +02:00
Tobias Groza
a918eaac3f Add device info fields to bug report template (#4415) 2020-10-05 19:38:30 +02:00
Tobias Groza
9f63e2d39a Merge pull request #4410 from Stypox/notification-fixes
Notification fixes
2020-10-05 19:08:26 +02:00
Stypox
36248ff046 Also delete stream state when deleting stream history 2020-10-05 17:47:48 +02:00
Stypox
a88f5113e0 Hide player notification "when" time
It is useless to see how much time ago a player notification was created
2020-10-05 15:57:14 +02:00
Stypox
06fb89fae2 Fix crash on fast forward 2020-10-05 15:55:10 +02:00
RainSlide
733531356f Translated using Weblate (Chinese (Simplified))
Currently translated at 42.8% (15 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
2020-10-05 15:44:24 +02:00
Marian Hanzel
3f8fb30066 Translated using Weblate (Slovak)
Currently translated at 2.8% (1 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sk/
2020-10-05 15:44:23 +02:00
WaldiS
1a4a2d2b30 Translated using Weblate (Polish)
Currently translated at 31.4% (11 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
2020-10-05 15:44:22 +02:00
David Braz
eb6d3b3f8d Translated using Weblate (Portuguese (Brazil))
Currently translated at 14.2% (5 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_BR/
2020-10-05 15:44:22 +02:00
San Kang
e8e3363d06 Translated using Weblate (Korean)
Currently translated at 84.0% (504 of 600 strings)
2020-10-05 15:44:21 +02:00
Tobias Groza
dd55ad61f4 Merge pull request #4338 from Isira-Seneviratne/Use_DisplayCutoutCompat
Use DisplayCutoutCompat in VideoPlayerImpl.
2020-10-05 08:33:41 +02:00
Guillaume Démurgé
2464bfd70b Translated using Weblate (French)
Currently translated at 11.4% (4 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
2020-10-04 22:01:35 +02:00
JoC
09bc36bb13 Translated using Weblate (Spanish)
Currently translated at 14.2% (5 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/es/
2020-10-04 22:01:34 +02:00
thami simo
39da89b556 Translated using Weblate (Arabic)
Currently translated at 20.0% (7 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ar/
2020-10-04 22:01:34 +02:00
thami simo
c23de4b3b0 Translated using Weblate (Arabic)
Currently translated at 100.0% (600 of 600 strings)
2020-10-04 22:01:33 +02:00
Mohammed Anas
7c79d7f5d7 Translated using Weblate (Arabic)
Currently translated at 100.0% (600 of 600 strings)
2020-10-04 20:52:43 +02:00
thami simo
710507da51 Translated using Weblate (Arabic)
Currently translated at 100.0% (600 of 600 strings)
2020-10-04 20:52:42 +02:00
Tobias Groza
10e95bf1b1 Merge pull request #4379 from opusforlife2/update_FR_template
Add check boxes to Feature Request template
2020-10-04 15:55:40 +02:00
Tobias Groza
66a893c84e Merge pull request #4378 from opusforlife2/update_issue_template
Replace long comments with check boxes in the Bug Report template
2020-10-04 15:55:22 +02:00
Stypox
dd6392e380 Replace per with for every 2020-10-04 15:47:20 +02:00
opusforlife2
b8f7ba62c7 Use @Stypox 's suggestion
Co-authored-by: Stypox <stypox@pm.me>
2020-10-04 12:30:44 +00:00
opusforlife2
25b318ba00 Add check boxes
People seem to ignore instructions in comments
2020-10-04 12:24:56 +00:00
opusforlife2
9add51b59d Add checkboxes instead of long comments
People just seemed to ignore them.
2020-10-04 12:03:14 +00:00
Isira Seneviratne
63d54e6570 Use DisplayCutoutCompat in VideoPlayerImpl. 2020-10-04 05:44:13 +05:30
1319 changed files with 32438 additions and 22397 deletions

View File

@@ -1,65 +1,46 @@
NewPipe contribution guidelines
===============================
PLEASE READ THESE GUIDELINES CAREFULLY BEFORE ANY CONTRIBUTION!
## Crash reporting
Do not report crashes in the GitHub issue tracker. NewPipe has an automated crash report system that will ask you to
send a report via e-mail when a crash occurs. This contains all the data we need for debugging, and allows you to even
add a comment to it. You'll see exactly what is sent, the system is 100% transparent.
Report crashes through the automated crash report system of NewPipe.
This way all the data needed for debugging is included in your bugreport for GitHub.
You'll see exactly what is sent, be able to add your comments, and then send it.
## Issue reporting/feature requests
* Search the [existing issues](https://github.com/TeamNewPipe/NewPipe/issues) first to make sure your issue/feature
hasn't been reported/requested before.
* Check whether your issue/feature is already fixed/implemented.
* Check if the issue still exists in the latest release/beta version.
* If you are an Android/Java developer, you are always welcome to fix an issue or implement a feature yourself. PRs welcome!
* We use English for development. Issues in other languages will be closed and ignored.
* Please only add *one* issue at a time. Do not put multiple issues into one thread.
* Follow the template! Issues or feature requests not matching the template might be closed.
* **Already reported**? Browse the [existing issues](https://github.com/TeamNewPipe/NewPipe/issues) to make sure your issue/feature hasn't been reported/requested.
* **Already fixed**? Check whether your issue/feature is already fixed/implemented.
* **Still relevant**? Check if the issue still exists in the latest release/beta version.
* **Can you fix it**? If you are an Android/Java developer, you are always welcome to fix an issue or implement a feature yourself. PRs welcome! See [Code contribution](#code-contribution) for more info.
* **Is it in English**? Issues in other languages will be ignored unless someone translates them.
* **Is it one issue**? Multiple issues require multiple reports, that can be linked to track their statuses.
* **The template**: Fill it out, everyone wins. Your issue has a chance of getting fixed.
## Bug Fixing
* If you want to help NewPipe to become free of bugs (this is our utopic goal for NewPipe), you can send us an email to
<a href="mailto:tnp@newpipe.schabi.org">tnp@newpipe.schabi.org</a> to let us know that you intend to help. We'll send you further instructions. You may, on request,
register at our [Sentry](https://sentry.schabi.org) instance (see section "Crash reporting" for more information).
## Translation
* NewPipe is translated via [Weblate](https://hosted.weblate.org/projects/newpipe/strings/). You can log in there
with your GitHub account.
* If the language you want to translate is not on Weblate, you can add it: see [How to add a new language](https://github.com/TeamNewPipe/NewPipe/wiki/How-to-add-a-new-language-to-NewPipe) in the wiki.
* NewPipe is translated via [Weblate](https://hosted.weblate.org/projects/newpipe/strings/). Log in there with your GitHub account, or register.
* Add the language you want to translate if it is not there already: see [How to add a new language](https://github.com/TeamNewPipe/NewPipe/wiki/How-to-add-a-new-language-to-NewPipe) in the wiki.
## Code contribution
* If you want to add a feature or change one, please open an issue describing your change. This gives the team and community a chance to give feedback before you spend any time on something that could be done differently or not done at all. It also prevents two contributors from working on the same thing and one being disappointed when only one user's code can be added.
* Stick to NewPipe's style conventions: follow [checkStyle](https://github.com/checkstyle/checkstyle). It will run each time you build the project.
* Do not bring non-free software (e.g. binary blobs) into the project. Also, make sure you do not introduce Google
* If you want to help out with an existing bug report or feature request, leave a comment on that issue saying you want to try your hand at it.
* If there is no existing issue for what you want to work on, open a new one describing your changes. This gives the team and the community a chance to give feedback before you spend time on something that is already in development, should be done differently, or should be avoided completely.
* Stick to NewPipe's style conventions of [checkStyle](https://github.com/checkstyle/checkstyle). It runs each time you build the project.
* Do not bring non-free software (e.g. binary blobs) into the project. Make sure you do not introduce Google
libraries.
* Stick to [F-Droid contribution guidelines](https://f-droid.org/wiki/page/Inclusion_Policy).
* Make changes on a separate branch with a meaningful name, not on the master neither dev branch. This is commonly known as *feature branch workflow*. You
may then send your changes as a pull request (PR) on GitHub.
* When submitting changes, you confirm that your code is licensed under the terms of the
[GNU General Public License v3](https://www.gnu.org/licenses/gpl-3.0.html).
* Please test (compile and run) your code before you submit changes! Ideally, provide test feedback in the PR
description. Untested code will **not** be merged!
* Make changes on a separate branch with a meaningful name, not on the _master_ branch or the _dev_ branch. This is commonly known as *feature branch workflow*. You may then send your changes as a pull request (PR) on GitHub.
* Please test (compile and run) your code before submitting changes! Ideally, provide test feedback in the PR description. Untested code will **not** be merged!
* Make sure your PR is up-to-date with the rest of the code. Often, a simple click on "Update branch" will do the job, but if not, you must rebase the dev branch manually and resolve the problems on your own. You can find help [on the wiki](https://github.com/TeamNewPipe/NewPipe/wiki/How-to-merge-a-PR). That makes the maintainers' jobs way easier.
* Please show intention to maintain your features and code after you contribute a PR. Unmaintained code is a hassle for core developers. If you do not intend to maintain features you plan to contribute, please rethink your submission, or clearly state that in the PR description.
* Respond if someone requests changes or otherwise raises issues about your PRs.
* Send PRs that only cover one specific issue/solution/bug. Do not send PRs that are huge and consist of multiple independent solutions.
* Try to figure out yourself why builds on our CI fail.
* Make sure your PR is up-to-date with the rest of the code. Often, a simple click on "Update branch" will do the job,
but if not, you are asked to rebase the dev branch manually and resolve the problems on your own. You can find help [on the wiki](https://github.com/TeamNewPipe/NewPipe/wiki/How-to-merge-a-PR). That will make the
maintainers' jobs way easier.
* Please show intention to maintain your features and code after you contributed it. Unmaintained code is a hassle for
the core developers, and just adds work. If you do not intend to maintain features you contributed, please think again
about submission, or clearly state that in the description of your PR.
* Respond yourselves if someone requests changes or otherwise raises issues about your PRs.
* Send PR that only cover one specific issue/solution/bug. Do not send PRs that are huge and consists of multiple
independent solutions.
## Communication
* There is an IRC channel on Freenode which is regularly visited by the core team and other developers:
[#newpipe](irc:irc.freenode.net/newpipe). [Click here for Webchat](https://webchat.freenode.net/?channels=newpipe)!
* If you want to get in touch with the core team or one of our other contributors you can send an email to
<a href="mailto:tnp@newpipe.schabi.org">tnp@newpipe.schabi.org</a>. Please do not send issue reports, they will be ignored and remain unanswered! Use the GitHub issue
tracker described above!
* Feel free to post suggestions, changes, ideas etc. on GitHub or IRC!
* The [#newpipe](irc:irc.freenode.net/newpipe) channel on freenode has the core team and other developers in it. [Click here for webchat](https://webchat.freenode.net/?channels=newpipe)!
* You can also use a Matrix account to join the Newpipe channel at [#freenode_#newpipe:matrix.org](https://matrix.to/#/#freenode_#newpipe:matrix.org).
* Post suggestions, changes, ideas etc. on GitHub or IRC.

View File

@@ -7,20 +7,20 @@ assignees: ''
---
<!--
Oh no, a bug! It happens. Thanks for reporting an issue with NewPipe. If this is your first bug report, read the following information before proceeding:
Please note, we only support the latest version of NewPipe. In order to check your app version, open the left drawer and click on "About". If you don't have the latest version, upgrade to it and reproduce the problem before opening the issue. The release page (https://github.com/TeamNewPipe/NewPipe/releases/latest) is where you can get it.
P.S.: Our contribution guidelines might be a nice document to read before you fill out the report :) You can find it at https://github.com/TeamNewPipe/NewPipe/blob/HEAD/.github/CONTRIBUTING.md
To make it easier for us to help you please enter detailed information in the template we have provided below. If a section isn't relevant, just delete it, though it would be helpful to still provide as much detail as possible.
Oh no, a bug! It happens. Thanks for reporting an issue with NewPipe. To make it easier for us to help you please enter detailed information in the template we have provided below. If a section isn't relevant, just delete it, though it would be helpful to still provide as much detail as possible.
-->
<!-- The comments between these brackets won't show up in the submitted issue (as you can see in the preview). -->
<!-- IF YOU DON'T FILL IN THE TEMPLATE PROPERLY, YOUR ISSUE IS LIABLE TO BE CLOSED. If you feel tired/lazy right now, open your issue some other time. We'll wait. -->
### Version
<!-- Which version are you using? Hopefully the latest! We just told you that above! -->
-
<!-- The comments between these brackets won't show up in the submitted issue (as you can see in the Preview). -->
### Checklist
<!-- This checklist is COMPULSORY. The first box has been checked for you to show you how it is done. -->
- [x] I am using the latest version - x.xx.x <!-- Check https://github.com/TeamNewPipe/NewPipe/releases -->
- [ ] I checked, but didn't find any duplicates (open OR closed) of this issue in the repo. <!-- Seriously, check. O_O -->
- [ ] I have read the contribution guidelines given at https://github.com/TeamNewPipe/NewPipe/blob/HEAD/.github/CONTRIBUTING.md.
- [ ] This issue contains only one bug. I will open one issue for every bug report I want to file.
### Steps to reproduce the bug
<!--
@@ -31,16 +31,35 @@ To make it easier for us to help you please enter detailed information in the te
<!-- If you can't cause the bug to show up again reliably (and hence don't have a proper set of steps to give us), please still try to give as many details as possible on how you think you encountered the bug. -->
### Actual behaviour
<!-- Tell us what happens with the steps given above. -->
### Expected behavior
<!-- Tell us what you expect to happen. -->
### Actual behaviour
<!-- Tell us what happens instead. -->
### Screenshots/Screen recordings
<!-- If applicable, add screenshots or a screen recording to help explain your problem. GitHub supports uploading them directly in the issue text box. If your file is too big for Github to accept, feel free to paste a link from an image/video hoster here instead. -->
<!-- DON'T POST SCREENSHOTS OF THE ERROR PAGE. Use the buttons given on the error page to paste the error as text in the Logs section below. -->
### Logs
<!-- If your bug includes a crash (where you're shown the Error Report page with a bunch of info), copy it to the clipboard (there is a share button for this), head over to our bug report to markdown converter at https://teamnewpipe.github.io/CrashReportToMarkdown/ and paste it. Copy the converted text (it is MUCH easier to read this way) from there and paste it here: -->
<!-- If your bug includes a crash (where you're shown the Error Report page with a bunch of info), tap on "Copy formatted report" at the bottom and paste it here: -->
<!-- That's right, here! -->
<!-- Please fill this out when you do not provide a log generate by NewPipe -->
### Device info
- Android version/Custom ROM version:
- Device model:

8
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: 💬 IRC
url: https://webchat.freenode.net/#newpipe
about: Chat with us via IRC for quick Q/A
- name: 💬 Matrix
url: https://matrix.to/#/#freenode_#newpipe:matrix.org
about: Chat with us via Matrix for quick Q/A

View File

@@ -5,35 +5,42 @@ labels: enhancement
assignees: ''
---
<!-- Hey. Our contribution guidelines (https://github.com/TeamNewPipe/NewPipe/blob/HEAD/.github/CONTRIBUTING.md) might be an appropriate
document to read before you fill out the request :) -->
<!-- IF YOU DON'T FILL IN THE TEMPLATE PROPERLY, YOUR ISSUE IS LIABLE TO BE CLOSED. If you feel tired/lazy right now, open your issue some other time. We'll wait. -->
<!-- The comments between these brackets won't show up in the submitted issue (as you can see in the Preview). -->
### Checklist
<!-- This checklist is COMPULSORY. The first box has been checked for you to show you how it is done. -->
- [x] I checked, but didn't find any duplicates (open OR closed) of this issue in the repo. <!-- Seriously, check. O_O -->
- [ ] I have read the contribution guidelines given at https://github.com/TeamNewPipe/NewPipe/blob/HEAD/.github/CONTRIBUTING.md.
- [ ] This issue contains only one feature request. I will open one issue for every feature I want to request.
<!-- The comments between these brackets won't show up in the submitted issue (as you can see in the preview). -->
#### Describe the feature you want
<!-- A clear and concise description of what you want to happen. PLEASE MAKE SURE it is one feature ONLY. You should open separate issues for separate feature requests, because those issues will be used to track their status.
<!-- A clear and concise description of what you wish should happen.
Example: *I think it would be nice if you add feature Y which makes X possible.*
Optionally, also describe alternatives you've considered.
Example: *Z is also a good alternative. Not as good as Y, but at least...* or *I considered Z, but that didn't turn out to be a good idea because...* -->
<!-- Write below this -->
#### Is your feature request related to a problem? Please describe it
<!-- A clear and concise description of what the problem is. Maybe the developers could brainstorm and come up with a better solution to your problem. If they exist, link to related Issues and/or PRs for developers to keep track easier.
<!-- A clear and concise description of what the problem is. Maybe the developers and the community could brainstorm and come up with a better solution to your problem. If they exist, link to related Issues and/or PRs for developers to keep track easier.
Example: *I want to do X, but there is no way to do it.* -->
<!-- Write below this -->
#### Additional context
<!-- Add any other context, like screenshots, about the feature request here.
Example: *Here's a photo of my cat!* -->
<!-- Write below this -->
#### How will you/everyone benefit from this feature?
<!-- Convince us! How does it change your NewPipe experience and/or your life?
The better this paragraph is, the more likely a developer will think about working on it.
Example: *This feature will help us colonize the galaxy! -->
<!-- Write below this -->

View File

@@ -1,28 +1,29 @@
<!-- Hey there. Thank you so much for improving NewPipe. Please take a moment to fill out the following suggestion on how to structure this PR description. Having roughly the same layout helps everyone considerably :)-->
<!-- Hey there. Thank you so much for improving NewPipe, and filling out the details. Having roughly the same layout helps everyone considerably :)-->
#### What is it?
- [ ] Bug fix (user facing)
- [ ] Bugfix (user facing)
- [ ] Feature (user facing)
- [ ] Code base improvement (dev facing)
- [ ] Codebase improvement (dev facing)
- [ ] Meta improvement to the project (dev facing)
#### Description of the changes in your PR
<!-- While bullet points are the norm in this section, feel free to write a text instead if you can't fit it in a list -->
<!-- While bullet points are the norm in this section, feel free to write free-form text instead of a list -->
- record videos
- create clones
- take over the world
#### Fixes the following issue(s)
<!-- Also add reddit or other links which are relevant to your change. -->
<!-- Also add any other links relevant to your change. -->
-
#### Relies on the following changes
<!-- Delete this if it doesn't apply to you. -->
-
#### Testing apk
<!-- Ensure that you have your changes on a new branch which has a meaningful name. This name will be used as a suffix for the app ID to allow installing and testing multiple versions of NewPipe. Do NOT name your branches like "patch-0" and "feature-1". For example, if your PR implements a bug fix for comments, an appropriate branch name would be "commentfix". -->
debug.zip
#### APK testing
<!-- Use a new, meaningfully named branch. The name is used as a suffix for the app ID to allow installing and testing multiple versions of NewPipe, e.g. "commentfix", if your PR implements a bugfix for comments. (No names like "patch-0" and "feature-1".) -->
<!-- Remove the following line if you directly link the APK created by the CI pipeline. Directly linking is preferred if you need to let users test.-->
On the website the APK can be found by going to the "Checks" tab below the title and then on "artifacts" on the right.
#### Agreement
- [ ] I carefully read the [contribution guidelines](https://github.com/TeamNewPipe/NewPipe/blob/HEAD/.github/CONTRIBUTING.md) and agree to them.
#### Due diligence
- [ ] I read the [contribution guidelines](https://github.com/TeamNewPipe/NewPipe/blob/HEAD/.github/CONTRIBUTING.md).

73
.github/workflows/ci.yml vendored Normal file
View File

@@ -0,0 +1,73 @@
name: CI
on:
pull_request:
branches:
- dev
push:
branches:
- dev
- master
jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: create and checkout branch
# push events already checked out the branch
if: github.event_name == 'pull_request'
run: git checkout -B ${{ github.head_ref }}
- name: set up JDK 1.8
uses: actions/setup-java@v1.4.3
with:
java-version: 1.8
- name: Cache Gradle dependencies
uses: actions/cache@v2
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
restore-keys: ${{ runner.os }}-gradle
- name: Build debug APK and run Tests
run: ./gradlew assembleDebug lintDebug testDebugUnitTest --stacktrace
- name: Upload APK
uses: actions/upload-artifact@v2
with:
name: app
path: app/build/outputs/apk/debug/*.apk
# sonar:
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v2
# with:
# fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
# - name: Set up JDK 11
# uses: actions/setup-java@v1.4.3
# with:
# java-version: 11 # Sonar requires JDK 11
# - name: Cache SonarCloud packages
# uses: actions/cache@v2
# with:
# path: ~/.sonar/cache
# key: ${{ runner.os }}-sonar
# restore-keys: ${{ runner.os }}-sonar
# - name: Cache Gradle packages
# uses: actions/cache@v2
# with:
# path: ~/.gradle/caches
# key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
# restore-keys: ${{ runner.os }}-gradle
# - name: Build and analyze
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
# SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
# run: ./gradlew build sonarqube --info

0
.gitmodules vendored
View File

View File

@@ -1,18 +0,0 @@
language: android
jdk:
- oraclejdk8
android:
components:
# The BuildTools version used by NewPipe
- tools
- build-tools-29.0.3
# The SDK version used to compile NewPipe
- android-29
before_install:
- yes | sdkmanager "platforms;android-29"
script: ./gradlew -Dorg.gradle.jvmargs=-Xmx1536m assembleDebug lintDebug testDebugUnitTest
licenses:
- '.+'

140
README.es.md Normal file
View File

@@ -0,0 +1,140 @@
<p align="center"><a href="https://newpipe.net"><img src="assets/new_pipe_icon_5.png" width="150"></a></p>
<h2 align="center"><b>NewPipe</b></h2>
<h4 align="center">Una interfaz de streaming lijera y libre para Android.</h4>
<p align="center"><a href="https://f-droid.org/packages/org.schabi.newpipe/"><img src="https://f-droid.org/wiki/images/0/06/F-Droid-button_get-it-on.png"></a></p>
<p align="center">
<a href="https://github.com/TeamNewPipe/NewPipe/releases" alt="GitHub release"><img src="https://img.shields.io/badge/Lanzamiento-v0.20.11-blue.svg" ></a>
<a href="https://www.gnu.org/licenses/gpl-3.0" alt="License: GPLv3"><img src="https://img.shields.io/badge/Licencia-GPL%20v3-blue.svg"></a>
<a href="https://github.com/TeamNewPipe/NewPipe/actions" alt="Build Status"><img src="https://github.com/TeamNewPipe/NewPipe/workflows/CI/badge.svg?branch=dev&event=push"></a>
<a href="https://hosted.weblate.org/engage/newpipe/es/" alt="Estado de la traducción"><img src="https://hosted.weblate.org/widgets/newpipe/es/svg-badge.svg"></a>
<a href="http://webchat.freenode.net/?channels=%23newpipe" alt="IRC channel: #newpipe"><img src="https://img.shields.io/badge/Canal%20de%20IRC%20-%23newpipe-brightgreen.svg"></a>
<a href="https://www.bountysource.com/teams/newpipe" alt="Bountysource bounties"><img src="https://img.shields.io/bountysource/team/newpipe/activity.svg?colorB=cd201f"></a>
</p>
<hr>
<p align="center"><a href="#capturas-de-pantalla">Capturas de pantalla</a> &bull; <a href="#descripción">Descripción</a> &bull; <a href="#características">Características</a> &bull; <a href="#installación-y-actualizaciones">Installación y actualizaciones</a> &bull; <a href="#contribución">Contribución</a> &bull; <a href="#donar">Donar</a> &bull; <a href="#licencias">Licencias</a></p>
<p align="center"><a href="https://newpipe.net">Sitio web</a> &bull; <a href="https://newpipe.net/blog/">Blog</a> &bull; <a href="https://newpipe.net/FAQ/">Preguntas Frecuentes</a> &bull; <a href="https://newpipe.net/press/">Prensa</a></p>
<hr>
*Lea esto en otros idiomas: [English](README.md), [한국어](README.ko.md), [Soomaali](README.so.md), [Português Brasil](README.pt_BR.md), [日本語](README.ja.md), [Română](README.ro.md) .*
<b>AVISO: ESTA ES UNA VERSIÓN BETA, POR LO TANTO, PUEDE ENCONTRAR BUGS (ERRORES). SI ENCUENTRA UNO, ABRA UN ISSUE A TRAVÉS DE NUESTRO REPOSITORIO GITHUB.</b>
<b>COLOCAR NEWPIPE O CUALQUIER FORK (BIFURCACIÓN) REALIZADO DE ELLO EN GOOGLE PLAY STORE VIOLA SUS TÉRMINOS Y CONDICIONES.</b>
## Capturas de pantalla
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_01.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_01.png)
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_02.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_02.png)
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_03.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_03.png)
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_04.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_04.png)
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_05.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_05.png)
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_06.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_06.png)
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_07.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_07.png)
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_08.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_08.png)
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_09.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_09.png)
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_10.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_10.png)
[<img src="fastlane/metadata/android/en-US/images/tenInchScreenshots/shot_11.png" width=405>](fastlane/metadata/android/en-US/images/tenInchScreenshots/shot_11.png)
[<img src="fastlane/metadata/android/en-US/images/tenInchScreenshots/shot_12.png" width=405>](fastlane/metadata/android/en-US/images/tenInchScreenshots/shot_12.png)
## Descripción
NewPipe no usa ninguna librería de framework de Google, ni la API de YouTube. Los sitios web solamente se analizan para extraer la información requerida, asi que esta app se puede usar sin los servicios de Google instalados. Además, no se necesita una cuenta de YouTube para usar NewPipe, lo cual es un software libre de copyleft.
### Características
* Buscar videos
* Mostrar información general sobre videos
* Mirar videos de YouTube
* Escuchar audio de YouTube
* Modo popup (reproductor flotante)
* Elegir reproductor para mirar el video
* Descargar videos
* Descargar solamente audio
* Abrir video en Kodi
* Mostrar videos próximos/relacionados
* Buscar a través de YouTube en un idioma específico
* Mirar/Bloquear materiales restringidas por edad.
* Mostrar información general sobre canales
* Buscar canales
* Mirar videos de un canal
* Apoyo Orbot/Tor (todavía no directamente)
* Apoyo 1080p/2K/4K
* Ver historias
* Subscribirse a canales
* Buscar historias
* Buscar/mirar listas de reproducción
* Mirar listas de reproducción en fila
* Poner videos en fila
* Listas locales de reproducción
* Subtítulos
* Apoyo de medios en directo
* Mostrar comentarios
### Servicios apoyados
NewPipe apoya varios servicios. Nuestras [documentaciones](https://teamnewpipe.github.io/documentation/) proveen más información en como se puede agregar un servicio nuevo a la app y el extractor. Por favor contáctenos si pretende agregar uno nuevo. Actualmente los servicios apoyados son:
* YouTube
* SoundCloud \[beta\]
* media.ccc.de \[beta\]
* PeerTube instances \[beta\]
* Bandcamp \[beta\]
<!-- Brecha escondida para mantener compatibles los enlaces viejos. -->
<span id="actualizaciones"></span>
## Installación y actualizaciones
Se puede instalar NewPipe usando uno de los métodos siguientes:
1. Agregar nuestro repositorio personalizado a F-Droid e instalarlo desde allí. Las instrucciones están aquí: https://newpipe.schabi.org/FAQ/tutorials/install-add-fdroid-repo/
2. Descargar el archivo APK del enlace [Github Releases](https://github.com/TeamNewPipe/NewPipe/releases) e instalarlo.
3. Actualizar a través de F-Droid. Este es el método más lento para obtener la actualización, como F-Droid debe reconocer cambios, construir el APK aparte, firmarlo con una clave, y finalmente empujar la actualización a los usuarios.
4. Construir un APK de depuración por si mismo. Este es el modo más rápido para realizar nuevas características en su dispositivo, pero es mucho más complicado, asi que recomendamos uno de los otros métodos.
Recomendamos el método 1 para la mayoría de usuarios. Los APKs instalados usando método 1 o 2 son compatibles el uno con el otro, pero no con las instalaciones usando método 3. Esta es debida a la misma clave digital (la nuestra), siendo utilizado en los métodos 1 y 2, pero una clave digital diferente (la de F-Droid) siendo utilizado en el método 3. Construir un APK de depuración usando método 4 excluye una clave enteramente. Firmando con claves digitales ayuda a asegurar de que un
usuario no esté engañado para instalar una actualización maliciosa a una app.
Mientras tanto, si quiere cambiar los fuentes por alguna razón (por ejemplo, la funcionalidad del nucleo de NewPipe se rompe y F-Droid aun no tiene la actualización), recomendamos el siguiente procedimiento:
1. Repaldear sus datos a través de Ajustes > Contenido > Exporta base de datos para guardar su historia, subscripciones, y listas de reproducción
2. Desinstalar NewPipe
3. Descargar el APK del nuevo fuente e instalarlo.
4. Importar los datos del paso 1 a través de Ajustes > Contenido > Importa base de datos.
## Contribución
Si tiene ideas, traducciónes, cambios de diseño, limpieza de código, o cambios grandes de código, su ayuda es siempre bienvenida.
Cuanto más realizamos, mejor se pone la aplicación!
Si quiere involucrarse, fíjese en nuestras [notas de contribución](.github/CONTRIBUTING.md).
<a href="https://hosted.weblate.org/engage/newpipe/es/">
<img src="https://hosted.weblate.org/widgets/newpipe/es/287x66-grey.png" alt="Estado de la traducción" />
</a>
## Donar
Si le gusta el NewPipe estaremos felices con una donación. O puede enviar bitcoin o donar a través de Bountysource o Liberapay. Para obtener más información sobre como donar a NewPipe, por favor visita nuestro [sitio web](https://newpipe.net/donate).
<table>
<tr>
<td><img src="https://bitcoin.org/img/icons/logotop.svg" alt="Bitcoin"></td>
<td><img src="assets/bitcoin_qr_code.png" alt="Bitcoin QR code" width="100px"></td>
<td><samp>16A9J59ahMRqkLSZjhYj33n9j3fMztFxnh</samp></td>
</tr>
<tr>
<td><a href="https://liberapay.com/TeamNewPipe/"><img src="https://upload.wikimedia.org/wikipedia/commons/2/27/Liberapay_logo_v2_white-on-yellow.svg" alt="Liberapay" width="80px" ></a></td>
<td><a href="https://liberapay.com/TeamNewPipe/"><img src="assets/liberapay_qr_code.png" alt="Visit NewPipe at liberapay.com" width="100px"></a></td>
<td><a href="https://liberapay.com/TeamNewPipe/donate"><img src="assets/liberapay_donate_button.svg" alt="Donate via Liberapay" height="35px"></a></td>
</tr>
<tr>
<td><a href="https://www.bountysource.com/teams/newpipe"><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/2/22/Bountysource.png/320px-Bountysource.png" alt="Bountysource" width="190px"></a></td>
<td><a href="https://www.bountysource.com/teams/newpipe"><img src="assets/bountysource_qr_code.png" alt="Visit NewPipe at bountysource.com" width="100px"></a></td>
<td><a href="https://www.bountysource.com/teams/newpipe/issues"><img src="https://img.shields.io/bountysource/team/newpipe/activity.svg?colorB=cd201f" height="30px" alt="Check out how many bounties you can earn."></a></td>
</tr>
</table>
## Política de privacidad
El proyecto NewPipe tiene como objetivo proveer una experience privada y anónima para usar servicios de medios web.
Por lo tanto, la app no colecciona ningunos datos sin su consentimiento. La politica de privacidad de NewPipe explica en detalle los datos enviados y almacenados cuando envia un informe de error, o comentario en nuestro blog. Puede encontrar el documento [aqui](https://newpipe.net/legal/privacy/).
## Licencia
[![GNU GPLv3 Image](https://www.gnu.org/graphics/gplv3-127x51.png)](http://www.gnu.org/licenses/gpl-3.0.en.html)
NewPipe es Software Libre: Puede usar, estudiar, compartir, y mejorarlo a su voluntad. Especificamente puede redistribuir y/o modificarlo bajo los términos de la [GNU General Public License](https://www.gnu.org/licenses/gpl.html) como publicado por la Free Software Foundation, o versión 3 de la licencia, o (en su opción) cualquier versión posterior.

149
README.ja.md Normal file

File diff suppressed because one or more lines are too long

146
README.ko.md Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

143
README.pt_BR.md Normal file

File diff suppressed because one or more lines are too long

144
README.ro.md Normal file

File diff suppressed because one or more lines are too long

138
README.so.md Normal file

File diff suppressed because one or more lines are too long

View File

@@ -1,3 +1,7 @@
plugins {
id "org.sonarqube" version "3.1.1"
}
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
@@ -13,8 +17,10 @@ android {
resValue "string", "app_name", "NewPipe"
minSdkVersion 19
targetSdkVersion 29
versionCode 955
versionName "0.20.1"
versionCode 966
versionName "0.21.0"
multiDexEnabled true
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
@@ -28,7 +34,6 @@ android {
buildTypes {
debug {
multiDexEnabled true
debuggable true
// suffix the app id and the app name with git branch name
@@ -64,11 +69,18 @@ android {
}
compileOptions {
// Flag to enable support for the new language APIs
coreLibraryDesugaringEnabled true
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
encoding 'utf-8'
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_1_8
}
// Required and used only by groupie
androidExtensions {
experimental = true
@@ -77,19 +89,24 @@ android {
sourceSets {
androidTest.assets.srcDirs += files("$projectDir/schemas".toString())
}
buildFeatures {
viewBinding true
}
}
ext {
icepickVersion = '3.2.0'
checkstyleVersion = '8.32'
checkstyleVersion = '8.38'
stethoVersion = '1.5.1'
leakCanaryVersion = '2.2'
exoPlayerVersion = '2.11.8'
leakCanaryVersion = '2.5'
exoPlayerVersion = '2.12.3'
androidxLifecycleVersion = '2.2.0'
androidxRoomVersion = '2.2.5'
groupieVersion = '2.8.0'
markwonVersion = '4.3.1'
androidxRoomVersion = '2.3.0-alpha03'
groupieVersion = '2.8.1'
markwonVersion = '4.6.0'
googleAutoServiceVersion = '1.0-rc7'
mockitoVersion = '3.6.0'
}
configurations {
@@ -98,7 +115,7 @@ configurations {
}
checkstyle {
configFile rootProject.file('checkstyle.xml')
configDir rootProject.file(".")
ignoreFailures false
showViolations true
toolVersion = checkstyleVersion
@@ -122,78 +139,97 @@ task runCheckstyle(type: Checkstyle) {
}
}
def outputDir = "${project.buildDir}/reports/ktlint/"
def inputFiles = project.fileTree(dir: "src", include: "**/*.kt")
task runKtlint(type: JavaExec) {
inputs.files(inputFiles)
outputs.dir(outputDir)
main = "com.pinterest.ktlint.Main"
classpath = configurations.ktlint
args "src/**/*.kt"
}
task formatKtlint(type: JavaExec) {
inputs.files(inputFiles)
outputs.dir(outputDir)
main = "com.pinterest.ktlint.Main"
classpath = configurations.ktlint
args "-F", "src/**/*.kt"
}
afterEvaluate {
preDebugBuild.dependsOn runCheckstyle, runKtlint
preDebugBuild.dependsOn formatKtlint, runCheckstyle, runKtlint
}
sonarqube {
properties {
property "sonar.projectKey", "TeamNewPipe_NewPipe"
property "sonar.organization", "teamnewpipe"
property "sonar.host.url", "https://sonarcloud.io"
}
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.1'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:${kotlin_version}"
implementation "frankiesardo:icepick:${icepickVersion}"
kapt "frankiesardo:icepick-processor:${icepickVersion}"
checkstyle "com.puppycrawl.tools:checkstyle:${checkstyleVersion}"
ktlint "com.pinterest:ktlint:0.35.0"
ktlint "com.pinterest:ktlint:0.40.0"
debugImplementation "com.facebook.stetho:stetho:${stethoVersion}"
debugImplementation "com.facebook.stetho:stetho-okhttp3:${stethoVersion}"
debugImplementation "com.squareup.leakcanary:leakcanary-android:${leakCanaryVersion}"
implementation "com.squareup.leakcanary:leakcanary-object-watcher-android:${leakCanaryVersion}"
implementation "com.squareup.leakcanary:plumber-android:${leakCanaryVersion}"
debugImplementation "androidx.multidex:multidex:2.0.1"
testImplementation 'junit:junit:4.13'
testImplementation 'org.mockito:mockito-core:3.3.3'
androidTestImplementation "androidx.test.ext:junit:1.1.1"
androidTestImplementation "androidx.room:room-testing:${androidxRoomVersion}"
androidTestImplementation "androidx.test.espresso:espresso-core:3.2.0", {
exclude module: 'support-annotations'
}
implementation 'com.github.TeamNewPipe:NewPipeExtractor:350eed6214b93255d788dfa208b1e9a5e5da91e6'
implementation "androidx.multidex:multidex:2.0.1"
// NewPipe dependencies
// You can use a local version by uncommenting a few lines in settings.gradle
implementation 'com.github.TeamNewPipe:NewPipeExtractor:v0.21.0'
implementation "com.github.TeamNewPipe:nanojson:1d9e1aea9049fc9f85e68b43ba39fe7be1c1f751"
implementation "org.jsoup:jsoup:1.13.1"
implementation "com.squareup.okhttp3:okhttp:3.12.12"
//noinspection GradleDependency --> do not update okhttp to keep supporting Android 4.4 users
implementation "com.squareup.okhttp3:okhttp:3.12.13"
implementation "com.google.android.exoplayer:exoplayer:${exoPlayerVersion}"
implementation "com.google.android.exoplayer:extension-mediasession:${exoPlayerVersion}"
implementation "com.google.android.material:material:1.1.0"
implementation "com.google.android.material:material:1.2.1"
compileOnly "com.google.auto.service:auto-service-annotations:${googleAutoServiceVersion}"
kapt "com.google.auto.service:auto-service:${googleAutoServiceVersion}"
implementation "androidx.appcompat:appcompat:1.1.0"
implementation "androidx.appcompat:appcompat:1.2.0"
implementation "androidx.preference:preference:1.1.1"
implementation "androidx.recyclerview:recyclerview:1.1.0"
implementation "androidx.cardview:cardview:1.0.0"
implementation "androidx.constraintlayout:constraintlayout:1.1.3"
implementation "androidx.constraintlayout:constraintlayout:2.0.4"
implementation 'androidx.core:core-ktx:1.3.2'
implementation 'androidx.documentfile:documentfile:1.0.1'
implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0'
implementation 'androidx.media:media:1.2.1'
implementation 'androidx.webkit:webkit:1.4.0'
implementation "androidx.lifecycle:lifecycle-livedata:${androidxLifecycleVersion}"
implementation "androidx.lifecycle:lifecycle-viewmodel:${androidxLifecycleVersion}"
implementation "androidx.room:room-runtime:${androidxRoomVersion}"
implementation "androidx.room:room-rxjava2:${androidxRoomVersion}"
implementation "androidx.room:room-rxjava3:${androidxRoomVersion}"
kapt "androidx.room:room-compiler:${androidxRoomVersion}"
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"
implementation "com.xwray:groupie:${groupieVersion}"
implementation "com.xwray:groupie-kotlin-android-extensions:${groupieVersion}"
implementation "com.xwray:groupie-viewbinding:${groupieVersion}"
implementation "de.hdodenhof:circleimageview:3.1.0"
implementation "com.nostra13.universalimageloader:universal-image-loader:1.9.5"
@@ -203,13 +239,23 @@ dependencies {
implementation "com.nononsenseapps:filepicker:4.2.1"
implementation "ch.acra:acra-core:5.5.0"
implementation "ch.acra:acra-core:5.7.0"
implementation "io.reactivex.rxjava2:rxjava:2.2.19"
implementation "io.reactivex.rxjava2:rxandroid:2.1.1"
implementation "com.jakewharton.rxbinding2:rxbinding:2.2.0"
implementation "io.reactivex.rxjava3:rxjava:3.0.7"
implementation "io.reactivex.rxjava3:rxandroid:3.0.0"
implementation "com.jakewharton.rxbinding4:rxbinding:4.0.0"
implementation "org.ocpsoft.prettytime:prettytime:4.0.6.Final"
implementation "org.ocpsoft.prettytime:prettytime:5.0.0.Final"
testImplementation 'junit:junit:4.13.1'
testImplementation "org.mockito:mockito-core:${mockitoVersion}"
testImplementation "org.mockito:mockito-inline:${mockitoVersion}"
androidTestImplementation "androidx.test.ext:junit:1.1.2"
androidTestImplementation "androidx.room:room-testing:${androidxRoomVersion}"
androidTestImplementation "androidx.test.espresso:espresso-core:3.3.0", {
exclude module: 'support-annotations'
}
}
static String getGitWorkingBranch() {

View File

@@ -31,49 +31,62 @@ class AppDatabaseTest {
}
@get:Rule
val testHelper = MigrationTestHelper(InstrumentationRegistry.getInstrumentation(),
AppDatabase::class.java.canonicalName, FrameworkSQLiteOpenHelperFactory())
val testHelper = MigrationTestHelper(
InstrumentationRegistry.getInstrumentation(),
AppDatabase::class.java.canonicalName, FrameworkSQLiteOpenHelperFactory()
)
@Test
fun migrateDatabaseFrom2to3() {
val databaseInV2 = testHelper.createDatabase(AppDatabase.DATABASE_NAME, Migrations.DB_VER_2)
databaseInV2.run {
insert("streams", SQLiteDatabase.CONFLICT_FAIL, ContentValues().apply {
// put("uid", null)
put("service_id", DEFAULT_SERVICE_ID)
put("url", DEFAULT_URL)
put("title", DEFAULT_TITLE)
put("stream_type", DEFAULT_TYPE.name)
put("duration", DEFAULT_DURATION)
put("uploader", DEFAULT_UPLOADER_NAME)
put("thumbnail_url", DEFAULT_THUMBNAIL)
})
insert("streams", SQLiteDatabase.CONFLICT_FAIL, ContentValues().apply {
// put("uid", null)
put("service_id", DEFAULT_SECOND_SERVICE_ID)
put("url", DEFAULT_SECOND_URL)
// put("title", null)
// put("stream_type", null)
// put("duration", null)
// put("uploader", null)
// put("thumbnail_url", null)
})
insert("streams", SQLiteDatabase.CONFLICT_FAIL, ContentValues().apply {
// put("uid", null)
put("service_id", DEFAULT_SERVICE_ID)
// put("url", null)
// put("title", null)
// put("stream_type", null)
// put("duration", null)
// put("uploader", null)
// put("thumbnail_url", null)
})
insert(
"streams", SQLiteDatabase.CONFLICT_FAIL,
ContentValues().apply {
// put("uid", null)
put("service_id", DEFAULT_SERVICE_ID)
put("url", DEFAULT_URL)
put("title", DEFAULT_TITLE)
put("stream_type", DEFAULT_TYPE.name)
put("duration", DEFAULT_DURATION)
put("uploader", DEFAULT_UPLOADER_NAME)
put("thumbnail_url", DEFAULT_THUMBNAIL)
}
)
insert(
"streams", SQLiteDatabase.CONFLICT_FAIL,
ContentValues().apply {
// put("uid", null)
put("service_id", DEFAULT_SECOND_SERVICE_ID)
put("url", DEFAULT_SECOND_URL)
// put("title", null)
// put("stream_type", null)
// put("duration", null)
// put("uploader", null)
// put("thumbnail_url", null)
}
)
insert(
"streams", SQLiteDatabase.CONFLICT_FAIL,
ContentValues().apply {
// put("uid", null)
put("service_id", DEFAULT_SERVICE_ID)
// put("url", null)
// put("title", null)
// put("stream_type", null)
// put("duration", null)
// put("uploader", null)
// put("thumbnail_url", null)
}
)
close()
}
testHelper.runMigrationsAndValidate(AppDatabase.DATABASE_NAME, Migrations.DB_VER_3,
true, Migrations.MIGRATION_2_3)
testHelper.runMigrationsAndValidate(
AppDatabase.DATABASE_NAME, Migrations.DB_VER_3,
true, Migrations.MIGRATION_2_3
)
val migratedDatabaseV3 = getMigratedDatabase()
val listFromDB = migratedDatabaseV3.streamDAO().all.blockingFirst()
@@ -110,9 +123,11 @@ class AppDatabaseTest {
}
private fun getMigratedDatabase(): AppDatabase {
val database: AppDatabase = Room.databaseBuilder(ApplicationProvider.getApplicationContext(),
AppDatabase::class.java, AppDatabase.DATABASE_NAME)
.build()
val database: AppDatabase = Room.databaseBuilder(
ApplicationProvider.getApplicationContext(),
AppDatabase::class.java, AppDatabase.DATABASE_NAME
)
.build()
testHelper.closeWhenFinished(database)
return database
}

View File

@@ -0,0 +1,46 @@
package org.schabi.newpipe.error;
import android.os.Parcel;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.LargeTest;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.schabi.newpipe.R;
import org.schabi.newpipe.extractor.ServiceList;
import org.schabi.newpipe.extractor.exceptions.ParsingException;
import java.util.Arrays;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
/**
* Instrumented tests for {@link ErrorInfo}.
*/
@RunWith(AndroidJUnit4.class)
@LargeTest
public class ErrorInfoTest {
@Test
public void errorInfoTestParcelable() {
final ErrorInfo info = new ErrorInfo(new ParsingException("Hello"),
UserAction.USER_REPORT, "request", ServiceList.YouTube.getServiceId());
// Obtain a Parcel object and write the parcelable object to it:
final Parcel parcel = Parcel.obtain();
info.writeToParcel(parcel, 0);
parcel.setDataPosition(0);
final ErrorInfo infoFromParcel = (ErrorInfo) ErrorInfo.CREATOR.createFromParcel(parcel);
assertTrue(Arrays.toString(infoFromParcel.getStackTraces())
.contains(ErrorInfoTest.class.getSimpleName()));
assertEquals(UserAction.USER_REPORT, infoFromParcel.getUserAction());
assertEquals(ServiceList.YouTube.getServiceInfo().getName(),
infoFromParcel.getServiceName());
assertEquals("request", infoFromParcel.getRequest());
assertEquals(R.string.parsing_error, infoFromParcel.getMessageStringId());
parcel.recycle();
}
}

View File

@@ -1,39 +0,0 @@
package org.schabi.newpipe.report;
import android.os.Parcel;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.LargeTest;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.schabi.newpipe.R;
import org.schabi.newpipe.report.ErrorActivity.ErrorInfo;
import static org.junit.Assert.assertEquals;
/**
* Instrumented tests for {@link ErrorInfo}.
*/
@RunWith(AndroidJUnit4.class)
@LargeTest
public class ErrorInfoTest {
@Test
public void errorInfoTestParcelable() {
final ErrorInfo info = ErrorInfo.make(UserAction.USER_REPORT, "youtube", "request",
R.string.general_error);
// Obtain a Parcel object and write the parcelable object to it:
final Parcel parcel = Parcel.obtain();
info.writeToParcel(parcel, 0);
parcel.setDataPosition(0);
final ErrorInfo infoFromParcel = ErrorInfo.CREATOR.createFromParcel(parcel);
assertEquals(UserAction.USER_REPORT, infoFromParcel.userAction);
assertEquals("youtube", infoFromParcel.serviceName);
assertEquals("request", infoFromParcel.request);
assertEquals(R.string.general_error, infoFromParcel.message);
parcel.recycle();
}
}

View File

@@ -1,6 +1,5 @@
package org.schabi.newpipe
import androidx.multidex.MultiDex
import androidx.preference.PreferenceManager
import com.facebook.stetho.Stetho
import com.facebook.stetho.okhttp3.StethoInterceptor
@@ -16,24 +15,26 @@ class DebugApp : App() {
// Give each object 10 seconds to be GC'ed, before LeakCanary gets nosy on it
AppWatcher.config = AppWatcher.config.copy(watchDurationMillis = 10000)
LeakCanary.config = LeakCanary.config.copy(dumpHeap = PreferenceManager
.getDefaultSharedPreferences(this).getBoolean(getString(
R.string.allow_heap_dumping_key), false))
LeakCanary.config = LeakCanary.config.copy(
dumpHeap = PreferenceManager
.getDefaultSharedPreferences(this).getBoolean(
getString(
R.string.allow_heap_dumping_key
),
false
)
)
}
override fun getDownloader(): Downloader {
val downloader = DownloaderImpl.init(OkHttpClient.Builder()
.addNetworkInterceptor(StethoInterceptor()))
val downloader = DownloaderImpl.init(
OkHttpClient.Builder()
.addNetworkInterceptor(StethoInterceptor())
)
setCookiesToDownloader(downloader)
return downloader
}
override fun initACRA() {
// install MultiDex before initializing ACRA
MultiDex.install(this)
super.initACRA()
}
private fun initStetho() {
// Create an InitializerBuilder
val initializerBuilder = Stetho.newInitializerBuilder(this)
@@ -43,7 +44,8 @@ class DebugApp : App() {
// Enable command line interface
initializerBuilder.enableDumpapp(
Stetho.defaultDumperPluginsProvider(applicationContext))
Stetho.defaultDumperPluginsProvider(applicationContext)
)
// Use the InitializerBuilder to generate an Initializer
val initializer = initializerBuilder.build()
@@ -54,6 +56,6 @@ class DebugApp : App() {
override fun isDisposedRxExceptionsReported(): Boolean {
return PreferenceManager.getDefaultSharedPreferences(this)
.getBoolean(getString(R.string.allow_disposed_exceptions_key), false)
.getBoolean(getString(R.string.allow_disposed_exceptions_key), false)
}
}

View File

@@ -0,0 +1,39 @@
package org.schabi.newpipe.settings;
import android.os.Bundle;
import androidx.annotation.Nullable;
import androidx.preference.Preference;
import org.schabi.newpipe.R;
import leakcanary.LeakCanary;
public class DebugSettingsFragment extends BasePreferenceFragment {
@Override
public void onCreate(@Nullable final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final Preference showMemoryLeaksPreference
= findPreference(getString(R.string.show_memory_leaks_key));
final Preference crashTheAppPreference
= findPreference(getString(R.string.crash_the_app_key));
assert showMemoryLeaksPreference != null;
assert crashTheAppPreference != null;
showMemoryLeaksPreference.setOnPreferenceClickListener(preference -> {
startActivity(LeakCanary.INSTANCE.newLeakDisplayActivityIntent());
return true;
});
crashTheAppPreference.setOnPreferenceClickListener(preference -> {
throw new RuntimeException();
});
}
@Override
public void onCreatePreferences(final Bundle savedInstanceState, final String rootKey) {
addPreferencesFromResource(R.xml.debug_settings);
}
}

View File

@@ -1,57 +1,56 @@
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:key="general_preferences"
android:title="@string/settings">
<PreferenceScreen
app:iconSpaceReserved="false"
android:fragment="org.schabi.newpipe.settings.VideoAudioSettingsFragment"
android:icon="?attr/ic_headset"
android:title="@string/settings_category_video_audio_title"/>
android:title="@string/settings_category_video_audio_title"
app:iconSpaceReserved="false" />
<PreferenceScreen
app:iconSpaceReserved="false"
android:fragment="org.schabi.newpipe.settings.DownloadSettingsFragment"
android:icon="?attr/ic_file_download"
android:title="@string/settings_category_downloads_title"/>
android:title="@string/settings_category_downloads_title"
app:iconSpaceReserved="false" />
<PreferenceScreen
app:iconSpaceReserved="false"
android:fragment="org.schabi.newpipe.settings.AppearanceSettingsFragment"
android:icon="?attr/ic_palette"
android:title="@string/settings_category_appearance_title"/>
android:title="@string/settings_category_appearance_title"
app:iconSpaceReserved="false" />
<PreferenceScreen
app:iconSpaceReserved="false"
android:fragment="org.schabi.newpipe.settings.HistorySettingsFragment"
android:icon="?attr/ic_history"
android:title="@string/settings_category_history_title"/>
android:title="@string/settings_category_history_title"
app:iconSpaceReserved="false" />
<PreferenceScreen
app:iconSpaceReserved="false"
android:fragment="org.schabi.newpipe.settings.ContentSettingsFragment"
android:icon="?attr/ic_language"
android:title="@string/content"/>
android:title="@string/content"
app:iconSpaceReserved="false" />
<PreferenceScreen
app:iconSpaceReserved="false"
android:fragment="org.schabi.newpipe.settings.NotificationSettingsFragment"
android:icon="?attr/ic_play_arrow"
android:title="@string/settings_category_notification_title"/>
android:title="@string/settings_category_notification_title"
app:iconSpaceReserved="false" />
<PreferenceScreen
app:iconSpaceReserved="false"
android:fragment="org.schabi.newpipe.settings.UpdateSettingsFragment"
android:icon="?attr/ic_settings_update"
android:key="update_pref_screen_key"
android:title="@string/settings_category_updates_title"
android:key="update_pref_screen_key"/>
app:iconSpaceReserved="false" />
<PreferenceScreen
app:iconSpaceReserved="false"
android:fragment="org.schabi.newpipe.settings.DebugSettingsFragment"
android:icon="?attr/ic_bug_report"
android:key="@string/debug_pref_screen_key"
android:title="@string/settings_category_debug_title"
android:key="@string/debug_pref_screen_key"/>
app:iconSpaceReserved="false" />
</PreferenceScreen>

View File

@@ -53,7 +53,7 @@
</service>
<activity
android:name=".player.BackgroundPlayerActivity"
android:name=".player.PlayQueueActivity"
android:label="@string/title_activity_play_queue"
android:launchMode="singleTask" />
@@ -85,7 +85,7 @@
android:name=".ExitActivity"
android:label="@string/general_error"
android:theme="@android:style/Theme.NoDisplay" />
<activity android:name=".report.ErrorActivity" />
<activity android:name=".error.ErrorActivity" />
<!-- giga get related -->
<activity
@@ -106,7 +106,7 @@
</activity>
<activity
android:name=".ReCaptchaActivity"
android:name=".error.ReCaptchaActivity"
android:label="@string/recaptcha" />
<provider
@@ -227,20 +227,22 @@
<data android:host="invidio.us" />
<data android:host="dev.invidio.us" />
<data android:host="www.invidio.us" />
<data android:host="redirect.invidious.io" />
<data android:host="invidious.snopyta.org" />
<data android:host="fi.invidious.snopyta.org" />
<data android:host="yewtu.be" />
<data android:host="invidious.ggc-project.de" />
<data android:host="yt.maisputain.ovh" />
<data android:host="invidious.13ad.de" />
<data android:host="invidious.toot.koeln" />
<data android:host="tube.connect.cafe" />
<data android:host="invidious.zapashcanon.fr" />
<data android:host="invidious.kavin.rocks" />
<data android:host="invidious.tube" />
<data android:host="invidious.site" />
<data android:host="invidious.xyz" />
<data android:host="vid.mint.lgbt" />
<data android:host="invidiou.site" />
<data android:host="invidious.fdn.fr" />
<data android:host="watch.nettohikari.com" />
<data android:host="invidious.snwmds.net" />
<data android:host="invidious.snwmds.org" />
<data android:host="invidious.snwmds.com" />
<data android:host="invidious.sunsetravens.com" />
<data android:host="invidious.gachirangers.com" />
<data android:host="invidious.048596.xyz" />
<data android:host="invidious.zee.li" />
<data android:host="vid.puffyan.us" />
<data android:host="ytprivate.com" />
<data android:pathPrefix="/" />
</intent-filter>
@@ -268,7 +270,7 @@
<data android:mimeType="text/plain" />
</intent-filter>
<!-- MediaCCC filter -->
<!-- media.ccc.de filter -->
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<action android:name="android.media.action.MEDIA_PLAY_FROM_SEARCH" />
@@ -305,8 +307,7 @@
<data android:host="peertube.cpy.re" />
<data android:host="peertube.mastodon.host" />
<data android:host="peertube.fr" />
<data android:host="peertube.live" />
<data android:host="peertube.video" />
<data android:host="tilvids.com" />
<data android:host="tube.privacytools.io" />
<data android:host="video.ploud.fr" />
<data android:host="video.lqdn.fr" />
@@ -316,11 +317,29 @@
<data android:pathPrefix="/accounts/" />
<data android:pathPrefix="/video-channels/" />
</intent-filter>
<!-- Bandcamp filter -->
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<action android:name="android.media.action.MEDIA_PLAY_FROM_SEARCH"/>
<action android:name="android.nfc.action.NDEF_DISCOVERED"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="http"/>
<data android:scheme="https"/>
<data android:host="bandcamp.com"/>
<data android:host="*.bandcamp.com"/>
<data android:pathPrefix="/"/>
</intent-filter>
</activity>
<service
android:name=".RouterActivity$FetcherService"
android:exported="false" />
<!-- opting out of sending metrics to Google in Android System WebView -->
<meta-data android:name="android.webkit.WebView.MetricsOptOut" android:value="true" />
<!-- see https://github.com/TeamNewPipe/NewPipe/issues/3947 -->
<!-- Version < 3.0. DeX Mode and Screen Mirroring support -->
<meta-data android:name="com.samsung.android.keepalive.density" android:value="true"/>

View File

@@ -0,0 +1,245 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- saved from url=(0050)https://www.eclipse.org/org/documents/epl-v10.html -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>Eclipse Public License - Version 1.0</title>
</head>
<body cz-shortcut-listen="true" lang="EN-US">
<h2>Eclipse Public License - v 1.0</h2>
<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR
DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
AGREEMENT.</p>
<p><b>1. DEFINITIONS</b></p>
<p>"Contribution" means:</p>
<p class="list">a) in the case of the initial Contributor, the initial
code and documentation distributed under this Agreement, and</p>
<p class="list">b) in the case of each subsequent Contributor:</p>
<p class="list">i) changes to the Program, and</p>
<p class="list">ii) additions to the Program;</p>
<p class="list">where such changes and/or additions to the Program
originate from and are distributed by that particular Contributor. A
Contribution 'originates' from a Contributor if it was added to the
Program by such Contributor itself or anyone acting on such
Contributor's behalf. Contributions do not include additions to the
Program which: (i) are separate modules of software distributed in
conjunction with the Program under their own license agreement, and (ii)
are not derivative works of the Program.</p>
<p>"Contributor" means any person or entity that distributes
the Program.</p>
<p>"Licensed Patents" mean patent claims licensable by a
Contributor which are necessarily infringed by the use or sale of its
Contribution alone or when combined with the Program.</p>
<p>"Program" means the Contributions distributed in accordance
with this Agreement.</p>
<p>"Recipient" means anyone who receives the Program under
this Agreement, including all Contributors.</p>
<p><b>2. GRANT OF RIGHTS</b></p>
<p class="list">a) Subject to the terms of this Agreement, each
Contributor hereby grants Recipient a non-exclusive, worldwide,
royalty-free copyright license to reproduce, prepare derivative works
of, publicly display, publicly perform, distribute and sublicense the
Contribution of such Contributor, if any, and such derivative works, in
source code and object code form.</p>
<p class="list">b) Subject to the terms of this Agreement, each
Contributor hereby grants Recipient a non-exclusive, worldwide,
royalty-free patent license under Licensed Patents to make, use, sell,
offer to sell, import and otherwise transfer the Contribution of such
Contributor, if any, in source code and object code form. This patent
license shall apply to the combination of the Contribution and the
Program if, at the time the Contribution is added by the Contributor,
such addition of the Contribution causes such combination to be covered
by the Licensed Patents. The patent license shall not apply to any other
combinations which include the Contribution. No hardware per se is
licensed hereunder.</p>
<p class="list">c) Recipient understands that although each Contributor
grants the licenses to its Contributions set forth herein, no assurances
are provided by any Contributor that the Program does not infringe the
patent or other intellectual property rights of any other entity. Each
Contributor disclaims any liability to Recipient for claims brought by
any other entity based on infringement of intellectual property rights
or otherwise. As a condition to exercising the rights and licenses
granted hereunder, each Recipient hereby assumes sole responsibility to
secure any other intellectual property rights needed, if any. For
example, if a third party patent license is required to allow Recipient
to distribute the Program, it is Recipient's responsibility to acquire
that license before distributing the Program.</p>
<p class="list">d) Each Contributor represents that to its knowledge it
has sufficient copyright rights in its Contribution, if any, to grant
the copyright license set forth in this Agreement.</p>
<p><b>3. REQUIREMENTS</b></p>
<p>A Contributor may choose to distribute the Program in object code
form under its own license agreement, provided that:</p>
<p class="list">a) it complies with the terms and conditions of this
Agreement; and</p>
<p class="list">b) its license agreement:</p>
<p class="list">i) effectively disclaims on behalf of all Contributors
all warranties and conditions, express and implied, including warranties
or conditions of title and non-infringement, and implied warranties or
conditions of merchantability and fitness for a particular purpose;</p>
<p class="list">ii) effectively excludes on behalf of all Contributors
all liability for damages, including direct, indirect, special,
incidental and consequential damages, such as lost profits;</p>
<p class="list">iii) states that any provisions which differ from this
Agreement are offered by that Contributor alone and not by any other
party; and</p>
<p class="list">iv) states that source code for the Program is available
from such Contributor, and informs licensees how to obtain it in a
reasonable manner on or through a medium customarily used for software
exchange.</p>
<p>When the Program is made available in source code form:</p>
<p class="list">a) it must be made available under this Agreement; and</p>
<p class="list">b) a copy of this Agreement must be included with each
copy of the Program.</p>
<p>Contributors may not remove or alter any copyright notices contained
within the Program.</p>
<p>Each Contributor must identify itself as the originator of its
Contribution, if any, in a manner that reasonably allows subsequent
Recipients to identify the originator of the Contribution.</p>
<p><b>4. COMMERCIAL DISTRIBUTION</b></p>
<p>Commercial distributors of software may accept certain
responsibilities with respect to end users, business partners and the
like. While this license is intended to facilitate the commercial use of
the Program, the Contributor who includes the Program in a commercial
product offering should do so in a manner which does not create
potential liability for other Contributors. Therefore, if a Contributor
includes the Program in a commercial product offering, such Contributor
("Commercial Contributor") hereby agrees to defend and
indemnify every other Contributor ("Indemnified Contributor")
against any losses, damages and costs (collectively "Losses")
arising from claims, lawsuits and other legal actions brought by a third
party against the Indemnified Contributor to the extent caused by the
acts or omissions of such Commercial Contributor in connection with its
distribution of the Program in a commercial product offering. The
obligations in this section do not apply to any claims or Losses
relating to any actual or alleged intellectual property infringement. In
order to qualify, an Indemnified Contributor must: a) promptly notify
the Commercial Contributor in writing of such claim, and b) allow the
Commercial Contributor to control, and cooperate with the Commercial
Contributor in, the defense and any related settlement negotiations. The
Indemnified Contributor may participate in any such claim at its own
expense.</p>
<p>For example, a Contributor might include the Program in a commercial
product offering, Product X. That Contributor is then a Commercial
Contributor. If that Commercial Contributor then makes performance
claims, or offers warranties related to Product X, those performance
claims and warranties are such Commercial Contributor's responsibility
alone. Under this section, the Commercial Contributor would have to
defend claims against the other Contributors related to those
performance claims and warranties, and if a court requires any other
Contributor to pay any damages as a result, the Commercial Contributor
must pay those damages.</p>
<p><b>5. NO WARRANTY</b></p>
<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
responsible for determining the appropriateness of using and
distributing the Program and assumes all risks associated with its
exercise of rights under this Agreement , including but not limited to
the risks and costs of program errors, compliance with applicable laws,
damage to or loss of data, programs or equipment, and unavailability or
interruption of operations.</p>
<p><b>6. DISCLAIMER OF LIABILITY</b></p>
<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p>
<p><b>7. GENERAL</b></p>
<p>If any provision of this Agreement is invalid or unenforceable under
applicable law, it shall not affect the validity or enforceability of
the remainder of the terms of this Agreement, and without further action
by the parties hereto, such provision shall be reformed to the minimum
extent necessary to make such provision valid and enforceable.</p>
<p>If Recipient institutes patent litigation against any entity
(including a cross-claim or counterclaim in a lawsuit) alleging that the
Program itself (excluding combinations of the Program with other
software or hardware) infringes such Recipient's patent(s), then such
Recipient's rights granted under Section 2(b) shall terminate as of the
date such litigation is filed.</p>
<p>All Recipient's rights under this Agreement shall terminate if it
fails to comply with any of the material terms or conditions of this
Agreement and does not cure such failure in a reasonable period of time
after becoming aware of such noncompliance. If all Recipient's rights
under this Agreement terminate, Recipient agrees to cease use and
distribution of the Program as soon as reasonably practicable. However,
Recipient's obligations under this Agreement and any licenses granted by
Recipient relating to the Program shall continue and survive.</p>
<p>Everyone is permitted to copy and distribute copies of this
Agreement, but in order to avoid inconsistency the Agreement is
copyrighted and may only be modified in the following manner. The
Agreement Steward reserves the right to publish new versions (including
revisions) of this Agreement from time to time. No one other than the
Agreement Steward has the right to modify this Agreement. The Eclipse
Foundation is the initial Agreement Steward. The Eclipse Foundation may
assign the responsibility to serve as the Agreement Steward to a
suitable separate entity. Each new version of the Agreement will be
given a distinguishing version number. The Program (including
Contributions) may always be distributed subject to the version of the
Agreement under which it was received. In addition, after a new version
of the Agreement is published, Contributor may elect to distribute the
Program (including its Contributions) under the new version. Except as
expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
rights or licenses to the intellectual property of any Contributor under
this Agreement, whether expressly, by implication, estoppel or
otherwise. All rights in the Program not expressly granted under this
Agreement are reserved.</p>
<p>This Agreement is governed by the laws of the State of New York and
the intellectual property laws of the United States of America. No party
to this Agreement will bring a legal action under this Agreement more
than one year after the cause of action arose. Each party waives its
rights to a jury trial in any resulting litigation.</p>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@@ -86,8 +86,8 @@ public abstract class FragmentStatePagerAdapterMenuWorkaround extends PagerAdapt
private final int mBehavior;
private FragmentTransaction mCurTransaction = null;
private ArrayList<Fragment.SavedState> mSavedState = new ArrayList<Fragment.SavedState>();
private ArrayList<Fragment> mFragments = new ArrayList<Fragment>();
private final ArrayList<Fragment.SavedState> mSavedState = new ArrayList<Fragment.SavedState>();
private final ArrayList<Fragment> mFragments = new ArrayList<Fragment>();
private Fragment mCurrentPrimaryItem = null;
/**

View File

@@ -10,6 +10,7 @@ import android.widget.OverScroller;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.coordinatorlayout.widget.CoordinatorLayout;
import org.schabi.newpipe.R;
import java.lang.reflect.Field;
@@ -27,7 +28,7 @@ public final class FlingBehavior extends AppBarLayout.Behavior {
private boolean allowScroll = true;
private final Rect globalRect = new Rect();
private final List<Integer> skipInterceptionOfElements = Arrays.asList(
R.id.playQueuePanel, R.id.playbackSeekBar,
R.id.itemsListPanel, R.id.playbackSeekBar,
R.id.playPauseButton, R.id.playPreviousButton, R.id.playNextButton);
@Override

View File

@@ -1,47 +0,0 @@
package org.schabi.newpipe;
/*
* Created by Christian Schabesberger on 24.12.15.
*
* Copyright (C) Christian Schabesberger 2015 <chris.schabesberger@mailbox.org>
* ActivityCommunicator.java is part of NewPipe.
*
* NewPipe is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* NewPipe is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with NewPipe. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* Singleton:
* Used to send data between certain Activity/Services within the same process.
* This can be considered as an ugly hack inside the Android universe.
**/
public class ActivityCommunicator {
private static ActivityCommunicator activityCommunicator;
private volatile Class returnActivity;
public static ActivityCommunicator getCommunicator() {
if (activityCommunicator == null) {
activityCommunicator = new ActivityCommunicator();
}
return activityCommunicator;
}
public Class getReturnActivity() {
return returnActivity;
}
public void setReturnActivity(final Class returnActivity) {
this.returnActivity = returnActivity;
}
}

View File

@@ -1,7 +1,5 @@
package org.schabi.newpipe;
import android.annotation.TargetApi;
import android.app.Application;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.content.Context;
@@ -10,6 +8,8 @@ import android.os.Build;
import android.util.Log;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.multidex.MultiDexApplication;
import androidx.preference.PreferenceManager;
import com.nostra13.universalimageloader.cache.memory.impl.LRULimitedMemoryCache;
@@ -20,12 +20,14 @@ import org.acra.ACRA;
import org.acra.config.ACRAConfigurationException;
import org.acra.config.CoreConfiguration;
import org.acra.config.CoreConfigurationBuilder;
import org.schabi.newpipe.error.ErrorActivity;
import org.schabi.newpipe.error.ErrorInfo;
import org.schabi.newpipe.error.ReCaptchaActivity;
import org.schabi.newpipe.error.UserAction;
import org.schabi.newpipe.extractor.NewPipe;
import org.schabi.newpipe.extractor.downloader.Downloader;
import org.schabi.newpipe.report.ErrorActivity;
import org.schabi.newpipe.report.UserAction;
import org.schabi.newpipe.ktx.ExceptionUtils;
import org.schabi.newpipe.settings.SettingsActivity;
import org.schabi.newpipe.util.ExceptionUtils;
import org.schabi.newpipe.util.Localization;
import org.schabi.newpipe.util.ServiceHelper;
import org.schabi.newpipe.util.StateSaver;
@@ -33,15 +35,17 @@ import org.schabi.newpipe.util.StateSaver;
import java.io.IOException;
import java.io.InterruptedIOException;
import java.net.SocketException;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import io.reactivex.exceptions.CompositeException;
import io.reactivex.exceptions.MissingBackpressureException;
import io.reactivex.exceptions.OnErrorNotImplementedException;
import io.reactivex.exceptions.UndeliverableException;
import io.reactivex.functions.Consumer;
import io.reactivex.plugins.RxJavaPlugins;
import io.reactivex.rxjava3.disposables.Disposable;
import io.reactivex.rxjava3.exceptions.CompositeException;
import io.reactivex.rxjava3.exceptions.MissingBackpressureException;
import io.reactivex.rxjava3.exceptions.OnErrorNotImplementedException;
import io.reactivex.rxjava3.exceptions.UndeliverableException;
import io.reactivex.rxjava3.functions.Consumer;
import io.reactivex.rxjava3.plugins.RxJavaPlugins;
/*
* Copyright (C) Hans-Christoph Steiner 2016 <hans@eds.org>
@@ -61,10 +65,15 @@ import io.reactivex.plugins.RxJavaPlugins;
* along with NewPipe. If not, see <http://www.gnu.org/licenses/>.
*/
public class App extends Application {
public class App extends MultiDexApplication {
protected static final String TAG = App.class.toString();
private static App app;
public static final String PACKAGE_NAME = BuildConfig.APPLICATION_ID;
@Nullable
private Disposable disposable = null;
@NonNull
public static App getApp() {
return app;
}
@@ -85,12 +94,12 @@ public class App extends Application {
SettingsActivity.initSettings(this);
NewPipe.init(getDownloader(),
Localization.getPreferredLocalization(this),
Localization.getPreferredContentCountry(this));
Localization.init(getApplicationContext());
Localization.getPreferredLocalization(this),
Localization.getPreferredContentCountry(this));
Localization.initPrettyTime(Localization.resolvePrettyTime(getApplicationContext()));
StateSaver.init(this);
initNotificationChannel();
initNotificationChannels();
ServiceHelper.initServices(this);
@@ -100,7 +109,15 @@ public class App extends Application {
configureRxJavaErrorHandler();
// Check for new version
new CheckForNewAppVersionTask().execute();
disposable = CheckForNewAppVersion.checkNewVersion(this);
}
@Override
public void onTerminate() {
if (disposable != null) {
disposable.dispose();
}
super.onTerminate();
}
protected Downloader getDownloader() {
@@ -208,60 +225,47 @@ public class App extends Application {
.setBuildConfigClass(BuildConfig.class)
.build();
ACRA.init(this, acraConfig);
} catch (final ACRAConfigurationException ace) {
ace.printStackTrace();
ErrorActivity.reportError(this,
ace,
null,
null,
ErrorActivity.ErrorInfo.make(UserAction.SOMETHING_ELSE, "none",
"Could not initialize ACRA crash report", R.string.app_ui_crash));
} catch (final ACRAConfigurationException exception) {
exception.printStackTrace();
ErrorActivity.reportError(this, new ErrorInfo(exception,
UserAction.SOMETHING_ELSE, "Could not initialize ACRA crash report"));
}
}
public void initNotificationChannel() {
private void initNotificationChannels() {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
return;
}
final String id = getString(R.string.notification_channel_id);
final CharSequence name = getString(R.string.notification_channel_name);
final String description = getString(R.string.notification_channel_description);
String id = getString(R.string.notification_channel_id);
String name = getString(R.string.notification_channel_name);
String description = getString(R.string.notification_channel_description);
// Keep this below DEFAULT to avoid making noise on every notification update
final int importance = NotificationManager.IMPORTANCE_LOW;
// Keep this below DEFAULT to avoid making noise on every notification update for the main
// and update channels
int importance = NotificationManager.IMPORTANCE_LOW;
final NotificationChannel mChannel = new NotificationChannel(id, name, importance);
mChannel.setDescription(description);
final NotificationChannel mainChannel = new NotificationChannel(id, name, importance);
mainChannel.setDescription(description);
final NotificationManager mNotificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.createNotificationChannel(mChannel);
id = getString(R.string.app_update_notification_channel_id);
name = getString(R.string.app_update_notification_channel_name);
description = getString(R.string.app_update_notification_channel_description);
setUpUpdateNotificationChannel(importance);
}
final NotificationChannel appUpdateChannel = new NotificationChannel(id, name, importance);
appUpdateChannel.setDescription(description);
/**
* Set up notification channel for app update.
*
* @param importance
*/
@TargetApi(Build.VERSION_CODES.O)
private void setUpUpdateNotificationChannel(final int importance) {
final String appUpdateId
= getString(R.string.app_update_notification_channel_id);
final CharSequence appUpdateName
= getString(R.string.app_update_notification_channel_name);
final String appUpdateDescription
= getString(R.string.app_update_notification_channel_description);
id = getString(R.string.hash_channel_id);
name = getString(R.string.hash_channel_name);
description = getString(R.string.hash_channel_description);
importance = NotificationManager.IMPORTANCE_HIGH;
final NotificationChannel appUpdateChannel
= new NotificationChannel(appUpdateId, appUpdateName, importance);
appUpdateChannel.setDescription(appUpdateDescription);
final NotificationChannel hashChannel = new NotificationChannel(id, name, importance);
hashChannel.setDescription(description);
final NotificationManager appUpdateNotificationManager
= (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
appUpdateNotificationManager.createNotificationChannel(appUpdateChannel);
final NotificationManager notificationManager = getSystemService(NotificationManager.class);
notificationManager.createNotificationChannels(Arrays.asList(mainChannel,
appUpdateChannel, hashChannel));
}
protected boolean isDisposedRxExceptionsReported() {

View File

@@ -35,7 +35,7 @@ public abstract class BaseFragment extends Fragment {
//////////////////////////////////////////////////////////////////////////*/
@Override
public void onAttach(final Context context) {
public void onAttach(@NonNull final Context context) {
super.onAttach(context);
activity = (AppCompatActivity) context;
}
@@ -61,7 +61,7 @@ public abstract class BaseFragment extends Fragment {
@Override
public void onViewCreated(final View rootView, final Bundle savedInstanceState) {
public void onViewCreated(@NonNull final View rootView, final Bundle savedInstanceState) {
super.onViewCreated(rootView, savedInstanceState);
if (DEBUG) {
Log.d(TAG, "onViewCreated() called with: "
@@ -73,7 +73,7 @@ public abstract class BaseFragment extends Fragment {
}
@Override
public void onSaveInstanceState(final Bundle outState) {
public void onSaveInstanceState(@NonNull final Bundle outState) {
super.onSaveInstanceState(outState);
Icepick.saveInstanceState(this, outState);
}

View File

@@ -0,0 +1,247 @@
package org.schabi.newpipe;
import android.app.Application;
import android.app.PendingIntent;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.Signature;
import android.net.ConnectivityManager;
import android.net.Uri;
import android.util.Log;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.app.NotificationCompat;
import androidx.core.app.NotificationManagerCompat;
import androidx.core.content.ContextCompat;
import androidx.preference.PreferenceManager;
import com.grack.nanojson.JsonObject;
import com.grack.nanojson.JsonParser;
import com.grack.nanojson.JsonParserException;
import org.schabi.newpipe.error.ErrorActivity;
import org.schabi.newpipe.error.ErrorInfo;
import org.schabi.newpipe.error.UserAction;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.cert.CertificateEncodingException;
import java.security.cert.CertificateException;
import java.security.cert.CertificateFactory;
import java.security.cert.X509Certificate;
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
import io.reactivex.rxjava3.core.Maybe;
import io.reactivex.rxjava3.disposables.Disposable;
import io.reactivex.rxjava3.schedulers.Schedulers;
public final class CheckForNewAppVersion {
private CheckForNewAppVersion() { }
private static final boolean DEBUG = MainActivity.DEBUG;
private static final String TAG = CheckForNewAppVersion.class.getSimpleName();
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 NEWPIPE_API_URL = "https://newpipe.net/api/data.json";
/**
* Method to get the APK's SHA1 key. See https://stackoverflow.com/questions/9293019/#22506133.
*
* @param application The application
* @return String with the APK's SHA1 fingerprint in hexadecimal
*/
@NonNull
private static String getCertificateSHA1Fingerprint(@NonNull final Application application) {
final PackageInfo packageInfo;
try {
packageInfo = application.getPackageManager().getPackageInfo(
application.getPackageName(), PackageManager.GET_SIGNATURES);
} catch (final PackageManager.NameNotFoundException e) {
ErrorActivity.reportError(application, new ErrorInfo(e,
UserAction.CHECK_FOR_NEW_APP_VERSION, "Could not find package info"));
return "";
}
final X509Certificate c;
try {
final Signature[] signatures = packageInfo.signatures;
final byte[] cert = signatures[0].toByteArray();
final InputStream input = new ByteArrayInputStream(cert);
final CertificateFactory cf = CertificateFactory.getInstance("X509");
c = (X509Certificate) cf.generateCertificate(input);
} catch (final CertificateException e) {
ErrorActivity.reportError(application, new ErrorInfo(e,
UserAction.CHECK_FOR_NEW_APP_VERSION, "Certificate error"));
return "";
}
try {
final MessageDigest md = MessageDigest.getInstance("SHA1");
final byte[] publicKey = md.digest(c.getEncoded());
return byte2HexFormatted(publicKey);
} catch (NoSuchAlgorithmException | CertificateEncodingException e) {
ErrorActivity.reportError(application, new ErrorInfo(e,
UserAction.CHECK_FOR_NEW_APP_VERSION, "Could not retrieve SHA1 key"));
return "";
}
}
private static String byte2HexFormatted(final byte[] arr) {
final StringBuilder str = new StringBuilder(arr.length * 2);
for (int i = 0; i < arr.length; i++) {
String h = Integer.toHexString(arr[i]);
final int l = h.length();
if (l == 1) {
h = "0" + h;
}
if (l > 2) {
h = h.substring(l - 2, l);
}
str.append(h.toUpperCase());
if (i < (arr.length - 1)) {
str.append(':');
}
}
return str.toString();
}
/**
* Method to compare the current and latest available app version.
* If a newer version is available, we show the update notification.
*
* @param application The application
* @param versionName Name of new version
* @param apkLocationUrl Url with the new apk
* @param versionCode Code of new version
*/
private static void compareAppVersionAndShowNotification(@NonNull final Application application,
final String versionName,
final String apkLocationUrl,
final int versionCode) {
final int notificationId = 2000;
if (BuildConfig.VERSION_CODE < versionCode) {
// A pending intent to open the apk location url in the browser.
final Intent viewIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(apkLocationUrl));
final Intent intent = new Intent(Intent.ACTION_CHOOSER);
intent.putExtra(Intent.EXTRA_INTENT, viewIntent);
intent.putExtra(Intent.EXTRA_TITLE, R.string.open_with);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
final PendingIntent pendingIntent
= PendingIntent.getActivity(application, 0, intent, 0);
final String channelId = application
.getString(R.string.app_update_notification_channel_id);
final NotificationCompat.Builder notificationBuilder
= new NotificationCompat.Builder(application, channelId)
.setSmallIcon(R.drawable.ic_newpipe_update)
.setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
.setContentIntent(pendingIntent)
.setAutoCancel(true)
.setContentTitle(application
.getString(R.string.app_update_notification_content_title))
.setContentText(application
.getString(R.string.app_update_notification_content_text)
+ " " + versionName);
final NotificationManagerCompat notificationManager
= NotificationManagerCompat.from(application);
notificationManager.notify(notificationId, notificationBuilder.build());
}
}
private static boolean isConnected(@NonNull final App app) {
final ConnectivityManager connectivityManager =
ContextCompat.getSystemService(app, ConnectivityManager.class);
return connectivityManager != null && connectivityManager.getActiveNetworkInfo() != null
&& connectivityManager.getActiveNetworkInfo().isConnected();
}
public static boolean isGithubApk(@NonNull final App app) {
return getCertificateSHA1Fingerprint(app).equals(GITHUB_APK_SHA1);
}
@Nullable
public static Disposable checkNewVersion(@NonNull final App app) {
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(app);
final NewVersionManager manager = new NewVersionManager();
// Check if user has enabled/disabled update checking
// and if the current apk is a github one or not.
if (!prefs.getBoolean(app.getString(R.string.update_app_key), true) || !isGithubApk(app)) {
return null;
}
// Check if the last request has happened a certain time ago
// to reduce the number of API requests.
final long expiry = prefs.getLong(app.getString(R.string.update_expiry_key), 0);
if (!manager.isExpired(expiry)) {
return null;
}
return Maybe
.fromCallable(() -> {
if (!isConnected(app)) {
return null;
}
// Make a network request to get latest NewPipe data.
return DownloaderImpl.getInstance().get(NEWPIPE_API_URL);
})
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
response -> {
try {
// Store a timestamp which needs to be exceeded,
// before a new request to the API is made.
final long newExpiry = manager
.coerceExpiry(response.getHeader("expires"));
prefs.edit()
.putLong(app.getString(R.string.update_expiry_key), newExpiry)
.apply();
} catch (final Exception e) {
if (DEBUG) {
Log.w(TAG, "Could not extract and save new expiry date", e);
}
}
// Parse the json from the response.
try {
final JsonObject githubStableObject = JsonParser.object()
.from(response.responseBody()).getObject("flavors")
.getObject("github").getObject("stable");
final String versionName = githubStableObject
.getString("version");
final int versionCode = githubStableObject
.getInt("version_code");
final String apkLocationUrl = githubStableObject
.getString("apk");
compareAppVersionAndShowNotification(app, versionName,
apkLocationUrl, versionCode);
} catch (final JsonParserException e) {
// connectivity problems, do not alarm user and fail silently
if (DEBUG) {
Log.w(TAG, "Could not get NewPipe API: invalid json", e);
}
}
},
e -> {
// connectivity problems, do not alarm user and fail silently
if (DEBUG) {
Log.w(TAG, "Could not get NewPipe API: network problem", e);
}
});
}
}

View File

@@ -1,221 +0,0 @@
package org.schabi.newpipe;
import android.app.Application;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.Signature;
import android.net.ConnectivityManager;
import android.net.Uri;
import android.os.AsyncTask;
import androidx.preference.PreferenceManager;
import android.util.Log;
import androidx.core.app.NotificationCompat;
import androidx.core.app.NotificationManagerCompat;
import com.grack.nanojson.JsonObject;
import com.grack.nanojson.JsonParser;
import com.grack.nanojson.JsonParserException;
import org.schabi.newpipe.extractor.exceptions.ReCaptchaException;
import org.schabi.newpipe.report.ErrorActivity;
import org.schabi.newpipe.report.UserAction;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.cert.CertificateEncodingException;
import java.security.cert.CertificateException;
import java.security.cert.CertificateFactory;
import java.security.cert.X509Certificate;
/**
* AsyncTask to check if there is a newer version of the NewPipe github apk available or not.
* If there is a newer version we show a notification, informing the user. On tapping
* the notification, the user will be directed to the download link.
*/
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 NEWPIPE_API_URL = "https://newpipe.schabi.org/api/data.json";
/**
* Method to get the apk's SHA1 key. See https://stackoverflow.com/questions/9293019/#22506133.
*
* @return String with the apk's SHA1 fingeprint in hexadecimal
*/
private static String getCertificateSHA1Fingerprint() {
final PackageManager pm = APP.getPackageManager();
final String packageName = APP.getPackageName();
final int flags = PackageManager.GET_SIGNATURES;
PackageInfo packageInfo = null;
try {
packageInfo = pm.getPackageInfo(packageName, flags);
} catch (final PackageManager.NameNotFoundException e) {
ErrorActivity.reportError(APP, e, null, null,
ErrorActivity.ErrorInfo.make(UserAction.SOMETHING_ELSE, "none",
"Could not find package info", R.string.app_ui_crash));
}
final Signature[] signatures = packageInfo.signatures;
final byte[] cert = signatures[0].toByteArray();
final InputStream input = new ByteArrayInputStream(cert);
X509Certificate c = null;
try {
final CertificateFactory cf = CertificateFactory.getInstance("X509");
c = (X509Certificate) cf.generateCertificate(input);
} catch (final CertificateException e) {
ErrorActivity.reportError(APP, e, null, null,
ErrorActivity.ErrorInfo.make(UserAction.SOMETHING_ELSE, "none",
"Certificate error", R.string.app_ui_crash));
}
String hexString = null;
try {
final MessageDigest md = MessageDigest.getInstance("SHA1");
final byte[] publicKey = md.digest(c.getEncoded());
hexString = byte2HexFormatted(publicKey);
} catch (NoSuchAlgorithmException | CertificateEncodingException e) {
ErrorActivity.reportError(APP, e, null, null,
ErrorActivity.ErrorInfo.make(UserAction.SOMETHING_ELSE, "none",
"Could not retrieve SHA1 key", R.string.app_ui_crash));
}
return hexString;
}
private static String byte2HexFormatted(final byte[] arr) {
final StringBuilder str = new StringBuilder(arr.length * 2);
for (int i = 0; i < arr.length; i++) {
String h = Integer.toHexString(arr[i]);
final int l = h.length();
if (l == 1) {
h = "0" + h;
}
if (l > 2) {
h = h.substring(l - 2, l);
}
str.append(h.toUpperCase());
if (i < (arr.length - 1)) {
str.append(':');
}
}
return str.toString();
}
public static boolean isGithubApk() {
return getCertificateSHA1Fingerprint().equals(GITHUB_APK_SHA1);
}
@Override
protected void onPreExecute() {
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(APP);
// Check if user has enabled/disabled update checking
// and if the current apk is a github one or not.
if (!prefs.getBoolean(APP.getString(R.string.update_app_key), true) || !isGithubApk()) {
this.cancel(true);
}
}
@Override
protected String doInBackground(final Void... voids) {
if (isCancelled() || !isConnected()) {
return null;
}
// Make a network request to get latest NewPipe data.
try {
return DownloaderImpl.getInstance().get(NEWPIPE_API_URL).responseBody();
} catch (IOException | ReCaptchaException e) {
// connectivity problems, do not alarm user and fail silently
if (DEBUG) {
Log.w(TAG, Log.getStackTraceString(e));
}
}
return null;
}
@Override
protected void onPostExecute(final String response) {
// Parse the json from the response.
if (response != null) {
try {
final JsonObject githubStableObject = JsonParser.object().from(response)
.getObject("flavors").getObject("github").getObject("stable");
final String versionName = githubStableObject.getString("version");
final int versionCode = githubStableObject.getInt("version_code");
final String apkLocationUrl = githubStableObject.getString("apk");
compareAppVersionAndShowNotification(versionName, apkLocationUrl, versionCode);
} catch (final JsonParserException e) {
// connectivity problems, do not alarm user and fail silently
if (DEBUG) {
Log.w(TAG, Log.getStackTraceString(e));
}
}
}
}
/**
* Method to compare the current and latest available app version.
* If a newer version is available, we show the update notification.
*
* @param versionName Name of new version
* @param apkLocationUrl Url with the new apk
* @param versionCode Code of new version
*/
private void compareAppVersionAndShowNotification(final String versionName,
final String apkLocationUrl,
final int versionCode) {
final int notificationId = 2000;
if (BuildConfig.VERSION_CODE < versionCode) {
// A pending intent to open the apk location url in the browser.
final Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(apkLocationUrl));
final PendingIntent pendingIntent
= PendingIntent.getActivity(APP, 0, intent, 0);
final NotificationCompat.Builder notificationBuilder = new NotificationCompat
.Builder(APP, APP.getString(R.string.app_update_notification_channel_id))
.setSmallIcon(R.drawable.ic_newpipe_update)
.setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
.setContentIntent(pendingIntent)
.setAutoCancel(true)
.setContentTitle(APP.getString(R.string.app_update_notification_content_title))
.setContentText(APP.getString(R.string.app_update_notification_content_text)
+ " " + versionName);
final NotificationManagerCompat notificationManager
= NotificationManagerCompat.from(APP);
notificationManager.notify(notificationId, notificationBuilder.build());
}
}
private boolean isConnected() {
final ConnectivityManager cm =
(ConnectivityManager) APP.getSystemService(Context.CONNECTIVITY_SERVICE);
return cm.getActiveNetworkInfo() != null
&& cm.getActiveNetworkInfo().isConnected();
}
}

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