Commit graph

158 commits

Author SHA1 Message Date
Tobias Groza
36f26542cb Merge pull request #3178 from cool-student/notificationImprovements
Notification Improvements
2020-09-27 10:43:11 +02:00
bopol
fce180d9b2 Translations improvements :
- remove duplicated string (name) and avoid potential duplicate (autoplay_never_description -> Never, autoplay_always_description -> Always because they are just "Always" or "Never"). Fixes #4268
- leakCanary string removed (fixes #4233)
2020-09-24 15:24:59 +02:00
Stypox
e861be10d9 Merge branch 'dev' into pr3178 2020-09-08 23:58:10 +02:00
Stypox
847fb84854 Add notification costumization settings menu 2020-09-08 22:00:24 +02:00
TacoTheDank
61c10ad427 Use AndroidX preference 2020-09-06 12:52:42 +02:00
Stypox
116c4218ac Extract hardcoded strings into strings.xml and improve them 2020-09-03 21:54:31 +02:00
Stypox
c6aef07932 Completely remove old player notification 2020-08-15 22:03:32 +02:00
Stypox
4dd47f8adf Merge branch 'dev' into pr3178 2020-08-02 22:59:43 +02:00
cool-student
dc4a37b37e Notification Improvements
- add MediaStyle notifications for Background and Popup playback
- reduce excessive notification updating ( / recreating of Notification.Builder object) when playing background / popup media
- add new buffering state indicator (can be disabled)
- upscale close icon / downscale replay icon
- add notification slot settings
- move notification settings to appearance
- fix Metadata (song title, artist and album art) sometimes not being set correctly
- other misc notification fixes

Co-authored-by: wb9688 <wb9688@users.noreply.github.com>
2020-07-31 09:10:28 +02:00
Avently
aef78ace88 Merged the latest changes 2020-07-13 04:17:21 +03:00
Stypox
c80aba9a88 Use vector drawables instead of PNGs for material icons
For all manually-created images PNG have been kept.
- rename all icon attrs to have a `ic_` prefix
- always use `_24dp` icons, because there is no real difference, since they are vector drawables
- always use the original name found on material.io for icon drawables, as to not create confusion and possibly duplicates. Icon names can still be different from real drawable names, though I have made some of them compliant to this or maybe more meaningul.
- remove duplicate `getIconByAttr()` in ThemeHelper (use `resolveResourceIdFromAttr()`
- use standard icons for `expand_more` and `expand_less` instead of triangles
- use `play_button_outline` instead of custom PNG as play button in VideoDetailFragment (questionable, as there is no shadow anymore)
2020-05-21 15:39:35 +02:00
Vincent Nagel
6bd25dc805 rename setting to "YouTube restricted mode" 2020-04-20 21:47:32 -05:00
Vincent Nagel
eed9fe2684 renamed to "restricted mode" 2020-04-20 21:46:40 -05:00
Mauricio Colli
229ad77800 Localize duration strings used in feed settings using plurals 2020-03-14 00:12:53 -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
Avently
9e2e96812b Better backstack, better tablet support, switching players confirmation, fix for background playback 2020-03-10 12:06:38 +03:00
opusforlife2
ffac5a6cfa Relocate two settings from Appearance to Content 2020-03-04 18:41:41 +05:30
bopol
b13c03a99f created default_localization_key 2020-02-16 22:41:32 +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
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
Avently
b190231a1d New features and fixes
- added autoplay options inside settings: always, only on wifi, never
- now statusbar will be shown in fullscreen mode
- playlists, channels can be autoplayed too (if enabled)
- changed title of background activity to Play queue
- fixed a crash
2020-01-08 19:16:50 +03:00
TobiGr
85da8b0652 Enable lockscreen video thumbnail by default 2020-01-02 15:00:31 +01:00
k1rakishou
aa10bbcede Add a setting for the lock screen thumbnail feature 2020-01-02 15:00:31 +01:00
Avently
efc10c8717 All players in one place
- main, background, popup players now connected via one service, one view, one fragment, one activity and one gesture listener
- playback position is synchronized between players. Easy to switch from one to another
- expandable player at the bottom of the screen with cool animation and additional features like long click to open channel of a video, play/pause/close buttons and swipe down to dismiss
- in-player integrated buttons for opening in browser, playing with Kodi, sharing a video
- better background playback that can be activated in settings. Allows to automatically switch to audio-only mode when going to background and then switching to video-mode when returning to the app.
2019-12-30 00:15:01 +03: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
84297f9498 reorder peertube settings entry 2019-12-03 07:16:25 +05:30
yausername
491cc18bfd easily switch between multiple peertube instances 2019-11-24 21:08:06 +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
Mauricio Colli
cb2f0625b1 Use new Localization and Downloader implementations from extractor 2019-11-17 23:58:52 -03:00
yausername
ca9dff049c merged upstream/dev 2019-11-16 04:37:14 +05:30
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
Ritvik Saraf
1c45948255 merged upstream/dev, changes for peertube support 2019-03-10 01:02:25 +05:30
Ritvik Saraf
12464874a3 updated extractor, fixed settings padding 2019-02-20 05:24:33 +05:30
Ritvik Saraf
4113e744c4 merged upstream/dev 2019-02-16 02:06:18 +05:30
Chinmaya Krishnan Mahesh
023a317070 Fix padding in settings layout (Fixes #1866) 2019-02-08 17:33:35 -06:00
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