-
-
Notifications
You must be signed in to change notification settings - Fork 641
Description
This issue respects the following points:
- This issue is not already reported on GitHub (I've searched it).
- I agree to follow Jellyfin's Code of Conduct.
- This report addresses only a single issue; If you encounter multiple issues, kindly create separate reports for each one.
Describe the bug
- goto live tv guide
- long press on ok button to open "tune, record, record series, fav" window
- click the fav icon/button
android tv application crashes, sends log to server, but still marks channel as favorite
this behavior happens on multiple different android tv devices.
Logs
client: Jellyfin for Android TV
client_version: 0.18.3
client_repository: https://github.com/jellyfin/jellyfin-androidtv
type: crash_report
format: markdown
Logs
Stack Trace:
java.lang.ClassCastException: android.widget.TextView cannot be cast to org.jellyfin.androidtv.ui.GuideChannelHeader
at org.jellyfin.androidtv.ui.livetv.LiveTvGuideFragment.refreshFavorite(LiveTvGuideFragment.java:238)
at org.jellyfin.androidtv.ui.LiveProgramDetailPopup$7.lambda$onClick$0$org-jellyfin-androidtv-ui-LiveProgramDetailPopup$7(LiveProgramDetailPopup.java:268)
at org.jellyfin.androidtv.ui.LiveProgramDetailPopup$7$$ExternalSyntheticLambda0.invoke(D8$$SyntheticClass:0)
at org.jellyfin.androidtv.ui.LiveProgramDetailPopupHelperKt$toggleFavorite$1.invokeSuspend(LiveProgramDetailPopupHelper.kt:148)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:101)
at kotlinx.coroutines.EventLoop.processUnconfinedEvent(EventLoop.common.kt:65)
at kotlinx.coroutines.internal.DispatchedContinuation.resumeWith(DispatchedContinuation.kt:327)
at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:146)
at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:120)
at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:11)
at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:70)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:101)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7839)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@dca84a4, Dispatchers.Main.immediate]
interface io.ktor.utils.io.ByteReadChannel (Kotlin reflection is not available)
01-05 12:17:43.880 E/ACRA (20244): ACRA caught a ClassCastException for org.jellyfin.androidtv
01-05 12:17:43.880 E/ACRA (20244): java.lang.ClassCastException: android.widget.TextView cannot be cast to org.jellyfin.androidtv.ui.GuideChannelHeader
01-05 12:17:43.880 E/ACRA (20244): at org.jellyfin.androidtv.ui.livetv.LiveTvGuideFragment.refreshFavorite(LiveTvGuideFragment.java:238)
01-05 12:17:43.880 E/ACRA (20244): at org.jellyfin.androidtv.ui.LiveProgramDetailPopup$7.lambda$onClick$0$org-jellyfin-androidtv-ui-LiveProgramDetailPopup$7(LiveProgramDetailPopup.java:268)
01-05 12:17:43.880 E/ACRA (20244): at org.jellyfin.androidtv.ui.LiveProgramDetailPopup$7$$ExternalSyntheticLambda0.invoke(D8$$SyntheticClass:0)
01-05 12:17:43.880 E/ACRA (20244): at org.jellyfin.androidtv.ui.LiveProgramDetailPopupHelperKt$toggleFavorite$1.invokeSuspend(LiveProgramDetailPopupHelper.kt:148)
01-05 12:17:43.880 E/ACRA (20244): at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
01-05 12:17:43.880 E/ACRA (20244): at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:101)
01-05 12:17:43.880 E/ACRA (20244): at kotlinx.coroutines.EventLoop.processUnconfinedEvent(EventLoop.common.kt:65)
01-05 12:17:43.880 E/ACRA (20244): at kotlinx.coroutines.internal.DispatchedContinuation.resumeWith(DispatchedContinuation.kt:327)
01-05 12:17:43.880 E/ACRA (20244): at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:146)
01-05 12:17:43.880 E/ACRA (20244): at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:120)
01-05 12:17:43.880 E/ACRA (20244): at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:11)
01-05 12:17:43.880 E/ACRA (20244): at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:70)
01-05 12:17:43.880 E/ACRA (20244): at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
01-05 12:17:43.880 E/ACRA (20244): at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:101)
01-05 12:17:43.880 E/ACRA (20244): at android.os.Handler.handleCallback(Handler.java:938)
01-05 12:17:43.880 E/ACRA (20244): at android.os.Handler.dispatchMessage(Handler.java:99)
01-05 12:17:43.880 E/ACRA (20244): at android.os.Looper.loopOnce(Looper.java:201)
01-05 12:17:43.880 E/ACRA (20244): at android.os.Looper.loop(Looper.java:288)
01-05 12:17:43.880 E/ACRA (20244): at android.app.ActivityThread.main(ActivityThread.java:7839)
01-05 12:17:43.880 E/ACRA (20244): at java.lang.reflect.Method.invoke(Native Method)
01-05 12:17:43.880 E/ACRA (20244): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
01-05 12:17:43.880 E/ACRA (20244): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
01-05 12:17:43.880 E/ACRA (20244): Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@dca84a4, Dispatchers.Main.immediate]
01-05 12:17:43.880 D/ACRA (20244): Building report
01-05 12:17:43.883 D/ACRA (20244): Starting collectors with priority FIRST
01-05 12:17:43.884 D/ACRA (20244): Calling collector org.acra.collector.DropBoxCollector
01-05 12:17:43.884 D/ACRA (20244): Calling collector org.acra.collector.LogCatCollector
01-05 12:17:43.884 D/ACRA (20244): Calling collector org.acra.collector.StacktraceCollector
01-05 12:17:43.884 D/ACRA (20244): Collector org.acra.collector.DropBoxCollector completed
01-05 12:17:43.885 D/ACRA (20244): Collector org.acra.collector.StacktraceCollector completed
01-05 12:17:43.892 D/ACRA (20244): Retrieving logcat output (buffer:default)...
App information
App version: 0.18.3
(180399
)
Package name: org.jellyfin.androidtv
Build:
{"BOARD":"oppen","BOOTLOADER":"01.01.240305.172728","BRAND":"MAG","CPU_ABI":"armeabi-v7a","CPU_ABI2":"armeabi","DEVICE":"YHT","DISPLAY":"SGZ4.240822.002.12267853","FINGERPRINT":"MAG\/MAG555\/YHT:12\/SGZ4.240822.002\/12267853:user\/release-keys","HARDWARE":"amlogic","HOST":"r-04ee229aec0a6463-7v78","ID":"SGZ4.240822.002","IS_DEBUGGABLE":false,"IS_EMULATOR":false,"MANUFACTURER":"SDMC","MODEL":"MAG555","ODM_SKU":"unknown","PERMISSIONS_REVIEW_REQUIRED":true,"PRODUCT":"MAG555","RADIO":"unknown","SKU":"unknown","SOC_MANUFACTURER":"Amlogic","SOC_MODEL":"AMLS905Y4","SUPPORTED_32_BIT_ABIS":["armeabi-v7a","armeabi"],"SUPPORTED_64_BIT_ABIS":[],"SUPPORTED_ABIS":["armeabi-v7a","armeabi"],"TAGS":"release-keys","TIME":1724381419000,"TYPE":"user","UNKNOWN":"unknown","USER":"android-build","VERSION":{"ACTIVE_CODENAMES":[],"BASE_OS":"","CODENAME":"REL","INCREMENTAL":"12267853","MEDIA_PERFORMANCE_CLASS":0,"PREVIEW_SDK_FINGERPRINT":"REL","PREVIEW_SDK_INT":0,"RELEASE":"12","RELEASE_OR_CODENAME":"12","SDK":"31","SDK_INT":31,"SECURITY_PATCH":"2024-09-01"}}
Build config:
{"APPLICATION_ID":"org.jellyfin.androidtv","BUILD_TYPE":"release","DEBUG":false,"DEVELOPMENT":false,"VERSION_CODE":180399,"VERSION_NAME":"0.18.3"}
Device information
Android version: 12
Device brand: MAG
Device product: MAG555
Device model: MAG555
Crash information
Start time: 2025-01-05T12:15:33.047-05:00
Crash time: 2025-01-05T12:17:43.975-05:00
+++++++++++++++++++++++++++++++++++++++++
client: Jellyfin for Android TV
client_version: 0.18.3
client_repository: https://github.com/jellyfin/jellyfin-androidtv
type: crash_report
format: markdown
Logs
Stack Trace:
java.lang.ClassCastException: android.widget.TextView cannot be cast to org.jellyfin.androidtv.ui.GuideChannelHeader
at org.jellyfin.androidtv.ui.livetv.LiveTvGuideFragment.refreshFavorite(LiveTvGuideFragment.java:238)
at org.jellyfin.androidtv.ui.LiveProgramDetailPopup$7.lambda$onClick$0$org-jellyfin-androidtv-ui-LiveProgramDetailPopup$7(LiveProgramDetailPopup.java:268)
at org.jellyfin.androidtv.ui.LiveProgramDetailPopup$7$$ExternalSyntheticLambda0.invoke(D8$$SyntheticClass:0)
at org.jellyfin.androidtv.ui.LiveProgramDetailPopupHelperKt$toggleFavorite$1.invokeSuspend(LiveProgramDetailPopupHelper.kt:148)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:101)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7839)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@c8ebd82, Dispatchers.Main.immediate]
App information
App version: 0.18.3
(180399
)
Package name: org.jellyfin.androidtv
Build:
{"BOARD":"sabrina","BOOTLOADER":"01.01.241025.065700","BRAND":"google","CPU_ABI":"armeabi-v7a","CPU_ABI2":"armeabi","DEVICE":"sabrina","DISPLAY":"STTL.240812.006.N1.12570082","FINGERPRINT":"google\/sabrina_prod_stable\/sabrina:12\/STTL.240812.006.N1\/12570082:user\/release-keys","HARDWARE":"amlogic","HOST":"r-d5a25cf08fde7218-1c0z","ID":"STTL.240812.006.N1","IS_DEBUGGABLE":false,"IS_EMULATOR":false,"MANUFACTURER":"Google","MODEL":"Chromecast","ODM_SKU":"US","PERMISSIONS_REVIEW_REQUIRED":true,"PRODUCT":"sabrina_prod_stable","RADIO":"unknown","SKU":"US","SOC_MANUFACTURER":"Amlogic","SOC_MODEL":"AMLS905D3","SUPPORTED_32_BIT_ABIS":["armeabi-v7a","armeabi"],"SUPPORTED_64_BIT_ABIS":[],"SUPPORTED_ABIS":["armeabi-v7a","armeabi"],"TAGS":"release-keys","TIME":1730194545000,"TYPE":"user","UNKNOWN":"unknown","USER":"android-build","VERSION":{"ACTIVE_CODENAMES":[],"BASE_OS":"","CODENAME":"REL","INCREMENTAL":"12570082","MEDIA_PERFORMANCE_CLASS":0,"PREVIEW_SDK_FINGERPRINT":"REL","PREVIEW_SDK_INT":0,"RELEASE":"12","RELEASE_OR_CODENAME":"12","SDK":"31","SDK_INT":31,"SECURITY_PATCH":"2024-09-01"}}
Build config:
{"APPLICATION_ID":"org.jellyfin.androidtv","BUILD_TYPE":"release","DEBUG":false,"DEVELOPMENT":false,"VERSION_CODE":180399,"VERSION_NAME":"0.18.3"}
Device information
Android version: 12
Device brand: google
Device product: sabrina_prod_stable
Device model: Chromecast
Crash information
Start time: 2025-01-05T13:58:17.690-05:00
Crash time: 2025-01-05T13:58:34.720-05:00
Application version
0.18.3
Where did you install the app from?
Google Play Store
Device information
infomir mag555; chromecast with google tv (4k) (white puck not the new one)
Android version
android 12
Jellyfin server version
10.10.3
Other sources
No response