Commit graph

153 commits

Author SHA1 Message Date
Mauricio Colli
5ac62b9bdb Make duration plurals naming consistent 2020-03-19 09:44:13 -03:00
Mauricio Colli
229ad77800 Localize duration strings used in feed settings using plurals 2020-03-14 00:12:53 -03:00
Mauricio Colli
8f7695393e Detect if the subscription list should be shown as a grid
Also used proper string keys for the preferences, left a TODO to fix it
in other places later.
2020-03-14 00:12:52 -03:00
Mauricio Colli
f7d1cdcb17 New option to use dedicated feed sources for services that support it
YouTube, for example, has a dedicated feed which was built to be used
like this. It comes with some caveats though, like lacking enough
information about the items and returning a limited amount of them.

Nonetheless, a nice option for users that like speedy updates but don't
mind this issue.
2020-03-14 00:12:39 -03:00
Mauricio Colli
6e6a1752d6 Load only the selected group and customizable updated status timeout
Now only the subscriptions from the selected group by the user will be
loaded.

Also add an option to decide how much time have to pass since the last
refresh before the subscription is deemed as not up to date. This helps
when a subscription appear in multiple groups, since updating in one
will not require to be fetched again in the others.
2020-03-14 00:12:38 -03:00
Mauricio Colli
ee00c8c26f Implement new feed and subscriptions groups
- Introduce Groupie for easier lists implementations
- Use some of the new components of the Android Architecture libraries
- Add a bunch of icons for groups, using vectors, which still is
compatible with older APIs through the compatibility layer
2020-03-14 00:12:31 -03:00
Tobias Groza
a30928c8d6 Merge branch 'dev' into unhook-save-restore 2020-02-23 00:19:44 +01:00
bopol
ce38410f54 use plural string for dynamic_seek_duration_description 2020-02-17 10:12:08 +01:00
bopol
b13c03a99f created default_localization_key 2020-02-16 22:41:32 +01:00
bopol
55fbeb7e28 resolve merge conflicts 2020-02-15 14:53:05 +01:00
B0pol
c2524bb98c Merge branch 'dev' into localisation 2020-02-15 14:14:33 +01:00
bopol
9020ba6280 Multiple localization fixes
With the extractor PR, fixes title & description shown in the wrong language.
Fixed views / spectators counts possibly in the wrong language
Fixed live spectators not showing full count on detail page
Fixed LIVE shown on players, it shows translated instead

Fixed Videos string in search / three dots not available in Weblate
(because it was videos, but there already was a plural string named videos, in Weblate)

Subscriber count is always giving the short count.
We can't get exact number since this YouTube update: https://support.google.com/youtube/thread/6543166
But only short count (B, M, k), so showing full number, eg for 1.9M: 1,900,000, is wrong because the number could be 1,923,490 or 1,897,789…

Added a « sytem default » option to content language and country language selector.
It's the one selected by default (not en-GB anymore then), and correspond to the
language of the system / country of the system
By system I mean phone, tablet, TV…

Fixed russian showing - before time ago (eg 19hrs ago)
This is a workaround fix, I opened an issue on prettytime library repo.

Fixed russian plurals:
other was used instead of many for videos and subscribers

Fixed seek_duration english only
2020-02-15 12:40:23 +01:00
chr56
aa657b7f0c fix wrong langcode of Chinesein settings_keys.xml 2020-02-15 18:39:41 +08:00
Stypox
29080683d0 Save and restore whether pitch and tempo are unhooked or not
Fixes #1536
2020-02-02 15:52:35 +01:00
bopol
eaed951dbd app language: refactoring
renamed NewPipe's language into App language, and same for all the
concerning thing (keys, comments…)

we now call assureCorrectAppLanguage(CONTEXT) in activities needing it
instead of changeAppLanguage(getAppLocale(CONTEXT), RESOURCES)
changeAppLanguage becomes private.
2020-01-29 21:21:00 +01:00
bopol
10bf24aebc made system translatable + renamed it to system's language 2020-01-14 19:11:46 +01:00
bopol
a1ede6b97d added Occitan to the selector 2020-01-14 14:26:53 +01:00
bopol
aa61aa9737 fixed indonesian, see https://stackoverflow.com/questions/13291578/how-to-localize-an-android-app-in-indonesian-language 2020-01-14 14:15:42 +01:00
bopol
b8bb03538b remove todo as it's already done 2020-01-10 16:03:24 +01:00
B0pol
bc0564fa07 Merge branch 'dev' into dev 2020-01-09 10:07:22 +01:00
bopol
af690618d4 changed the way to change language, now is «NewPipe's language» selector 2020-01-09 09:40:05 +01:00
bopol
732bd75d28 Update localizations settings
1) now, on « content language » change, it will also change the app language
2) added Esperanto to the list of language in content language
2020-01-04 21:38:27 +01:00
k1rakishou
aa10bbcede Add a setting for the lock screen thumbnail feature 2020-01-02 15:00:31 +01:00
Xiang Rong Lin
d9c74ae200 Rename "seek_duration_default_key" and use it in BasePlayer 2019-12-13 07:14:17 +01:00
Xiang Rong Lin
00737ab0f2 Add new preference for seek duration.
Add new ListPreference under settings/ video & audio for the duration of a seek.
With options for 5, 10, 15, 20, 25, 30 seconds.
2019-12-13 07:14:17 +01:00
yausername
7547dd59b3 merged upstream/dev 2019-12-10 01:37:33 +05:30
yausername
491cc18bfd easily switch between multiple peertube instances 2019-11-24 21:08:06 +05:30
Robin
768dca0a28 Remember caption option in player, closes #2811 2019-11-24 11:10:50 +01:00
yausername
512fca8897 validate peertube instance. changed peertube color 2019-11-23 00:31:35 +05:30
yausername
2a843a16d7 merged upstream/dev 2019-11-20 03:48:56 +05:30
Mauricio Colli
ab1c2b00da Show parsed relative times instead of whatever the service gives us
Before, the direct value was given to the user, now it uses the parsed
date so we can match the device's language.

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

Also introduces a debug option to check the service's original value.
2019-11-17 23:58:55 -03:00
yausername
ca9dff049c merged upstream/dev 2019-11-16 04:37:14 +05:30
TobiGr
6db535992f Make export_data and import_data settings keys untranslatable 2019-08-22 21:51:59 +02:00
TobiGr
0099d0d3f9 Add option in history settings to delete playback positions 2019-08-22 21:49:33 +02:00
kapodamy
fa0dbaf953 add manual switch in download setting fragment
switch for:
* Java I/O Api
* Storage Access Framework
2019-08-17 13:38:33 -03:00
Vasily
ea8bdd8835 Merge branch 'dev' into playback_state_list 2019-06-23 20:23:29 +03:00
kapodamy
b92b434e2c Simplify the storage APIs use
* use Java I/O (classic way) on older android versions
* use Storage Access Framework on newer android versions (Android Lollipop or later)
* both changes have the external SD Card write permission
* add option to ask the save path on each download
* warn the user if the save paths are not defined, this only happens on the first NewPipe run (Android Lollipop or later)
2019-06-03 18:26:24 -03:00
kapodamy
64626a7709 more SAF implementation
* full support for Directory API (Android Lollipop or later)
* best effort to handle any kind errors (missing file, revoked permissions, etc) and recover the download
* implemented directory choosing
* fix download database version upgrading
* misc. cleanup
* do not release permission on the old save path (if the user change the download directory) under SAF api
2019-06-03 18:18:20 -03:00
kapodamy
7ca7952790 Implement Storage Access Framework
* re-work finished mission database
* re-work DownloadMission and bump it Serializable version
* keep the classic Java IO API
* SAF Tree API support on Android Lollipop or higher
* add wrapper for SAF stream opening
* implement Closeable in SharpStream to replace the dispose() method

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

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

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

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

Fix storage issues:
* warn to the user if is choosing a "read only" download directory (for external SD Cards), useless is rooted :)
* "write proof" allow post-processing resuming only if the device ran out of space
* implement "insufficient storage" error for downloads
2019-06-03 18:09:43 -03:00
Vasiliy
08c558ea20 Option to disable states indicators 2019-04-27 19:04:13 +03:00
Vasiliy
2e36b05a50 Implement playback state management 2019-04-13 13:34:36 +03:00
yausername
a7aa90e10c save selected tab sate in stream detail fragment, fixes #2238 2019-03-24 06:31:28 +05:30
Ritvik Saraf
1c45948255 merged upstream/dev, changes for peertube support 2019-03-10 01:02:25 +05:30
Ritvik Saraf
7a11a72935 merged upstream/dev 2019-01-29 22:32:58 +05:30
Ritvik Saraf
1cfdbea898 added themeing for peertube, change peertube instance 2018-12-29 23:06:39 +05:30
krtkush
0367c515f3 Conflict resolution. 2018-12-28 18:07:54 +05:30
Ritvik Saraf
f3b2724975 merged upstream/dev 2018-12-20 08:51:44 +05:30
Ritvik Saraf
5d659c24dc merged upstream/dev 2018-12-04 23:19:57 +05:30
kapodamy
bb7bf8ccf2 Update settings_keys.xml
* remane max_try -> maximum_try
2018-11-29 15:19:53 -03:00