From 099eeabe18d68336505e911fa93bdac5a922ab2f Mon Sep 17 00:00:00 2001 From: Zoe Roux Date: Mon, 27 Jul 2026 17:58:16 +0200 Subject: [PATCH] fix(cast): fix cast notification metadata --- .../java/dev/zoriya/omni/OmniMediaItemConverter.kt | 10 ++++++++-- example/App.tsx | 12 +++++++----- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/android/src/main/java/dev/zoriya/omni/OmniMediaItemConverter.kt b/android/src/main/java/dev/zoriya/omni/OmniMediaItemConverter.kt index ce18879..f703bea 100644 --- a/android/src/main/java/dev/zoriya/omni/OmniMediaItemConverter.kt +++ b/android/src/main/java/dev/zoriya/omni/OmniMediaItemConverter.kt @@ -43,8 +43,14 @@ class OmniMediaItemConverter : MediaItemConverter { val meta = mediaItem.mediaMetadata val castMetadata = CastMediaMetadata(CastMediaMetadata.MEDIA_TYPE_MOVIE).apply { meta.title?.let { putString(CastMediaMetadata.KEY_TITLE, it.toString()) } - meta.artist?.let { putString(CastMediaMetadata.KEY_ARTIST, it.toString()) } - meta.albumTitle?.let { putString(CastMediaMetadata.KEY_ALBUM_TITLE, it.toString()) } + meta.artist?.let { + putString(CastMediaMetadata.KEY_ARTIST, it.toString()) + putString(CastMediaMetadata.KEY_SUBTITLE, it.toString()) + } + meta.albumTitle?.let { + putString(CastMediaMetadata.KEY_ALBUM_TITLE, it.toString()) + putString(CastMediaMetadata.KEY_STUDIO, it.toString()) + } meta.artworkUri?.let { addImage(WebImage(it)) } } diff --git a/example/App.tsx b/example/App.tsx index b0cadb1..2fd838c 100644 --- a/example/App.tsx +++ b/example/App.tsx @@ -1,5 +1,5 @@ import type React from "react"; -import { useCallback, useEffect, useMemo, useState } from "react"; +import { useCallback, useEffect, useMemo, useRef, useState } from "react"; import { Pressable, ScrollView, StyleSheet, Text, View } from "react-native"; import { type AndroidBackend, @@ -75,7 +75,8 @@ function PlayerExample({ const volume = usePlayerState("volume"); const isAutoQuality = usePlayerState("isAutoQuality"); const castStatus = usePlayerState("castStatus"); - const [logs, setLogs] = useState([]); + const [logs, setLogs] = useState<{ id: number; message: string }[]>([]); + const logId = useRef(0); const [tracks, setTracks] = useState(() => ({ videos: [...player.videos], audios: [...player.audios], @@ -98,7 +99,7 @@ function PlayerExample({ const pushLog = useCallback((message: string) => { setLogs((prev) => { - const next = [message, ...prev]; + const next = [{ id: logId.current++, message }, ...prev]; return next.slice(0, 8); }); }, []); @@ -484,8 +485,8 @@ function PlayerExample({ Event log will appear here. ) : ( logs.map((entry) => ( - - {entry} + + {entry.message} )) )} @@ -575,6 +576,7 @@ function App(): React.JSX.Element { key={backend} source={source} backend={{ android: backend }} + cast={{receiverApplicationId: "D8FB0FC1"}} showNotification >