v0.17.0
版本发布时间: 2024-08-03 22:42:05
jellyfin/jellyfin-androidtv最新发布版本:v0.18.2(2024-12-07 17:19:33)
The latest Android TV app release features enhanced stability, improved navigation with a new home button, and an updated screensaver with age rating filters. Read the blog post to learn about the changes in this release, or read the changelog below.
🌟 Highlights
- Add home button when away from home view #3262, by @VizuaaLOG
- Add preferences for screensaver age rating #3513, by @nielsvanvelzen
- Implement normalization gain for music tracks #3660, by @nielsvanvelzen
- Add media logo to screensaver #3680, by @haydenzeller
🏗️ Enhancements
- Watched indicator settings string clarity improvements #2997, by @DoggoOfSpeed
- Add ability to sort by runtime #3084, by @bathompson
- Add more item types to search #3266, by @nielsvanvelzen
- Support setting audio and subtitle streams via remote control #3288, by @3l0w
- Show specials for seasons #3292, by @nielsvanvelzen
- Show specials for series #3301, by @nielsvanvelzen
- Remove "auto" max bit rate and add additional values #3372, by @nielsvanvelzen
- Rewrite BaseItemInfoRow with Compose #3379, by @nielsvanvelzen
- Remove "automatically choose" option from video player preference #3407, by @nielsvanvelzen
- Add "clear image cache" button to developer preferences #3409, by @nielsvanvelzen
- Add fallthrough to media3 MimeTypes in codec->mime type mapping #3410, by @nielsvanvelzen
- Enable Vorbis audio in video direct play #3417, by @MichaelRUSF
- Remove non-profile usages of DeviceUtils #3425, by @nielsvanvelzen
- Improve info row colors #3448, by @nielsvanvelzen
- Update to Kotlin SDK 1.5.0-beta.1 (Jellyfin 10.9) #3472, by @nielsvanvelzen
- Update SDK to 1.4.7 (10.8 with enum backports) #3478, by @nielsvanvelzen
- Add button to pick a random item to the smart screen #3487, by @nielsvanvelzen
- Split playback preferences into normal and advanced screens #3497, by @nielsvanvelzen
- Remove leakcanary #3523, by @nielsvanvelzen
- Refactor QueueEntry design #3554, by @nielsvanvelzen
- Cache computed PlayableMediaStream in QueueEntry element #3555, by @nielsvanvelzen
- Initial video support in playback rewrite #3557, by @nielsvanvelzen
- Initial subtitle support in playback rewrite #3564, by @nielsvanvelzen
- Add initial video codec testing #3565, by @nielsvanvelzen
- Add media source selection #3566, by @nielsvanvelzen
- Remove unused "Offline" item location #3603, by @nielsvanvelzen
- Migrate to androidx.tv.material #3611, by @nielsvanvelzen
- Reordering the trailer button #3648, by @efreet7
- Change 'Queue all subsequent episodes' setting to queue all episodes in a series #3658, by @ConnorS1110
- Simplify video player preference #3663, by @nielsvanvelzen
- Add a blur to backdrop images #3674, by @haydenzeller
- Use ViewModel in DreamService #3692, by @nielsvanvelzen
- Remove hasPassword support #3710, by @nielsvanvelzen
- Shrink BaseItemInfoRowRuntime size #3724, by @nielsvanvelzen
- Rewrite details row with constraint layout #3729, by @nielsvanvelzen
- Add direct play support for WAV audio #3737, by @nielsvanvelzen
- Improve BlurHash decoding performance #3753, by @cbeyls
- Increase ExoPlayer HTTP timeouts #3759, by @nielsvanvelzen
- Update editor config #3760, by @nielsvanvelzen
- Update debug media details #3783, by @nielsvanvelzen
- Remove unused dtsEnabled preference #3785, by @nielsvanvelzen
- Add PCM_S16LE, PCM_S20LE and PCM_S24LE to supported audio codecs #3788, by @Bond-009
- Update targetSdk to 34 #3807, by @nielsvanvelzen
💥 Crash fixes
- Fix ModelCompat crash for media type #3607, by @nielsvanvelzen
- Fix app crash in EditServerScreen #3615, by @pascalwei
- Fix JSON decode crash in PictureViewerFragment #3627, by @pascalwei
- Fix crash when re-opening app during music playback #3713, by @nielsvanvelzen
- Catch errors in ExoPlayerAudioPipeline #3716, by @nielsvanvelzen
- Fix crash when refreshing current item #3723, by @nielsvanvelzen
- Fix crash when item has no media sources #3731, by @nielsvanvelzen
- Refactor Live TV popups #3733, by @nielsvanvelzen
- Fix various Live TV issues #3743, by @nielsvanvelzen
- Fix nullability in copyWith[Series]TimerId functions #3803, by @nielsvanvelzen
🔧 Bugfixes
- android tv hls playback direct play fix #3348, by @mnsrulz
- Specify BUILD_TOOLS_VERSION for r0adkll/sign-android-release step in publish workflow #3369, by @nielsvanvelzen
- Fix screensaver and media manager displaying video entries #3558, by @nielsvanvelzen
- Refactor BaseRowItem to use inheritance #3598, by @nielsvanvelzen
- Fix resumable episodes showing up twice in "Play next" integration #3625, by @nielsvanvelzen
- Fix unchecked warning in FullDetailsFragment #3629, by @nielsvanvelzen
- Fix login with pruned sessions #3632, by @nielsvanvelzen
- Start series from first unwatched in "play next up" #3633, by @nielsvanvelzen
- Fix now playing fragment not using string resource for current queue title #3638, by @nielsvanvelzen
- Fix start letter & favorite playlist implementations for item row #3653, by @nielsvanvelzen
- Fix QuickConnect sticky login state #3656, by @pascalwei
- Fix play after pause in MediaManager implementation #3661, by @nielsvanvelzen
- Various small bug fixes #3666, by @nielsvanvelzen
- Fix version selection #3677, by @nielsvanvelzen
- Improve "continue listening" row #3684, by @nielsvanvelzen
- Fix Live TV not playing video streams #3687, by @nielsvanvelzen
- Use Enum.name instead of Enum.toString in preference stores #3707, by @nielsvanvelzen
- Fix skip to previous/next playback actions #3708, by @nielsvanvelzen
- Fix header position in BrowseFolderFragment #3709, by @nielsvanvelzen
- Fix PlaySessionService no longer reporting to server #3712, by @nielsvanvelzen
- Fix refreshing current playing item hiding play icon #3715, by @nielsvanvelzen
- Fix isPlayingAudio behavior #3720, by @nielsvanvelzen
- Fix authorization for transcoding #3735, by @nielsvanvelzen
- Fix "Next episode(s)" row not showing #3746, by @nielsvanvelzen
- Fix race condition in player backdrop #3751, by @nielsvanvelzen
- Fix AudioNowPlayingFragment showing "From null" when there is no album name #3752, by @nielsvanvelzen
- Fix timezone issues in Live TV guide #3761, by @nielsvanvelzen
- Fix FullDetailsFragment duplicating buttons on resume #3774, by @nielsvanvelzen
- Disable tunneling #3786, by @nielsvanvelzen
- Fix NPE when opening Live TV guide for the first time #3790, by @nielsvanvelzen
- Fix "other" items in ByLetterFragment #3802, by @nielsvanvelzen
- Fix record buttons in LiveProgramDetailPopup swapped #3808, by @nielsvanvelzen
- Fix Live TV program popup not populating when opening early #3809, by @nielsvanvelzen
🔃 Refactoring
- Remove unnecessary OptIn annotations #3235, by @nielsvanvelzen
- Remove legacy media manager implementation #3321, by @nielsvanvelzen
- Simplify MediaManager interface #3322, by @nielsvanvelzen
- Remove baseline workaround #3333, by @nielsvanvelzen
- Use data object when applicable #3350, by @nielsvanvelzen
- Replace deprecated rememberKoinInject with koinInject #3408, by @nielsvanvelzen
- Remove non existent "SeriesTimers" collection type #3493, by @nielsvanvelzen
- Use UUID for "itemId" parameters #3494, by @nielsvanvelzen
- Remove PlayAccess checks #3507, by @nielsvanvelzen
- Use androidx fragment-compose #3549, by @nielsvanvelzen
- Migrate from java.util.Date to java.time #3550, by @nielsvanvelzen
- Replace PlaybackForwardingActivity with PlaybackRewriteFragment #3559, by @nielsvanvelzen
- Use dependency injection for ItemLauncher, KeyProcessor and ReportingHelper #3572, by @nielsvanvelzen
- Fully migrate ItemListFragment to use SDK #3574, by @nielsvanvelzen
- Remove FakeBaseItem hack #3581, by @nielsvanvelzen
- Refactor PlaybackHelper to use dependency injection #3584, by @nielsvanvelzen
- Rewrite PlaybackHelper to use the SDK #3586, by @nielsvanvelzen
- Remove ImageUtils #3587, by @nielsvanvelzen
- Remove unused code branch in BrowseViewFragment #3589, by @nielsvanvelzen
- Refactor FullDetailsFragment to use SDK #3591, by @nielsvanvelzen
- Migrate "next up" row to SDK #3624, by @nielsvanvelzen
- Remove some unused code related to ItemRowAdapter #3637, by @nielsvanvelzen
- Remove LibVLC #3639, by @nielsvanvelzen
- Migrate "Recently added" to SDK #3640, by @nielsvanvelzen
- Migrate various item rows to SDK #3643, by @nielsvanvelzen
- Migrate Live TV rows to SDK #3644, by @nielsvanvelzen
- Migrate (album) artists and live tv channel rows to SDK #3647, by @nielsvanvelzen
- Replace ItemQuery with GetItemsRequest #3654, by @nielsvanvelzen
- Migrate "Play first unwatched" to SDK #3655, by @nielsvanvelzen
- Send QueueEntry to playback backend #3657, by @nielsvanvelzen
- Use SDK for FilterOptions #3665, by @nielsvanvelzen
- Move media session implementation to exoplayer module #3670, by @nielsvanvelzen
- Migrate Live TV code to SDK #3691, by @nielsvanvelzen
- Improve intro loading in SdkPlaybackHelper #3755, by @nielsvanvelzen
- Remove unused compat streaminfo code #3762, by @nielsvanvelzen
- Replace all left-over Date usages with java.time #3767, by @nielsvanvelzen
- Split "playback/exoplayer" Gradle module into two #3781, by @nielsvanvelzen
Contributors
1、 jellyfin-androidtv-v0.17.0-debug.apk 26.27MB
2、 jellyfin-androidtv-v0.17.0-release-unsigned.apk 20.44MB
3、 jellyfin-androidtv-v0.17.0-release.aab 19.17MB
4、 jellyfin-androidtv-v0.17.0-release.apk 20.57MB
5、 version.txt 15B