diff --git a/components/Home/provider.tsx b/components/Home/provider.tsx index 965bdaa1..0c712d73 100644 --- a/components/Home/provider.tsx +++ b/components/Home/provider.tsx @@ -24,13 +24,14 @@ const HomeContextInitializer = () => { }); const onRefresh = async () => { + setRefreshing(true); + await Promise.all([ refetchRecentTracks(), refetchRecentArtists() ]) - .then(() => { - setRefreshing(false); - }) + + setRefreshing(false); } return { diff --git a/components/Player/screens/index.tsx b/components/Player/screens/index.tsx index 95a54c3f..181b3f60 100644 --- a/components/Player/screens/index.tsx +++ b/components/Player/screens/index.tsx @@ -18,6 +18,8 @@ import { trigger } from "react-native-haptic-feedback"; import { Gesture, GestureDetector } from "react-native-gesture-handler"; import { BaseItemDto } from "@jellyfin/sdk/lib/generated-client/models"; import { useIsFocused } from "@react-navigation/native"; +import { useProgress } from "react-native-track-player"; +import { UPDATE_INTERVAL } from "../../../player/config"; const scrubGesture = Gesture.Pan(); @@ -31,7 +33,6 @@ export default function PlayerScreen({ nowPlayingIsFavorite, setNowPlayingIsFavorite, nowPlaying, - progress, useSeekTo, useSkip, usePrevious, @@ -39,6 +40,8 @@ export default function PlayerScreen({ queue } = usePlayerContext(); + const progress = useProgress(UPDATE_INTERVAL); + const [seeking, setSeeking] = useState(false); /** diff --git a/player/handlers.ts b/player/handlers.ts index 4b32fab0..7cc79be1 100644 --- a/player/handlers.ts +++ b/player/handlers.ts @@ -3,7 +3,7 @@ import { JellifyTrack } from "../types/JellifyTrack"; import { PlaystateApi } from "@jellyfin/sdk/lib/generated-client/api/playstate-api"; import { convertSecondsToRunTimeTicks } from "../helpers/runtimeticks"; -export async function handlePlaybackState(sessionId: string, playstateApi: PlaystateApi, track: JellifyTrack, state: State, progress: Progress) { +export async function handlePlaybackState(sessionId: string, playstateApi: PlaystateApi, track: JellifyTrack, state: State) { switch (state) { case (State.Playing) : { console.debug("Report playback started") @@ -11,7 +11,6 @@ export async function handlePlaybackState(sessionId: string, playstateApi: Plays playbackStartInfo: { SessionId: sessionId, ItemId: track.item.Id, - PositionTicks: convertSecondsToRunTimeTicks(progress.position) } }); break; @@ -25,7 +24,6 @@ export async function handlePlaybackState(sessionId: string, playstateApi: Plays playbackStopInfo: { SessionId: sessionId, ItemId: track.item.Id, - PositionTicks: convertSecondsToRunTimeTicks(progress.position) } }); break; diff --git a/player/provider.tsx b/player/provider.tsx index 7a901629..84f2df4d 100644 --- a/player/provider.tsx +++ b/player/provider.tsx @@ -40,7 +40,6 @@ interface PlayerContext { usePrevious: UseMutationResult; usePlayNewQueue: UseMutationResult; playbackState: State | undefined; - progress: Progress | undefined; } const PlayerContextInitializer = () => { @@ -244,7 +243,6 @@ const PlayerContextInitializer = () => { //#region RNTP Setup const { state: playbackState } = usePlaybackState(); - const progress = useProgress(UPDATE_INTERVAL); useTrackPlayerEvents([ Event.RemoteLike, @@ -268,7 +266,7 @@ const PlayerContextInitializer = () => { } case (Event.PlaybackState) : { - handlePlaybackState(Client.sessionId, playStateApi, await TrackPlayer.getActiveTrack() as JellifyTrack, event.state, progress); + handlePlaybackState(Client.sessionId, playStateApi, await TrackPlayer.getActiveTrack() as JellifyTrack, event.state); break; } case (Event.PlaybackProgressUpdated) : { @@ -363,7 +361,6 @@ const PlayerContextInitializer = () => { usePrevious, usePlayNewQueue, playbackState, - progress, } //#endregion return } @@ -540,7 +537,6 @@ export const PlayerContext = createContext({ submittedAt: 0 }, playbackState: undefined, - progress: undefined, }); //#endregion Create PlayerContext @@ -563,7 +559,6 @@ export const PlayerProvider: ({ children }: { children: ReactNode }) => React.JS usePrevious, usePlayNewQueue, playbackState, - progress } = PlayerContextInitializer(); return React.JS usePrevious, usePlayNewQueue, playbackState, - progress }}> { children }