Commit graph

244 commits

Author SHA1 Message Date
tobigr
bec287b2cb [Player] Use original audio language by default 2025-12-22 10:15:18 +01:00
Stypox
c4baf36d96 Merge pull request #12093 from mileskrell/mileskrell/support-per-app-language-preferences
Support per-app language preferences
2025-04-08 23:13:07 +02:00
Miles Krell
18012032f1 Redirect to per-app language settings on Android 13+ 2025-03-15 21:56:02 -04:00
Stypox
ce16c542a2 Have PlayerService implement MediaBrowserServiceCompat
Co-authored-by: Haggai Eran <haggai.eran@gmail.com>
2025-02-16 21:36:59 +01:00
pratyaksh1610
3e14dd3976 moved player notification to notification section 2024-03-30 15:23:46 +01:00
Tobi
cdd8a91c07 Ask for consent before starting update checks
NewPipe is contacting its servers without asking for the users' consent. This is categorized as "tracking" by F-Droid (see https://github.com/TeamNewPipe/NewPipe/discussions/10785).

This commit disables checking for udpates by default and adds a dialog asking for the user's consent to automatically check for updates if the app version is eligible for them. After upgrading to a version containing this commit the user is asked directly on the first app start. On fresh installs however, showing it on the first app start contributes to a bad onboarding an welcoming experience. Therefore, the dialog is shown at the second app start.

Co-authored-by: Stypox <stypox@pm.me>
2024-03-28 23:42:00 +01:00
Stypox
95ae77a915 Merge branch 'dev' into pr9236 2024-03-28 18:43:29 +01:00
Stypox
a6a7c2271a Add image quality preference 2023-09-22 10:14:43 +02:00
TobiGr
f259e2dc7d Add summary to reset preference 2023-09-21 16:01:07 +02:00
TobiGr
f91686cf45 Create new settings category: Backup and restore
Following settings have been move to the new category:
- import database (from ContenttSettings)
- export database (from ContenttSettings)
- reset settings (from DebugSettings)
2023-09-21 16:01:07 +02:00
vincetzr
9bd8e7dbe2 Update app/src/main/res/xml/debug_settings.xml
Ensuring title to be fully displayed on small devices.

Co-authored-by: Tobi <TobiGr@users.noreply.github.com>
2023-09-21 16:01:07 +02:00
Vincent Tanumihardja
41f5ba4f2b Cleaned up xml files. 2023-09-21 16:01:07 +02:00
Vincent Tanumihardja
93cef624c8 Added reset button but working as intended for theme. 2023-09-21 16:01:07 +02:00
Vincent Tanumihardja
3e40fe3ea9 Added reset button but slightly working as intended. 2023-09-21 16:01:07 +02:00
Vincent Tanumihardja
a570f70fce Added reset button but not working as intended. 2023-09-21 16:01:07 +02:00
ThetaDev
36b11db357 feat: filter fetched channel tabs 2023-09-18 23:22:32 +02:00
ThetaDev
1b0528870a feat: add option to hide channel tabs 2023-09-18 23:22:31 +02:00
Tobi
395e1ce83e Merge pull request #9719 from Marius1501/tabs_on_bottom
Added bottom main-tabs feature
2023-07-18 22:03:47 +02:00
Isira Seneviratne
aebd251713 Remove unused resources. 2023-05-08 06:27:41 +05:30
ThetaDev
e2bb4082bb Merge branch 'dev' into alang-selector 2023-04-17 23:01:07 +02:00
AudricV
445b0380b4 [Android 6+] Add ability to always use ExoPlayer's MediaVideoCodecRenderer setOutputSurface workaround
As some devices not present in ExoPlayer's list may not implement
MediaCodec.setOutputSurface(Surface) properly, this workaround could be useful
on these devices.

It forces ExoPlayer to fall back on releasing and re-instantiating video codec
instances, which is always used on Android 5 and lower due to addition of this
method in Android 6.

To do so, a CustomMediaCodecVideoRenderer, based on ExoPlayer's
MediaVideoCodecRenderer which always return true for the
codecNeedsSetOutputSurfaceWorkaround method has been added, which is used in
CustomRenderersFactory, a class based on DefaultRenderersFactory which always
returns our CustomMediaCodecVideoRenderer as the video renderers.

CustomRenderersFactory replaces DefaultRenderersFactory in the player, in the
case this setting is enabled.
2023-04-10 17:39:27 +02:00
AudricV
bc7758d29f Move media tunneling setting to ExoPlayer settings and make this setting available on release builds
Media tunneling may be not supported by more devices than the ones we
whitelisted before.

As a matter of fact, the list of devices on which media tunneling is disabled
could be not maintainable in the future, especially if the list of devices
grows more and more.

A preferable solution is to allow users to configure this setting themselves,
allowing them to not wait for their device(s) to be whitelisted in a future
NewPipe update.

This solution has been applied in this commit and works on every build type.

The corresponding preference in the debug settings has been of course removed
and the code used to prevent media tunneling activation on specific devices has
been removed.
2023-04-10 17:37:30 +02:00
AudricV
04ddd39233 Add ability to use ExoPlayer's decoder fallback option
This option could help to avoid decoder initialization issues, which falls back
to lower-priority decoders if decoder initialization fails. This may result in
poor playback performance than when using primary decoders.

It is disabled by default, but can be enabled in ExoPlayer settings.
2023-04-10 17:37:30 +02:00
AudricV
9ff218b97a Add ExoPlayerSettingsFragment and move playback load interval size setting into it
This fragment has been added into SettingsResourceRegistry, to allow searches
in its options.

It has been placed at the place of the previous playback load interval size
setting (so in Video and Audio settings).
2023-04-10 17:37:30 +02:00
ThetaDev
bd9c130fef Merge branch 'dev' of github.com:TeamNewPipe/NewPipe into alang-selector 2023-04-05 14:06:14 +02:00
ge78fug
1908a477d3 Made two list options 2023-04-04 09:57:06 +02:00
ge78fug
c9b3dfda7e Created a setting to switch the sides of volume and brightness 2023-04-04 09:57:06 +02:00
ThetaDev
58cb6a99f9 feat: add prefer original option, improve audio stream ordering 2023-03-19 20:40:27 +01:00
ThetaDev
7160c694c1 feat: improve audio track sorting, add prefer_descriptive_audio option 2023-03-18 14:50:19 +01:00
Nyan Cat
686a079531 Implement Ignore hardware media button events option 2023-02-26 14:02:50 +01:00
Trust_04zh
62a906bb73 Make positions in list depend on watch history, remove confusing animations
The following is the list of all commits squashed together:

Regain function for option `Positions in lists`

use option `Resume playback` to control display of progress info in VideoDetailFragment, remove this (extra) function from option `Positions in lists`.
remove extra check for live streams, live streams updates just as non-live streams.

fix #8176 by eliminating exit delay

Regain function for option `Positions in lists`

update code with developer's comments

 apply static import to methods in util class DependentPreferenceHelper

Regain function for option `Positions in lists`

use option `Resume playback` to control display of progress info in VideoDetailFragment, remove this (extra) function from option `Positions in lists`.
remove extra check for live streams, live streams updates just as non-live streams.

fix behavior for displaying progress bar when autoplay off but video resume on

not to retrieve unnecessary states when position in lists disabled

fix mistake in code

simplify conditional logic

update doc comment and remove unused method

Fix not showing duration if position indicators disabled

Positions in lists only depends on watch history
2023-02-07 09:48:18 +01:00
ge78fug
8ce96101c1 Added bottom main-tabs feature 2023-01-25 19:25:57 +01:00
TacoTheDank
1b76dfd7c9 Utilize useSimpleSummaryProvider attribute 2022-09-23 01:46:34 -04:00
litetex
4a4ca3c18e Clean up pre-Lollipop checks 2022-07-13 19:02:24 +02:00
Stypox
f7faf0b202 Make "Player notification" PreferenceScreen searchable 2022-03-19 22:44:59 +01:00
Stypox
6ead95b5d2 Merge branch 'dev' into pr2335 2022-03-19 22:29:10 +01:00
litetex
7c8a301ffe Minor rework
* Moved settings to a better section
* Made string a bit shorter
2022-03-01 20:14:53 +01:00
karyogamy
4e3d71929d - added: variable load check interval for progressive stream.
- added: preferences to allow user setting of above.
2022-03-01 20:14:53 +01:00
TobiGr
c75babedb8 Merge branch 'dev' into feature/notifications 2022-02-19 12:34:44 +01:00
litetex
d7b316863a Made debug settings searchable (debug only)
* Consolidated main-setttings into a single file
* Debug settings are only enabled in the DEBUG build
* Moved LeakCanary (debug) specific stuff into a small class that's only shipped with the debug build
* Other minor fixes
2022-01-24 21:08:45 +01:00
litetex
3a26dee3f3 Moved reset-reCAPTCHA-cookie to cache tab and made it read-only
so that the search works as expected
2022-01-24 21:08:42 +01:00
litetex
0fedfce411 Code cleanup 2022-01-24 21:08:39 +01:00
Stypox
53832bc37f Add more checking frequencies, use DurationListPreference 2022-01-24 10:12:25 +01:00
Stypox
c70713a925 Merge branch 'dev' into pr2335 2021-12-31 19:20:18 +01:00
TobiGr
6b72d42301 Add app:singleLineTitle="false" to preferences 2021-12-08 21:14:32 +01:00
TobiGr
66aff3ed30 Merge remote-tracking branch 'origin/dev' into notifications 2021-12-07 17:29:37 +01:00
Stypox
8dd6db2e06 Add debug prefs to show error snackbar/notification 2021-12-04 10:36:36 +01:00
Stypox
8eec9b55bf Remove PlayerErrorHandler and correctly set ErrorInfo msg 2021-12-04 10:36:36 +01:00
litetex
e66ba3e68a Moved report_player_errors to debug 2021-11-23 20:16:01 +01:00
litetex
8e7de5a4a6 Added a "Crash the player" debug option 2021-11-23 20:12:09 +01:00