Commit graph

4348 commits

Author SHA1 Message Date
TobiGr
9dd0f1984f Replace if-else with switch 2026-05-16 08:35:29 +02:00
George Laios
18d54b6225 Fix repeat mode UI out-of-sync when switching videos 2026-05-16 05:46:36 +03:00
tobigr
07b4fa7b35 Merge branch 'master' into dev 2026-05-01 23:59:24 +02:00
Stypox
6d52522523
Add popup for NewPipe dropping support for Android 5 2026-05-01 12:05:04 +02:00
Stypox
9360d2f61c
Cleanup KeepAndroidOpen dialog code 2026-04-29 14:49:31 +02:00
Y2kz
6740af2c71
Fix video playback when exiting popup to main screen (#13437)
Fix for the issue ( #6400 ) wrong video plays when exiting popup mode to fullscreen.
2026-04-25 02:21:38 -07:00
Shafqat Bhuiyan
a719b898a1 Fix playback not working after player enters idle state
On some phones (e.g. Oppo and Oneplus) the video player enters the STATE_IDLE 10 minutes after being paused. This causes the play button to stop working.

This happens because once a player has become idle, we need to call prepare() before playback can happen again.

But after I added prepare(), it would just skip to the end of the video. So now I'm executing the same code that happens when ERROR_CODE_UNSPECIFIED is done. This causes playback to resume normally.
2026-04-20 05:48:06 +02:00
Aayush Gupta
c4a6bdd7d4 Remove non-required API M version checks
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2026-04-19 19:44:23 +08:00
Aayush Gupta
4effcad436 libs: Update checkstyle to latest release and fix violations
Javadoc comment at column 46 has parse error. Details: no viable alternative at input '<http:/' while parsing HTML_ELEMENT [UnusedImports]

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2026-04-16 16:13:25 +08:00
arjun
07a2ab29de Fix NullPointerException in enqueue actions by using Application Context
Use getApplicationContext() instead of getContext() in ENQUEUE,
ENQUEUE_NEXT, START_HERE_ON_BACKGROUND, and START_HERE_ON_POPUP
entries to prevent NullPointerException when the fragment's activity
context becomes null during configuration changes (e.g. device rotation).

The fragment context can become null when the activity is destroyed
during rotation, but the async callback from fetchItemInfoIfSparse
still holds a reference to the now-detached fragment. Using
Application context ensures a stable, non-null context throughout
the async operation lifecycle.
2026-03-28 14:25:48 +05:30
Isira Seneviratne
5f1a270ca4 Fix database import 2026-03-16 14:48:23 +08:00
Isira Seneviratne
aba2a385fd Inline variable 2026-03-16 14:47:24 +08:00
Isira Seneviratne
71a3bf2855 Use InputStream#transferTo() 2026-03-16 14:47:17 +08:00
Isira Seneviratne
ebb937934a Fix DB import/export issue 2026-03-16 14:47:08 +08:00
Isira Seneviratne
223b240299 Refactor zip import/export using Path 2026-03-16 14:46:09 +08:00
evermind
bfcc31ec89 BackupRestoreSettingsFragment: add UI options to import/export subscriptions
* create SubscriptionsImportExportHelper to share common code used in
  SubscriptionFragment and BackupRestoreSettingsFragment
* Add UI options for import/export in BackupRestoreSettingsFragment
2026-03-15 20:54:58 +08:00
Aayush Gupta
6fa97e17f5 subscription: Port subscription import-export to workers from refactor
Please see https://github.com/TeamNewPipe/NewPipe/pull/11759/ for the original change

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2026-03-15 20:51:29 +08:00
Aayush Gupta
0d65733e53
Merge pull request #13207 from TobiGr/small-fixes
Small improvements to Image handling
2026-03-15 19:21:06 +08:00
Aayush Gupta
9cc6f9fd68
Merge pull request #13305 from dustdfg/remove_freedroid_license
Remove freedroidwarn license
2026-03-15 19:18:32 +08:00
AbsurdlyLongUsername
521f60af85 Change URL to FAQ 2026-03-07 19:13:02 +00:00
AbsurdlyLongUsername
b8ec9bf412 Maybe this fix ktlint errors? 2026-03-06 12:55:09 +00:00
AbsurdlyLongUsername
e173bf4252 Add Sign in confirm not a bot issue URL to the exception error message
Make error panel and error activity exception message URLs clickable via extension method

Change ErrorMessage.getString to getText and return CharSequence, and use getText with formatArgs to preserve styling (i.e. URLs)
2026-03-06 12:35:19 +00:00
Yevhen Babiichuk (DustDFG)
9f45aa571c Remove freedroidwarn license 2026-03-04 22:45:07 +02:00
Yevhen Babiichuk (DustDFG)
0020a02a28 Apply suggestion 2026-03-02 08:42:07 +02:00
Stypox
e22b046326
Fix inconsistency in getQuantity and add docs
`getQuantity()` was being called in a couple of places with `zeroCaseStringId=0`, but that wasn't documented anywhere, and if `count==0` then `getString(zeroCaseStringId /* == 0 */)` would be returned which doesn't make sense
2026-02-26 19:08:33 +01:00
Yevhen Babiichuk (DustDFG)
042f9460b0 Don't show Keep Android Open popup on debug builds 2026-02-26 11:39:10 +02:00
Tobi
9f1e2c6fd0
Merge pull request #13282 from dustdfg/keep_android_open
Add warning banner about ongoing google certification for android apps
2026-02-25 17:08:49 -08:00
tobigr
66237abb3c KeepAndroidOpen: Choose website language from list of supported languages 2026-02-26 01:27:36 +01:00
Yevhen Babiichuk (DustDFG)
195a76bb08 Correctly retrieve menu item inside download dialog 2026-02-26 01:09:07 +02:00
Yevhen Babiichuk (DustDFG)
06e4548c14 Add warning banner about ongoing google certification for android apps 2026-02-25 18:35:41 +02:00
Aayush Gupta
9f193a3b00
Merge pull request #13272 from theimpulson/coilport
Migrate from Picasso to Coil
2026-02-22 10:35:43 +08:00
Alex Popov
423f95a65d Refactor double tap logic to use isPlaying() method for better readability 2026-02-21 20:03:25 +01:00
Alex Popov
caebf8461a Hide controls when resuming playback via double tap
Remove redundant comment about hiding controls on double tap
2026-02-21 19:54:59 +01:00
Tobi
52a9b60180
Merge pull request #13148 from dustdfg/extractor_enum_set
Accomodate extractor changes (EnumSet for service media capabilities)
2026-02-21 09:10:55 -08:00
Tobi
4bad882668
Merge pull request #13037 from dustdfg/tablet_related_items
VideoDetailFragment: hide relatedItemsLayout in tablet mode after fullscreen
2026-02-21 09:03:11 -08:00
Yevhen Babiichuk (DustDFG)
08b7da4b2b Accomodate extractor changes (EnumSet for service media capabilities) 2026-02-21 16:55:31 +01:00
Aayush Gupta
57364109f4 Migrate from Picasso to Coil
Based on changes from refactor

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2026-02-21 16:48:57 +08:00
Clippy
4481dd7fe6
Merge pull request #13135 from dustdfg/player_loop_refactor
Misc player loop/stream refactors
2026-02-21 06:25:58 +00:00
Aayush Gupta
273b09a3e8 App: Migrate from Java to Kotlin
Based on changes from refactor branch for code parity

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2026-02-21 00:06:12 +08:00
Aayush Gupta
653b33bdb9 FocusOverlayView: Avoid accessing restricted API
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2026-02-20 16:16:50 +08:00
Aayush Gupta
10b943f37e DownloadDialog: Avoid using restricted API for menuitem
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2026-02-20 16:16:50 +08:00
Aayush Gupta
2182ff12b7 Use correct constant for hiding keyboard
../../src/main/java/org/schabi/newpipe/local/subscription/dialog/FeedGroupDialog.kt:509: Must be one or more of: InputMethodManager.HIDE_IMPLICIT_ONLY, InputMethodManager.HIDE_NOT_ALWAYS

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2026-02-20 16:16:50 +08:00
Aayush Gupta
b3f4cb8114 Use requireContext() instead of asserting non-null context
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2026-02-20 16:16:50 +08:00
Aayush Gupta
2f3a993f8e ReCaptchaActivity: Supress lint error for missing super call
saveCookiesAndFinish method handles back navigation

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2026-02-20 16:16:50 +08:00
Aayush Gupta
582f852e7a Add missing permission checks for notifications
Notifications can be disabled manually even after permission has been granted once.
Always check if they are enabled before notifying the user.

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2026-02-20 16:16:50 +08:00
Aayush Gupta
5b009453f2 Address non-final resource IDs warnings
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2026-02-20 16:16:50 +08:00
Tobi
834f136102
Merge pull request #13247 from dustdfg/crashlog_fix
Partially revert:  ErrorActivity: Kotlin-fy buildMarkdown method
2026-02-19 00:37:56 -08:00
Tobi
4cfd36ce5b
Merge pull request #13203 from dustdfg/video_detail_fragment_click_through
VideoDetailFragment: Forcefully catch click events uncaught by children
2026-02-18 23:45:35 -08:00
vt
9f8055f018 remove existing comment replies screens before adding new one 2026-02-19 12:07:22 +05:30
Yevhen Babiichuk (DustDFG)
70cdaf5550 Partially revert: ErrorActivity: Kotlin-fy buildMarkdown method
Partially reverts c3dbed54e5
Fix the bug where collapse container for several crashlogs is created
when only one crash log present
2026-02-13 13:43:54 +02:00