Commit graph

488 commits

Author SHA1 Message Date
litetex
2c2904d59c Replaced `Icepick with Bridge and Android-State`
* IcePick fails on Java 21 (default in Android Studio 2024.2)
* Bridge is the most modern alternative that is currently available. It is backed by ``Android-State`` and can be configured with various frameworks
* In the long term this should be replaced with something better
2024-10-23 21:28:07 +02:00
Stypox
a67f08008d Update NewPipeExtractor to v0.24.2 2024-07-25 18:40:50 +02:00
Stypox
ecee42d690 Fix indentation for ktlint 2024-04-23 20:16:04 +02:00
TobiGr
8652485556 Improve documentation 2024-04-04 15:49:12 +02:00
Stypox
01a305e480 Show notification when failing to import settings 2024-03-30 18:53:45 +01:00
Stypox
7af41e2770 Expose all import/export errors to the user 2024-03-30 18:47:20 +01:00
Stypox
3f4aebac1b Add test zips and extensive tests for ImportExportManager
Now all possible combinations of files in the zip (present or not) are checked at the same time
2024-03-30 18:42:11 +01:00
Stypox
dd4bbdffd6 Use JSON for settings imports/exports 2024-03-30 16:58:12 +01:00
Stypox
b45b9c10ce Show snackbar error when settings import fails 2024-03-30 16:12:41 +01:00
Stypox
ef9396bbcb Fix vulnerability with whitelist-aware ObjectInputStream
Only a few specific classes are now allowed.
2024-03-30 16:12:35 +01:00
Stypox
0e2f590723 Move import export manager to separate folder 2024-03-30 15:49:05 +01:00
Stypox
77d913295f Apply review 2024-03-29 18:08:37 +01:00
Stypox
564e34b3e7 Merge branch 'dev' into pr8221 2024-03-29 18:08:31 +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
Isira Seneviratne
e2d21cbf1f Convert isReleaseApk to lazy value 2024-03-20 14:00:13 +01:00
Stypox
34241c30e3 Android 33 -> Android 13
Co-authored-by: Tobi <TobiGr@users.noreply.github.com>
2023-12-30 21:55:32 +01:00
Stypox
368b9649d7 Allow each notification slot to contain any possible action 2023-12-29 15:54:15 +01:00
Stypox
ef6bfa24f0 Extract NotificationSlot from NotificationActionsPreference 2023-12-29 12:31:59 +01:00
Stypox
57090022d1 Customize only 2 notification actions on Android 13+ 2023-12-29 12:13:08 +01:00
Tobi
80d25720be Merge pull request #9987 from Edwardsoen/add_high_resolution_to_default_option
Include a high-resolution option in the default resolution settings.
2023-09-24 17:54:18 +02:00
Stypox
4164bf36f6 Implement better image selection strategy 2023-09-22 10:14:44 +02:00
Stypox
a6a7c2271a Add image quality preference 2023-09-22 10:14:43 +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
Vincent Tanumihardja
e2e390c0bc Added strings to strings.xml to allow translation. 2023-09-21 16:01:07 +02:00
Vincent Tanumihardja
ae52f18561 Revert changes made to dev. 2023-09-21 16:01:07 +02:00
Vincent Tanumihardja
4332f062cf Added delete xml method inside the yes dialogue. 2023-09-21 16:01:07 +02:00
Zhidong Piao
768defdab3 clear shared preference xmls 2023-09-21 16:01:07 +02:00
Vincent Tanumihardja
9ba69cc073 Changed alert dialogue. 2023-09-21 16:01:07 +02:00
Vincent Tanumihardja
e1524cb76a Added alert dialogue and restarts the app when resetting settings. 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
TobiGr
b134d75549 Deduplicate code to initialize ClickListeners on playlist controls
Add the separate utility class PlayButtonHelper to handle the initialization of the listeners.
The ClickListeners on playlist controls had different behaviours. This commit fixes that.

The commit also refactors the way how the app determines whether it is started for the first time. The previous version was not clean and recent in this PR caused it to fail.
2023-09-18 23:22:32 +02:00
Stypox
aa4ec2f39e Channels are now an Info
The previous "main" tab is now just a normal tab returned in getTabs().
Various part of the code that used to handle channels as ListInfo now either take the first (playable, i.e. with streams) tab (e.g. the ChannelTabPlayQueue), or take all of them combined (e.g. the feed).
2023-09-18 23:22:32 +02:00
Stypox
559a1a46e1 Move channel header to collapsible app bar 2023-09-18 23:22:32 +02:00
ThetaDev
11f83b8e24 feat: add channel tabs 2023-09-18 23:22:31 +02:00
TobiGr
25034bb1b3 Add documentation to increase maintainablilty
Rename a variable
2023-09-18 01:45:53 +02:00
Edward
db6a9fcad9 Include a high-resolution option in the default resolution settings. 2023-09-18 01:15:22 +02:00
TobiGr
387a42316a Fix some sonar warnings and make some smaller improvements 2023-08-14 23:09:50 +02:00
TobiGr
d1026176bd Fixed some Sonar warnings 2023-08-03 12:02:08 +02:00
TobiGr
6fe07cd708 Replace settings migration with automatic check for device blacklist version 2023-07-31 23:00:54 +02:00
TobiGr
829b36a9cd Ensure that imports handle disabling media tunneling correctly
Store in preferences whether media tunneling was disabled automatically.
Show info in ExoPlayer settings if media tunneling was disabled autmatically.
2023-07-29 22:08:51 +02:00
TobiGr
cce9e09bbc Disable media tunneling if the device is known for not supporting it
Revert removing the Utils related to media tunneling.
2023-07-29 14:13:03 +02:00
TobiGr
82de412b9c Make some constants private and annotate params 2023-07-29 14:13:03 +02:00
TacoTheDank
fc320354b1 Clean up AlertDialogs 2023-07-11 21:54:10 -04: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
Stypox
464a4433d5 Fix settings migration 2023-04-04 11:06:20 +02:00
Stypox
8d421ef0c3 Fix checkstyle 2023-04-04 10:02:01 +02:00
ge78fug
fcbebba712 Changed the default of the switches 2023-04-04 09:57:06 +02:00