Stypox
abfde872f1
Merge pull request #12623 from Isira-Seneviratne/Merge-dev-to-refactor
2025-09-10 09:17:40 +02:00
Isira Seneviratne
c98f56bf7b
Merge branch 'dev' into Merge-dev-to-refactor
...
# Conflicts:
# app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java
# app/src/main/java/org/schabi/newpipe/player/Player.java
# app/src/main/java/org/schabi/newpipe/player/PlayerService.java
# app/src/main/java/org/schabi/newpipe/player/playqueue/PlayQueue.java
# app/src/main/java/org/schabi/newpipe/player/playqueue/PlayQueueItem.java
2025-09-10 08:37:57 +05:30
Profpatsch
45c22c0db8
Merge pull request #12615 from Isira-Seneviratne/Player-intent-refactor
...
Refactor player intent logic
2025-09-09 10:24:42 +02:00
Isira Seneviratne
89c4eb5237
Refactor player intent logic
2025-09-08 07:56:13 +05:30
Stypox
759342fa62
Merge pull request #12612 from Profpatsch/rename-fullscreen-buttons
2025-09-07 18:00:47 +02:00
Profpatsch
0382cfd2ae
MainPlayerUi: separate enter/exit fullscreen methods
...
Most usages of `toggleFullscreen` are clear about whether they want to
enter or exit fullscreen, so let’s split the setup into two functions
for easier debugging.
The two remaining uses of `toggleFullscreen` *should* really toggle,
but I’m not 100% sure.
Also rename `onScreenRotationButtonClicked` to
`onFullscreenToggleButtonClicked`, since we renamed the button id
earlier.
2025-09-07 13:23:15 +02:00
Profpatsch
753a3e68d5
player.xml: Rename fullscreen buttons
...
Their names must have come from a very old version of the app, they
both toggle the fullscreen mode and rotate the screen depending on
circumstances.
So
`fullscreenButton` -> `fullscreenToggleButtonSecondaryMenu` because it
is only visible in the secondary video menu on some configurations.
and
`screenRotationButton` -> `fullscreenToggleButton` because it is the main
fullscreen button next to the video progress bar.
2025-09-07 12:25:56 +02:00
Stypox
b6bd87a4dc
Merge pull request #12609 from Stypox/image-vector-app-icon
2025-09-06 18:01:10 +02:00
Stypox
b36201442d
Use ImageVector to render NewPipe squircle app icon
2025-09-06 17:59:42 +02:00
Stypox
803aba4935
Merge pull request #12254 from TeamNewPipe/timestamp-keep-current-player
2025-09-06 17:51:36 +02:00
Profpatsch
1723bf0e8a
Player/handleIntent: keep current player when clicking timestamp
...
This was always a bit weird, that clicking a timestamp would
unconditionally switch to the popup player.
With the new enum, it’s trivial to change it to always stay at the
selected player now ;)
2025-09-06 17:40:18 +02:00
Stypox
9d3775f132
Rewrite logo SVGs to make them line-only
...
Also optimize them with svgo
2025-09-06 17:23:31 +02:00
Stypox
b2d89a41fb
Merge pull request #12604 from Isira-Seneviratne/Refactor-EmptyState
2025-09-06 15:33:49 +02:00
Profpatsch
eb277fe14b
Player/handleIntent: call handleIntentPost unconditionally
...
We always need to handleIntentPost otherwise the VideoDetailFragment
is not setup correctly.
2025-09-06 15:31:14 +02:00
Profpatsch
d77771a60c
Player/handleIntent: fix enqueue if player not running
...
In 063dcd41e5
I falsely claimed that the
fallthrough case is always degenerate, but it kinda somehow still
worked because if you long-click on e.g. the popup button, it would
call enqueue, but if nothing was running yet it would fallthrough to
the very last case and start the player with the video.
So let’s return to that and add a TODO for further refactoring in the
future.
2025-09-06 15:09:11 +02:00
Profpatsch
01f9a3de33
Fix Checkstyle & remove unused fields
2025-09-06 15:09:11 +02:00
Profpatsch
150649aea9
Player/handleIntent: Don’t delete queue when clicking on timestamp
...
Fixes https://github.com/TeamNewPipe/NewPipe/issues/11013
We finally are at the point where we can have good logic around
clicking on timestamps.
This is pretty straightforward:
1) if we are already playing the stream (usual case), we skip to the
correct second directly
2) If we don’t have a queue yet, create a trivial one with the stream
3) If we have a queue, we insert the video as next item and start
playing it.
The skipping logic in 1) is similar to the one further down in the old
optimization block, but will always correctly fire for timestamps now.
I copied it because it’s not quite the same code, and moving into a
separate method at this stage would complicate the code too much.
2025-09-06 15:09:11 +02:00
Profpatsch
3803d49489
Player/handleIntent: separate out the timestamp request into enum
...
Instead of implicitely reconstructing whether the intent was
intended (lol) to be a timestamp change, we create a new kind of
intent that *only* sets the data we need to switch to a new timestamp.
This means that the logic of what to do (opening a popup player) gets
moved from `InternalUrlsHandler.playOnPopup` to the
`Player.handleIntent` method, we only pass that we want to jump to a
new timestamp. Thus, the stream is now loaded *after* sending the
intent instead of before sending.
This is somewhat messy right now and still does not fix the issue of
queue deletion, but from now on the queue logic should get more
straightforward to implement.
In the end, everything should be a giant switch. Thus we don’t
fall-through anymore, but run the post-setup code manually by calling
`handeIntentPost` and then returning.
2025-09-06 15:06:53 +02:00
Profpatsch
25a4a9a253
Player/handleIntent: move prefs parameters into initPlayback
...
They are just read from the player preferences and don’t influence the
branching, no need to read them in the intent parsing logic.
2025-09-06 15:04:06 +02:00
Profpatsch
d534946550
Player: inline repeat mode cycling
2025-09-06 15:04:06 +02:00
Profpatsch
8fb3e90fe1
Player: remove unused REPEAT_MODE intent key
2025-09-06 15:04:06 +02:00
Profpatsch
5750ef6aa8
Player/handleIntent: start converting intent data to enum
...
The goal here is to convert all player intents to use a single enum
with extra data for each case. The queue ones are pretty easy, they
don’t carry any extra data. We fall through for everything else for
now.
2025-09-06 15:04:06 +02:00
Profpatsch
ab7d1377e5
Player/handleIntent: always early return on ENQUEUE an ENQUEUE_NEXT
...
We can do this, because:
1. if `playQueue` is not null, we return early
2. if `playQueue` is null and we need to enqueue:
- the only “proper” case that could be triggered is
the `RESUME_PLAYBACK` case, which is never `true` for the queuing
intents, see the comment in `NavigationHelper.enqueueOnPlayer`
- the generic `else` case is degenerate, because it would crash on
`playQueue` being `null`.
This makes some sense, because there is no way to trigger the
enqueueing logic via the UI currently if there is no video playing
yet, in which case `playQueue` is not `null`.
So we need to transform this whole if desaster into a big switch.
2025-09-06 15:04:06 +02:00
Profpatsch
fd24c08529
Player/handleIntent: de morgan samePlayQueue
...
Okay, so this is the … only? branch in this if-chain that will
conditionally fire if `playQueue` *is* `null`, sometimes.
This is why the unconditional `initPlayback` in `else` is not passed a
`null` in many cases … because `RESUME_PLAYBACK` is `true` and
`playQueue` is `null`.
It’s gonna be hard to figure out which parts of that are intentional,
I say.
2025-09-06 15:04:06 +02:00
Profpatsch
e14ec3a4f9
NavigationHelper: inline trivial getPlayerIntent use
2025-09-06 15:04:06 +02:00
Profpatsch
b592403a66
NavigationHelper: push out resumePlayback one layer
2025-09-06 15:04:06 +02:00
Profpatsch
90e1ac56ef
NavigationHelper: inline getPlayerEnqueueIntent
...
Funnily enough, I’m pretty sure that whole comment will be not
necessary, because we never check `resumePlayback` on handling the
intent anyway.
2025-09-06 15:04:06 +02:00
Profpatsch
32eb3afe16
Player/handleIntent: a few comments
2025-09-06 15:04:06 +02:00
Profpatsch
35c7f2f5d1
Player: Remove unused IS_MUTED intent key
...
The only use of the key was removed in commit
2a2c82e73b
but the handling logic stayed around. So let’s get rid of it.
2025-09-05 16:57:27 +02:00
Isira Seneviratne
01a8c4e584
Clean up EmptyStateComposable code
2025-09-05 18:22:19 +05:30
Stypox
2ee7cc4344
Merge branch 'dev' into refactor
2025-09-05 13:34:53 +02:00
Stypox
2cb465c89d
Merge branch 'dev' into refactor
2025-09-04 15:25:45 +02:00
Isira Seneviratne
ccca89dc8a
Merge pull request #12585 from Isira-Seneviratne/Merge-dev-to-refactor
...
Merge dev to refactor
2025-09-01 05:37:29 +05:30
Isira Seneviratne
9bf23abcd1
Merge branch 'dev' into Merge-dev-to-refactor
...
# Conflicts:
# app/src/main/AndroidManifest.xml
2025-09-01 05:22:51 +05:30
Tobi
10c5a5d02c
Merge pull request #12569 from Isira-Seneviratne/Fix-import
...
Fix database import
2025-08-27 01:55:55 -07:00
Isira Seneviratne
cf4b5e17c5
Fix database import
2025-08-25 14:32:19 +05:30
Stypox
deb5425871
Merge branch 'dev' into refactor
2025-08-17 12:48:30 +02:00
Isira Seneviratne
2915ab6aef
Merge pull request #12462 from Isira-Seneviratne/Merge-dev-to-refactor
...
Merge dev to refactor
2025-07-25 06:23:19 +05:30
Isira Seneviratne
be662a9f1a
Merge branch 'dev' into Merge-dev-to-refactor
...
# Conflicts:
# app/build.gradle
# app/src/main/AndroidManifest.xml
# app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java
# app/src/main/java/org/schabi/newpipe/player/mediabrowser/PackageValidator.kt
2025-07-24 19:28:41 +05:30
Isira Seneviratne
1534c880ef
Fix compilation errors
2025-07-21 09:11:24 +05:30
Isira Seneviratne
ded7205588
Merge branch 'dev' into Merge-dev-to-refactor
...
# Conflicts:
# app/build.gradle
# app/src/main/java/org/schabi/newpipe/App.java
# app/src/main/java/org/schabi/newpipe/about/AboutActivity.kt
# app/src/main/java/org/schabi/newpipe/about/LicenseFragment.kt
# app/src/main/java/org/schabi/newpipe/local/subscription/ImportConfirmationDialog.java
# app/src/main/java/org/schabi/newpipe/player/Player.java
# app/src/main/java/org/schabi/newpipe/player/PlayerService.java
# app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java
2025-07-21 09:05:32 +05:30
Isira Seneviratne
1f2e5799f7
Merge branch 'dev' into Merge-dev-to-refactor
...
# Conflicts:
# app/build.gradle
# app/src/main/java/org/schabi/newpipe/settings/SettingMigrations.java
# app/src/main/res/values/strings.xml
2025-07-20 05:57:27 +05:30
Isira Seneviratne
f93806293a
Merge branch 'dev' into Merge-dev-to-refactor
...
# Conflicts:
# app/build.gradle
# app/src/main/java/org/schabi/newpipe/player/PlayerService.java
# app/src/main/res/values-ca/strings.xml
2025-07-18 19:14:58 +05:30
Stypox
da36b8a140
Merge pull request #12337 from Profpatsch/video-detail-fragment-kotlin-conversion
2025-07-16 15:56:39 +02:00
Stypox
046ea7301b
Apply Kotlin suggestion by @Isira-Seneviratne
2025-07-16 15:53:05 +02:00
Stypox
3998982002
Smaller style fixes
2025-07-16 15:53:05 +02:00
Stypox
a4182b474b
More improve Kotlin converted from java in various places
2025-07-16 15:53:05 +02:00
Stypox
317db719db
Fix comments in PlayerUiList
2025-07-16 15:47:00 +02:00
Stypox
3f62ec7e53
Improve Kotlin converted from java in various places
2025-07-16 15:46:59 +02:00
Profpatsch
7330541499
PlayerUIList: remove remaining uses of getOpt
...
mediaSession is now `@NonNull`, so the getter is as well.
2025-07-16 15:42:59 +02:00
Profpatsch
ed0051a3f6
Player: small class comment
2025-07-16 15:42:59 +02:00
Profpatsch
91aed1e240
VideoDetailFragment: replace every getOpt() with get()
2025-07-16 15:42:59 +02:00
Profpatsch
38ed1da79e
PlayerHolder: use object class to implement singleton pattern
2025-07-16 15:42:59 +02:00
Profpatsch
cc3ecd4169
VideoDetailFragment: convert to kotlin (mechanical, fixup)
...
Mostly 1:1, I had to fix a few places where the automatic conversion
did not infer the right kotlin types, and places where it tried to
convert to `double` instead of using `float` like the original.
Everything else is the result of automatic conversion.
2025-07-16 15:42:58 +02:00
Profpatsch
bf72fd1fa5
VideoDetailFragment: convert to kotlin (mechanical, failing)
...
Just the conversion, errors still there for easier rebasing later.
2025-07-16 15:42:12 +02:00
Profpatsch
86b27cf77d
PlayerHolder: kotlinify optional calls
2025-07-16 15:15:28 +02:00
Profpatsch
4fd3ddf392
PlayerHolder: kotlinify setListener
2025-07-16 15:14:50 +02:00
Profpatsch
fc7daa96e9
PlayerHolder: kotlinify getters
2025-07-16 15:14:50 +02:00
Profpatsch
9b22773070
PlayerHolder: convert to kotlin (mechanical)
2025-07-16 15:14:49 +02:00
Profpatsch
86063fda6a
PlayQueueActivity: inline getServiceConnection() and bind()
...
Both are only used once, and it’s easier to see what’s going on if
they are just inlined in `onCreate`.
2025-07-16 15:07:43 +02:00
Profpatsch
c9be4066f2
PlayerService: inline init block & make non-optional
2025-07-16 15:07:43 +02:00
Profpatsch
462f0ad5c0
PlayerUIList: inline init block
2025-07-16 15:07:43 +02:00
Isira Seneviratne
183cc580fc
Merge pull request #12415 from Isira-Seneviratne/Zip-migrate-Path
...
Migrate zip import/export to use Path
2025-07-12 06:04:31 +05:30
Isira Seneviratne
52ff052d6a
Merge pull request #12347 from Isira-Seneviratne/PlayQueueItem-equals
...
Add PlayQueueItem equals and hashCode
2025-07-10 02:18:43 +05:30
Isira Seneviratne
31f8dd05a7
Convert play queue classes to Kotlin
2025-07-09 07:48:08 +05:30
Isira Seneviratne
c2b6c71947
Rename .java to .kt
2025-07-09 07:48:07 +05:30
Isira Seneviratne
bb7873d157
Fix Sonar warning
2025-07-09 07:48:07 +05:30
Isira Seneviratne
e2a02a1f86
Fix some issues
2025-07-09 07:48:07 +05:30
Isira Seneviratne
690af88db9
Add PlayQueueItem equals and hashCode
2025-07-09 07:48:07 +05:30
Isira Seneviratne
4ffadc2057
Inline variable
2025-07-09 07:47:25 +05:30
Isira Seneviratne
225cb91105
Use InputStream#transferTo()
2025-07-09 07:47:25 +05:30
Isira Seneviratne
3e106b5e4f
Fix DB import/export issue
2025-07-09 07:47:25 +05:30
Isira Seneviratne
72b67ab5d4
Refactor zip import/export using Path
2025-07-09 07:47:25 +05:30
Isira Seneviratne
840084d2c9
Merge pull request #12419 from Isira-Seneviratne/Merge-dev-to-refactor
...
Merge dev to refactor
2025-07-09 07:46:11 +05:30
Isira Seneviratne
2acfefd0bc
Merge branch 'dev' into Merge-dev-to-refactor
...
# Conflicts:
# app/src/main/java/org/schabi/newpipe/player/helper/PlayerHolder.java
2025-07-09 07:10:18 +05:30
Stypox
d81b571d05
Merge pull request #12348 from Isira-Seneviratne/Merge-dev-to-refactor
2025-06-11 10:13:36 +02:00
Isira Seneviratne
6efb92a38f
Merge branch 'dev' into Merge-dev-to-refactor
...
# Conflicts:
# app/src/main/java/org/schabi/newpipe/MainActivity.java
2025-06-11 08:20:00 +05:30
Stypox
f16becc872
Merge pull request #12217 from SttApollo/Update-EmptyStateComposable
2025-06-06 15:49:13 +02:00
Stypox
60ea317e61
NoComments -> NoVideos in related items screen
2025-06-06 15:36:07 +02:00
Su TT
e53f0ff94a
Update EmptyStateComposable usages to include modifiers
2025-06-05 12:33:21 -04:00
Profpatsch
006b4c9ae1
Merge pull request #11965 from Profpatsch/player-classes-kotlin-conversion
...
Some simple refactors & beginning of kotlin conversions of the player classes
2025-06-05 14:13:33 +02:00
Profpatsch
73fef268fc
PlayerService/PlayerUIList: some small improvements
2025-06-05 13:52:04 +02:00
Profpatsch
cf8fe95abf
PlayerService: runtime-assert that we get passed a service
...
We directly call the `getService` function after receiving the
argument, so resolving the WeakPointer should never return `null` in
our case.
Of course there could be a race condition in theory, but I feel like
if that happens we have bigger problems?
2025-06-05 13:52:04 +02:00
Profpatsch
36115c3164
PlayerService: remove !! where possible
...
It’s a bit unwieldy in places, but should improve the safety of the
code in the face of possible race conditions.
2025-06-05 13:52:04 +02:00
Profpatsch
be373dca8d
PlayerUIList: make UI list private
2025-06-05 13:52:04 +02:00
Profpatsch
f5a4af2d67
Player: destroy -> saveAndShutdown
2025-06-05 13:52:04 +02:00
Profpatsch
06cf511188
PlayerHolder: improve interface docstrings
2025-06-05 13:52:04 +02:00
Profpatsch
26050d808e
VideoPlayerUi: suppress warnings
...
The `R.id` link from the comment cannot be resolved, so let’s not link
it for now.
We are using some exoplayer2 resources, let’s silence the warning.
2025-06-05 13:52:04 +02:00
Profpatsch
0b32738d42
VideoDetailFragment: remove duplicate code in startLoading
2025-06-05 13:52:04 +02:00
Profpatsch
c37db85b97
VideoDetailFragment: apply more IDE suggestions
2025-06-05 13:52:04 +02:00
Profpatsch
4d6e1a4ecf
VideoDetailFragment: apply visibility suggestions
...
Because the class is final, protected does not make sense (Android
Studio auto-suggestions)
2025-06-05 13:52:04 +02:00
Profpatsch
b5dd49ecd3
PlayerService: simplify nullable calls, getters
2025-06-05 13:52:04 +02:00
Profpatsch
945fbd884b
PlayerService: Convert to kotlin (mechanical)
2025-06-05 13:52:04 +02:00
Profpatsch
545c4f078f
PlayerUIList: restrict superclasses a little
2025-06-05 13:52:04 +02:00
Stt_lens
d4cd54fd7b
Update app/src/main/java/org/schabi/newpipe/ui/emptystate/EmptyStateComposable.kt
...
Co-authored-by: Stypox <stypox@pm.me >
2025-05-31 12:27:16 -04:00
Stt_lens
15ab3df511
Update app/src/main/java/org/schabi/newpipe/ui/emptystate/EmptyStateComposable.kt
...
Co-authored-by: Stypox <stypox@pm.me >
2025-05-31 12:07:37 -04:00
Isira Seneviratne
f41b34c090
Merge pull request #11759 from Isira-Seneviratne/Import-export-worker
...
Rewrite import and export subscriptions functionality using coroutines
2025-05-16 01:16:34 +05:30
Stypox
d1954baf29
Merge pull request #11829 from Profpatsch/PlayerUIList-to-kotlin
...
Player UI list to kotlin
2025-05-13 23:36:16 +02:00
Profpatsch
a8da9946d1
PlayerUiList: guard list actions with mutex
...
The new implementation would throw `ConcurrentModificationExceptions`
when destroying the UIs. So let’s play it safe and put the list behind
a mutex.
Adds a helper class `GuardedByMutex` that can be wrapped around a
property to force all use-sites to acquire the lock before doing
anything with the data.
2025-05-11 15:23:03 +02:00
Profpatsch
3d069cdf5b
PlayerUIList: rename get to getOpt and make get nullable
...
In Kotlin, dealing with nulls works better so we don’t need optional.
2025-05-11 15:12:37 +02:00
Profpatsch
eccedc0ab0
PlayerUIList: transform to kotlin
...
And simplify the code a little
2025-05-11 15:06:52 +02:00
Stypox
7cecda5713
Merge branch 'dev' into refactor
...
Had to make some adjustments to make https://github.com/TeamNewPipe/NewPipe/pull/12188 work
2025-05-08 15:34:00 +02:00
Isira Seneviratne
b6144d01f3
Merge branch 'refactor' into Import-export-worker
2025-04-29 10:18:13 +05:30
Su TT
df11e53a74
Refactor EmptyStateComposable to remove modifier from EmptyStateSpec and fix modifier usage ...
2025-04-28 17:24:11 -04:00
Isira Seneviratne
1d94fd1582
Merge pull request #12195 from Isira-Seneviratne/Merge-dev-to-refactor
...
Merge dev to refactor
2025-04-27 08:01:33 +05:30
Isira Seneviratne
c9542ad6fd
Update extractor
2025-04-27 07:43:52 +05:30
Isira Seneviratne
cbe598182a
Merge branch 'refactor' into Import-export-worker
2025-04-20 07:10:07 +05:30
Isira Seneviratne
7615f79aca
Merge branch 'dev' into Merge-dev-to-refactor
...
# Conflicts:
# app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java
2025-04-14 07:29:30 +05:30
Stypox
47299c9184
Merge pull request #12164 from Isira-Seneviratne/Merge-dev-to-refactor
...
Merge dev to refactor
2025-04-08 10:55:28 +02:00
Isira Seneviratne
6486f2de56
Merge branch 'dev' into Merge-dev-to-refactor
...
# Conflicts:
# app/build.gradle
# app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java
# app/src/main/java/org/schabi/newpipe/local/feed/notifications/NotificationHelper.kt
# app/src/main/java/org/schabi/newpipe/player/PlayQueueActivity.java
# app/src/main/java/org/schabi/newpipe/player/PlayerService.java
# app/src/main/java/org/schabi/newpipe/player/event/PlayerServiceExtendedEventListener.java
# app/src/main/java/org/schabi/newpipe/player/helper/PlayerHolder.java
# app/src/main/res/values-is/strings.xml
2025-04-08 05:42:31 +05:30
Isira Seneviratne
d805679a5e
Use workDataOf
2025-03-08 09:18:30 +05:30
Stypox
c1bdffd917
Merge pull request #11978 from Profpatsch/fix-back-button-on-remaining-stack
...
MainActivity: Fix onBackPressed handling for open player
2025-02-26 16:56:04 +01:00
Isira Seneviratne
abaf16e12b
Merge branch 'refactor' into Import-export-worker
...
# Conflicts:
# gradle/libs.versions.toml
2025-02-23 05:10:34 +05:30
Stypox
99aae7eb28
Merge branch 'dev' into refactor
2025-02-05 15:15:41 +01:00
Profpatsch
fd99c5e461
MainActivity: Fix onBackPressed handling for open player
...
The change
b9dd7078ad
accidentally moved the `return` into the `{}`, so the logic would fall
through to
```
if (fragmentManager.getBackStackEntryCount() == 1) {`
```
and close the app even though there are still items on the
`VideoFragmentDetail` stack.
To reproduce:
Start video, enqueue another video, then start a third video (which
adds one entry to the stack), and press `back` on the expanded video.
This should keep the player open and go back to the first 2-video
queue, but it actually closes the app before this fix.
2025-01-30 19:40:44 +01:00
Stypox
407d2d768d
Merge pull request #11539 from Isira-Seneviratne/Compose-theme-improvements
...
Compose theme improvements
2025-01-28 14:02:50 +01:00
Profpatsch
b109e4d3cc
Merge pull request #11867 from Profpatsch/player-holder-refactor
...
PlayerHolder refactor
2025-01-27 13:29:53 +01:00
Profpatsch
137ade24ff
Adjust javadoc format
2025-01-27 12:45:30 +01:00
Isira Seneviratne
48d682016e
Rm ViewPager version
2025-01-25 11:21:58 +05:30
Isira Seneviratne
b78e0b2da8
Merge branch 'refactor' into Compose-theme-improvements
2025-01-25 09:41:29 +05:30
Isira Seneviratne
32a88ab890
Truncate existing file in export
2025-01-25 07:57:01 +05:30
Isira Seneviratne
af3ed992e5
Add error handling for import
2025-01-25 05:40:00 +05:30
Isira Seneviratne
a79516dfff
Use fragment arguments
2025-01-25 05:30:14 +05:30
Profpatsch
dbd11a6a8d
SubscriptionImportWorker: inputs as sealed class
2025-01-22 15:34:04 +01:00
Isira Seneviratne
21973b362a
Use Kotlin Pair
2025-01-22 13:03:57 +01:00
Isira Seneviratne
60586c90d6
Improve subscription upsert methods
2025-01-22 13:03:57 +01:00
Isira Seneviratne
095155d35f
Only get subscription extractor when needed
2025-01-22 13:03:57 +01:00
Isira Seneviratne
af8e5646a6
Remove LocalBroadcastManager
2025-01-22 13:03:57 +01:00
Isira Seneviratne
c9d155a335
Combine notification and ForegroundInfo creation methods
2025-01-22 13:03:57 +01:00
Isira Seneviratne
4e31ccebf8
Moved Kotlinx Serialization to library catalog
2025-01-22 13:03:57 +01:00
Isira Seneviratne
c0965a42a1
Added success toasts
2025-01-22 13:03:57 +01:00
Isira Seneviratne
fc7f1b0af0
Convert subscription import service to a worker
2025-01-22 13:03:57 +01:00
Isira Seneviratne
dfb035dfa5
Improve import/export tests
2025-01-22 13:03:57 +01:00
Isira Seneviratne
8e9503cfe4
Convert subscription export service to a worker
2025-01-22 13:03:55 +01:00
Isira Seneviratne
82516dd75c
Rename .java to .kt
2025-01-22 13:02:36 +01:00
Stypox
3e6e980362
Merge branch 'dev' into refactor
2025-01-22 11:12:51 +01:00
Profpatsch
1890fbb19a
Merge pull request #11809 from Isira-Seneviratne/Merge-dev
...
Merge dev to refactor
2025-01-21 17:56:00 +01:00
Isira Seneviratne
efb3aa530d
Merge branch 'dev' into Merge-dev
2025-01-11 18:45:51 +05:30
Profpatsch
ce919215fb
PlayerHolder: Separate holder and service event interface
...
Should make it easier to seperate the two further later, both of them
are only implemented by VideoDetailFragment anyway, which is kind of a
code smell!
2024-12-26 01:31:17 +01:00
Profpatsch
6a4aaba431
PlayerHolder: add some more docstrings
2024-12-26 01:02:59 +01:00
Profpatsch
83d93e16e7
PlayerHolder: move unbind right next to stopService
2024-12-26 00:36:49 +01:00
Profpatsch
8d15a141b1
PlayerHolder: invert isBound
2024-12-26 00:26:59 +01:00
Profpatsch
a78bed700a
PlayerHolder: inline bind
...
Only used once. Now the code looks weird … why is the service started
twice??
2024-12-26 00:26:22 +01:00
Profpatsch
ef3c76645f
PlayerHolder/PlayerService: inline & remove duplicate player passing
...
The player in playerHolder is exactly the player inside the
`PlayerService`, which in turn is exactly passed through the IBinder
interface. Thus we don’t have to pass both.
Instead add `PlayerService.getPlayer()`.
Also inline a few methods of `PlayerHolder` and simplify.
2024-12-25 22:14:22 +01:00
Isira Seneviratne
d4ed18bf08
Merge branch 'dev' into Merge-dev
...
# Conflicts:
# app/build.gradle
# app/src/main/java/org/schabi/newpipe/App.java
# app/src/main/java/org/schabi/newpipe/about/AboutActivity.kt
# app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java
# app/src/main/java/org/schabi/newpipe/fragments/list/channel/ChannelFragment.java
# app/src/main/java/org/schabi/newpipe/fragments/list/comments/CommentRepliesFragment.java
# app/src/main/java/org/schabi/newpipe/fragments/list/videos/RelatedItemsFragment.java
# app/src/main/java/org/schabi/newpipe/local/bookmark/BookmarkFragment.java
# app/src/main/res/values-bg/strings.xml
# app/src/main/res/values-da/strings.xml
# app/src/main/res/values-is/strings.xml
# app/src/main/res/values-lv/strings.xml
# app/src/main/res/values-zh-rTW/strings.xml
# build.gradle
2024-12-21 07:45:20 +05:30
Isira Seneviratne
fbafdeb2ca
Merge pull request #11767 from tsiflimagas/remove_viewpager2
...
Remove ViewPager2 dependency
2024-12-17 08:49:01 +05:30
Kostas Giapis
781040efaa
Remove ViewPager2 dependency
2024-12-01 22:24:39 +02:00
Isira Seneviratne
1547b50b4e
Merge branch 'refactor' into Compose-theme-improvements
2024-11-28 06:12:33 +05:30
Stypox
3f7ef49979
NewPipe license is GPLv3-or-later, not -only, in AboutScreen
2024-11-27 22:15:23 +01:00
Stypox
dab0148a78
Merge pull request #11750 from Isira-Seneviratne/Fix-image-loading
...
Fix image loading
2024-11-27 16:50:38 +01:00
Stypox
c0c08a4f63
Merge pull request #11282 from Isira-Seneviratne/About-Compose
...
Migrate about activity to Jetpack Compose
2024-11-27 16:42:35 +01:00
Stypox
aaf337421d
Merge branch 'refactor' into pr11282
2024-11-27 16:20:49 +01:00
Stypox
79a0edacd7
Merge pull request #11752 from JL0000/sort-dependencies
...
Sort dependencies in `libs.versions.toml`
2024-11-27 16:10:31 +01:00
Stypox
d56eef6ece
Use content padding instead of padding on container
2024-11-27 15:59:20 +01:00
Stypox
72f054a4fa
Library should not be clickable if spdx is blank
2024-11-27 15:46:39 +01:00
Jie Li
172c3c92ac
gradle script to enforce dependencies order
2024-11-26 18:32:44 +00:00
Isira Seneviratne
137ef3fee4
Fix image loading
2024-11-26 10:08:27 +05:30
Stypox
e49156fb11
Merge pull request #11684 from JL0000/version-catalogs
...
Migrate build to version catalogs
2024-11-25 19:05:52 +01:00
Jie Li
de5d45849f
migrated to version catalogs
2024-11-25 23:12:29 +05:30
Stypox
a25034b898
Fix toolbar colors in light theme
2024-11-25 04:43:43 +01:00
Stypox
ae9e82b2c1
Implement showing libraries and licenses
2024-11-25 04:43:43 +01:00
Stypox
a70b38a8e5
Minor updates to some libraries
2024-11-25 03:56:13 +01:00
Isira Seneviratne
08f3dba42c
Merge branch 'refactor' into Compose-theme-improvements
...
# Conflicts:
# app/src/main/java/org/schabi/newpipe/ui/components/common/NoItemsMessage.kt
# app/src/main/java/org/schabi/newpipe/ui/components/video/comment/CommentRepliesDialog.kt
2024-11-25 07:22:03 +05:30
Stypox
0cff3a6ecd
Improve AboutTab spacing
2024-11-24 16:06:21 +01:00
Profpatsch
9b78e49e45
Merge pull request #11725 from Profpatsch/lwj.compose_migrate_empty_state_view
...
Migrate empty_state_view xml/view to Jetpack Compose
2024-11-22 11:49:22 +01:00
Isira Seneviratne
e6eea8f851
Merge branch 'refactor' into Compose-theme-improvements
2024-11-21 21:26:03 +05:30
Isira Seneviratne
4e55f1bee6
Merge branch 'refactor' into About-Compose
2024-11-21 21:11:52 +05:30
Stypox
cff3834fde
Fix setEmptyStateComposable dark theme
2024-11-21 13:17:33 +01:00
Stypox
c8b01a06b0
Use empty state view in compose
2024-11-21 13:14:39 +01:00
Stypox
414b1a8344
Remove unused methods in EmptyStateUtil
2024-11-21 13:14:19 +01:00
Stypox
404d9f3fac
Use empty state view in a few more places
2024-11-21 12:42:58 +01:00
Stypox
55e4014036
Use custom EmptyStateSpec for bookmark fragment
2024-11-21 12:24:11 +01:00
Stypox
1cd5563b27
All empty states now have the same style
2024-11-21 12:14:40 +01:00
Stypox
1abced992b
Use normal colors for empty state view
2024-11-21 12:07:03 +01:00
Stypox
46b9243661
Remove unneeded empty state changes in ChannelFragment
2024-11-21 11:53:48 +01:00
toliuweijing
ad72b2cb31
boost error hint color
2024-11-21 11:52:42 +01:00
toliuweijing
8b79d0ee29
Migrate empty_state_view to Jetpack Compose
2024-11-21 11:52:42 +01:00
Stypox
295f719b77
Merge pull request #11723 from Isira-Seneviratne/Coil-3
...
Migrate to Coil 3
2024-11-21 10:56:07 +01:00
Stypox
b584353f4d
Small fixes to code style
2024-11-21 10:52:15 +01:00
Isira Seneviratne
d73314b4dd
Make App instance variable immutable outside class
2024-11-21 08:09:57 +05:30
Isira Seneviratne
9f4a33c7a8
Fix lint
2024-11-21 06:56:10 +05:30
Isira Seneviratne
3a9540b042
Update app/src/main/java/org/schabi/newpipe/App.kt
...
Co-authored-by: Tobi <TobiGr@users.noreply.github.com >
2024-11-20 16:04:39 +05:30
Isira Seneviratne
ca855cbca0
Migrate to Coil 3
2024-11-20 09:28:20 +05:30
Isira Seneviratne
6a98b1dac7
Rename .java to .kt
2024-11-20 08:44:16 +05:30
Isira Seneviratne
7d4a2836fc
Use existing scrollbar theme method
2024-11-16 16:45:35 +05:30
Isira Seneviratne
6ea715a18d
Clean up unnecessary manual color specification in Compose code
2024-11-16 16:09:10 +05:30
Isira Seneviratne
a56debfce6
Merge branch 'refs/heads/refactor' into Compose-theme-improvements
...
# Conflicts:
# app/src/main/java/org/schabi/newpipe/fragments/list/videos/RelatedItemsFragment.kt
# app/src/main/java/org/schabi/newpipe/ui/components/items/ItemList.kt
2024-11-16 15:50:48 +05:30
Isira Seneviratne
226b6de34f
Merge branch 'refs/heads/refactor' into About-Compose
...
# Conflicts:
# app/src/main/java/org/schabi/newpipe/about/AboutActivity.kt
# build.gradle
2024-11-16 15:41:50 +05:30
Stypox
13585ca0be
Avoid drawing surface background twice for comments fragment
2024-11-11 16:15:36 +01:00
Stypox
62ab9bd740
Merge pull request #11060 from Isira-Seneviratne/Comments-Compose
...
Migrate comment fragments to Jetpack Compose
2024-11-11 16:12:53 +01:00
Stypox
fdf36cbad6
Deduplicate and improve Scrollbar theme
2024-11-11 15:20:38 +01:00
Stypox
aea2b7c7f3
Show correct reply count in dialog
2024-11-11 14:58:54 +01:00
Stypox
37d1c784fa
Create utilities to copy to clipboard in Compose code
2024-11-11 14:58:54 +01:00
Stypox
cea149f852
Add .kotlin/ to gitignore
2024-11-11 14:26:01 +01:00
Stypox
a92a28517e
Use Icons.Default.* instead of vector assets
2024-11-11 14:25:28 +01:00
Stypox
800961c3d7
Unexpand bottom sheet dialog when clicking on a channel
2024-11-11 13:51:24 +01:00
Stypox
9d8a79b0bd
Slightly improve comment replies header spacing
2024-11-11 13:34:18 +01:00
Stypox
ef56dea817
Fix content color in comment replies fragment
2024-11-11 00:29:29 +01:00
Stypox
23b3835af0
Fix PagingSource for comments
...
The previous implementation was skipping the first page of comments
2024-11-11 00:16:32 +01:00
Stypox
412e1d602a
Better handle unknown values for comment & like count
2024-11-10 23:45:10 +01:00
Stypox
802a094154
Improve comment replies dialog layout
2024-11-10 23:28:59 +01:00
Stypox
e6b1341246
Improve Comment layout
2024-11-10 23:09:29 +01:00
Stypox
36ede243e3
Update compose bom and fix navigation compose without version
2024-11-10 20:53:49 +01:00
Stypox
bac9f7eebf
Merge branch 'refactor' into pr11060
2024-11-10 16:50:46 +01:00
litetex
8ada566bf1
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-11-10 16:42:42 +01:00
litetex
5bd4ed77df
Fix Android Gradle plugin warning
2024-11-10 16:42:42 +01:00
litetex
97652ac015
Update Gradle to latest version
2024-11-10 16:42:41 +01:00
litetex
6dd24033a4
Replace symlink with original
...
Co-Authored-By: Thompson3142 <115718208+thompson3142@users.noreply.github.com >
2024-11-10 16:42:41 +01:00
litetex
4de3ef20be
Delete symlink
2024-11-10 16:42:41 +01:00
litetex
702f74291d
Use working Extractor version
...
The tag can't be resolved by Jitpack so use the commit-hash instead
2024-11-10 16:42:41 +01:00
litetex
d8759993a9
CI: Use Java 21
2024-11-10 16:42:41 +01:00
litetex
7787eafd3a
Fix build failing locally due to outdated kotlin version
2024-11-10 16:42:41 +01:00
Isira Seneviratne
4f4136c6e9
Merge branch 'refs/heads/refactor' into About-Compose
...
# Conflicts:
# app/build.gradle
# build.gradle
2024-10-22 20:15:07 +05:30
Siddhesh Naik
b399030e19
Settings redesign debug page ( #10876 )
...
Initial Work for Settings Page with Jetpack Compose
- Implemented a new settings page using Jetpack Compose.
- Added a new settings option to enable the redesigned settings page.
- This option allows for gradual integration and testing of the new
settings page, minimizing disruptions to current functionality.
Plan for Settings Items:
- Jetpack Compose does not have a direct equivalent to the
Preference/settings library.
- We could consider using third-party libraries that offer preference
items as composables.
- However, these libraries may be incomplete or lack active development.
- Given our specific needs for only a subset of preference types,
creating custom composables would be beneficial.
- This approach allows for fine-tuning the components to our specific
use case.
2024-10-22 00:47:26 +05:30
Isira Seneviratne
0991461d04
Merge branch 'refs/heads/refactor' into About-Compose
2024-09-26 07:01:03 +05:30
Stypox
49bcf2c41b
Merge branch 'dev' into refactor
2024-09-24 14:45:59 +02:00
Isira Seneviratne
c00c6c460c
Add scaffold preview, use container color in about screen and scaffold
2024-09-17 04:26:36 +05:30
Isira Seneviratne
4c4fe3f511
Add scrollbar color scheme
2024-09-16 16:28:49 +05:30
Isira Seneviratne
db485c3d77
Remove unnecessary annotation
2024-09-16 16:15:37 +05:30
Isira Seneviratne
c0388d948b
Add colors for Compose scrollbars
2024-09-16 15:33:41 +05:30
Isira Seneviratne
43bbddcc26
Add theme generated from the Material Theme Builder
2024-09-16 15:27:21 +05:30
Isira Seneviratne
6471b64ab6
Update dependencies
2024-09-16 12:53:16 +05:30
Isira Seneviratne
b9fcf0dff8
Enable edge-to-edge display
2024-09-16 12:45:03 +05:30
Isira Seneviratne
3177ca6e8a
Avoid issues if context is a ContextWrapper
2024-09-11 21:57:51 +05:30
Isira Seneviratne
5017f4f05a
Update dependencies
2024-09-05 09:23:00 +05:30
Isira Seneviratne
823d4a041f
Improve loading indicator positioning
2024-08-30 16:59:15 +05:30
Isira Seneviratne
62d4044d6c
Make lazy column scrollbars red
2024-08-30 09:02:56 +05:30
Isira Seneviratne
3785404618
Display number of comments
2024-08-30 08:46:02 +05:30
Isira Seneviratne
c98ad62163
Implement black theme in Compose
2024-08-29 08:06:56 +05:30
Isira Seneviratne
4cac111b66
Reduce preview count
2024-08-29 07:46:37 +05:30
Isira Seneviratne
941b8eb194
Implement copy on long click
2024-08-29 07:24:03 +05:30
Isira Seneviratne
b1add13bfd
Address code review comments
2024-08-28 18:15:11 +05:30
Isira Seneviratne
5fffee2c7d
Fix text color in bottom sheet
2024-08-28 17:59:38 +05:30
Isira Seneviratne
f9340ae604
Improve compose function organisation
2024-08-27 08:19:37 +05:30
Isira Seneviratne
d3a6991fd4
Use Fragment.content extension, improve comment composables
2024-08-26 19:29:46 +05:30
Isira Seneviratne
b0bfd4a807
Merge branch 'refs/heads/refactor' into About-Compose
...
# Conflicts:
# app/build.gradle
# app/src/main/java/org/schabi/newpipe/ktx/Bundle.kt
# build.gradle
2024-08-23 20:16:19 +05:30
Isira Seneviratne
3641698379
Merge branch 'refs/heads/refactor' into Comments-Compose
...
# Conflicts:
# app/build.gradle
2024-08-23 20:13:03 +05:30
Isira Seneviratne
2836191fb3
Migrate related items fragment to Jetpack Compose ( #11383 )
...
* Rename .java to .kt
* Migrate related items fragment to Jetpack Compose
* Specify mode parameter explicitly
* Rm unused class
* Fix list item size
* Added stream progress bar, separate stream and playlist thumbnails
* Display message if no related streams are available
* Dispose of related items when closing the video player
* Add modifiers for no items message function
* Implement remaining stream menu items
* Improved stream composables
* Use view model lifecycle scope
* Make live color solid red
* Use nested scroll modifier
* Simplify determineItemViewMode()
2024-08-23 19:51:32 +05:30
Isira Seneviratne
0df6c7fc2c
Remove unused assets
2024-08-23 14:48:41 +05:30
Isira Seneviratne
b1ebd3ecd9
Update Compose BOM
2024-08-23 14:22:45 +05:30
Isira Seneviratne
4758244cf5
Use AboutLibraries to display library information
2024-08-23 14:05:50 +05:30
Isira Seneviratne
294b9cf347
Rm unused declaration
2024-08-17 08:25:39 +05:30
Isira Seneviratne
6d05af484e
Use int array
2024-08-11 09:31:09 +05:30
Isira Seneviratne
e082bca5e0
Use nested scroll modifier
2024-08-11 08:23:13 +05:30
Isira Seneviratne
f9dae9078e
Always show comment thumbnails, even if placeholders
2024-08-11 08:23:13 +05:30
Isira Seneviratne
e955beeef1
Update Kotlin to 2.0, update dependencies and fix issues
2024-08-11 08:23:10 +05:30
Isira Seneviratne
eaac7f3f85
Improved component organisation
2024-08-11 08:21:53 +05:30
Isira Seneviratne
ea414f57d4
Added DescriptionText composable
2024-08-11 08:21:53 +05:30
Isira Seneviratne
f984b26626
Fix some modifiers
2024-08-11 08:21:53 +05:30
Isira Seneviratne
edab9a6a1f
Fix alignment of comment message
2024-08-11 08:21:53 +05:30
Isira Seneviratne
4740e3be86
Make parsed links clickable, visible
2024-08-11 08:21:53 +05:30
Isira Seneviratne
e639b02fed
Animate comment expand/collapse
2024-08-11 08:21:53 +05:30
Isira Seneviratne
ac1ca1412d
Improve comment loading smoothness
2024-08-11 08:21:52 +05:30
Isira Seneviratne
d131d3399a
Rm unused method
2024-08-11 08:21:52 +05:30
Isira Seneviratne
1009dc4d4e
Added loading indicator
2024-08-11 08:21:52 +05:30
Isira Seneviratne
42cb914616
Replace padding modifier with verticalArrangement in comment header
2024-08-11 08:21:52 +05:30
Isira Seneviratne
e72da94eb1
Rm extra padding in header
2024-08-11 08:21:52 +05:30
Isira Seneviratne
c5d94a5b60
Add comment view model
2024-08-11 08:21:52 +05:30
Isira Seneviratne
02c5f2607a
Cache paging data using the cachedIn() extension
2024-08-11 08:21:52 +05:30
Isira Seneviratne
369a46f8fe
Improve code organization
2024-08-11 08:21:52 +05:30
Isira Seneviratne
909d214002
Rm redundant Surface
2024-08-11 08:21:52 +05:30
Isira Seneviratne
5e7e14ee4d
Handle no comments and comments disabled scenarios
2024-08-11 08:21:52 +05:30
Isira Seneviratne
b092fe2c76
Replace Spacers with the horizontalArrangement parameter
2024-08-11 08:21:52 +05:30
Isira Seneviratne
b9dd7078ad
Replace CommentRepliesFragment with bottom sheet composable, improve previews
2024-08-11 08:21:52 +05:30
Isira Seneviratne
93310955f2
Added scrollbar to comment section
2024-08-11 08:21:52 +05:30
Isira Seneviratne
9c52e039ee
Migrate comments fragment to Jetpack Compose
2024-08-11 08:21:52 +05:30
Isira Seneviratne
be037e0756
Rename .java to .kt
2024-08-11 08:21:52 +05:30
Isira Seneviratne
5bfb0449cf
Fixed fragment title
2024-08-11 08:21:52 +05:30
Isira Seneviratne
0ec81c9e52
Fixed like count display
2024-08-11 08:21:52 +05:30
Isira Seneviratne
5841eaa6d7
Set view strategy
2024-08-11 08:21:52 +05:30
Isira Seneviratne
e92ba8f5d1
Add replies button
2024-08-11 08:21:52 +05:30
Isira Seneviratne
1908e18dc4
Use AnnotatedString to handle HTML parsing
2024-08-11 08:21:52 +05:30
Isira Seneviratne
e30d5e4305
Fixed some comment issues
2024-08-11 08:21:52 +05:30
Isira Seneviratne
11bb2495ba
Improve previews, display date of comment
2024-08-11 08:21:52 +05:30
Isira Seneviratne
341cc37ce7
Update replies fragment to use the comment composable as well
2024-08-11 08:21:52 +05:30
Isira Seneviratne
1620668966
Add comment ellipsis
2024-08-11 08:21:51 +05:30
Isira Seneviratne
56c80ce6dd
Added missing comment features, fixed theming
2024-08-11 08:21:51 +05:30
Isira Seneviratne
8ce9a7e43c
Added like count
2024-08-11 08:21:51 +05:30
Isira Seneviratne
e05d97732e
Use reply header composable in fragment
2024-08-11 08:21:51 +05:30
Isira Seneviratne
644a345b55
Rename .java to .kt
2024-08-11 08:21:51 +05:30
Isira Seneviratne
bda961a04c
Convert comment replies views to Jetpack Compose
2024-08-11 08:21:51 +05:30
Isira Seneviratne
ba2efded76
Replace Picasso with Coil in about
2024-08-11 08:13:21 +05:30
Isira Seneviratne
b05b98ca61
Improved component organisation
2024-08-11 08:13:21 +05:30
Isira Seneviratne
7a7f81ac7f
Fix tab text color
2024-08-11 08:13:21 +05:30
Isira Seneviratne
6e6c171dd7
Added new icon
2024-08-11 08:13:21 +05:30
Isira Seneviratne
8a41c8cf66
Added buttons to alert dialog
2024-08-11 08:13:21 +05:30
Isira Seneviratne
05271d95a9
Migrate about activity to Jetpack Compose
2024-08-11 08:13:21 +05:30
Isira Seneviratne
9d04a73c85
Merge dev to refactor ( #11427 )
...
* add NP icon for Android Studio's NewUI
* Fix NPE in MediaSessionPlayerUi while destroying player
* Update NewPipeExtractor to v0.24.1
* Add changelogs for hotfix release v0.27.1 (998)
* Hotfix release v0.27.1 (998)
* Update README.pt_BR.md (#11275 )
* Update Matrix room link, and prioritise it (#11350 )
* Update Matrix room link, and prioritise it
* Update Matrix room link in CONTRIBUTING.md
* Prioritise Matrix in contribution doc too
* Update NewPipeExtractor to v0.24.2
* Hotfix release v0.27.2 (999)
* Add changelogs for hotfix release v0.27.2 (999)
* Don't warn about rhino class in proguard
Likely related to 01a7b20655
but I am not completely sure.
I tested the app and it works well, so I think that org.mozilla.javascript.JavaToJSONConverters is not used really.
This is the full list of errors:
Missing class java.beans.BeanDescriptor (referenced from: java.lang.Object org.mozilla.javascript.JavaToJSONConverters.lambda$static$4(java.lang.Object))
Missing class java.beans.BeanInfo (referenced from: java.lang.Object org.mozilla.javascript.JavaToJSONConverters.lambda$static$4(java.lang.Object))
Missing class java.beans.IntrospectionException (referenced from: java.lang.Object org.mozilla.javascript.JavaToJSONConverters.lambda$static$4(java.lang.Object))
Missing class java.beans.Introspector (referenced from: java.lang.Object org.mozilla.javascript.JavaToJSONConverters.lambda$static$4(java.lang.Object))
Missing class java.beans.PropertyDescriptor (referenced from: java.lang.Object org.mozilla.javascript.JavaToJSONConverters.lambda$static$4(java.lang.Object))
* Remove code committed accidentally
---------
Co-authored-by: Christian Schabesberger <chris.schabesberger@mailbox.org >
Co-authored-by: Tobi <TobiGr@users.noreply.github.com >
Co-authored-by: Stypox <stypox@pm.me >
Co-authored-by: #27 <68751594+tag27@users.noreply.github.com >
Co-authored-by: opusforlife2 <53176348+opusforlife2@users.noreply.github.com >
2024-08-11 08:11:50 +05:30
Stypox
d336f4cef2
Merge pull request #11238 from Isira-Seneviratne/Coil
...
Migrate image loading from Picasso to Coil
2024-08-07 18:45:16 +02:00
Isira Seneviratne
4ec7532126
Addressed code review comments
2024-07-23 05:25:55 +05:30
Isira Seneviratne
da83646303
Update Coil
2024-07-22 08:12:37 +05:30
Isira Seneviratne
5062d38b65
Merge pull request #11237 from TeamNewPipe/revert-11201-Coil
...
Revert "Migrate image loading from Picasso to Coil"
2024-07-05 08:40:34 +05:30
Isira Seneviratne
82b492c050
Revert "Migrate image loading from Picasso to Coil ( #11201 )"
...
This reverts commit 73e3a69aaf
.
2024-07-05 08:29:21 +05:30
Isira Seneviratne
73e3a69aaf
Migrate image loading from Picasso to Coil ( #11201 )
...
* Load notification icons using Coil
* Migrate to Coil from Picasso
* Clean up Picasso leftovers
* Enable RGB-565 for low-end devices
* Added Coil helper method
* Add annotation
* Simplify newImageLoader implementation
* Use Coil's default disk and memory cache config
* Enable crossfade animation
* Correct method name
* Fix thumbnail not being displayed in media notification
2024-07-03 18:53:04 +05:30
Isira Seneviratne
348a79f91d
Fix thumbnail not being displayed in media notification
2024-07-03 14:41:47 +05:30
Isira Seneviratne
c4ada7ff6e
Correct method name
2024-07-03 09:30:47 +05:30
Isira Seneviratne
39d0691c7e
Enable crossfade animation
2024-07-03 09:10:57 +05:30
Isira Seneviratne
71361de8ee
Use Coil's default disk and memory cache config
2024-07-03 09:10:54 +05:30
Isira Seneviratne
8aa2590fd3
Simplify newImageLoader implementation
2024-07-03 09:10:52 +05:30
Isira Seneviratne
e3b7bf467e
Add annotation
2024-07-03 09:10:49 +05:30
Isira Seneviratne
f74402bc94
Added Coil helper method
2024-07-03 09:10:46 +05:30
Isira Seneviratne
4d3b4a7b20
Enable RGB-565 for low-end devices
2024-07-03 09:10:44 +05:30
Isira Seneviratne
e6302cc868
Clean up Picasso leftovers
2024-07-03 09:10:40 +05:30
Isira Seneviratne
844b4edf48
Migrate to Coil from Picasso
2024-07-03 09:10:37 +05:30
Isira Seneviratne
92a7f22d3c
Load notification icons using Coil
2024-07-03 09:10:34 +05:30
Isira Seneviratne
03167a1e9c
Merge pull request #11234 from TeamNewPipe/dev
...
Merge dev to refactor
2024-07-03 09:05:32 +05:30
Stypox
d479f29e9b
Merge pull request #10875 from snaik20/intro-jetpack-compose
...
Introducing Jetpack Compose in NewPipe
2024-05-13 21:17:11 +02:00
Siddhesh Naik
1af798b04b
Introducing Jetpack Compose in NewPipe
...
This pull request integrates Jetpack Compose into NewPipe by:
- Adding the necessary dependencies and setup.
- This is part of the NewPipe rewrite and fulfils the requirement for
the planned settings page redesign.
- Introducing a Toolbar composable with theming that aligns with
NewPipe's design.
Note:
- Theme colors are generated using the Material Theme builder (https://m3.material.io/styles/color/overview ).
2024-05-13 03:53:35 +05:30