@@ -22,19 +22,23 @@ const useEvent = (_song, songDispatch, nextSong) => {
2222 const client = useRemoteMediaClient ( )
2323 const remote = useRemote ( )
2424
25+ React . useEffect ( ( ) => {
26+ if ( ! client ) return
27+ const sessionManager = GoogleCast . getSessionManager ( )
28+ const event = sessionManager . onSessionSuspended ( ( ) => {
29+ logger . info ( 'RemotePlayer' , 'Session suspended' )
30+ remote . selectDevice ( null )
31+ } )
32+ return ( ) => event . remove ( )
33+ } , [ client , remote ] )
34+
2535 React . useEffect ( ( ) => {
2636 const events = [ ]
2737 if ( ! client ) return
2838 const sessionManager = GoogleCast . getSessionManager ( )
2939
3040 events . push ( sessionManager . onSessionEnded ( ( ) => {
3141 logger . info ( 'RemotePlayer' , 'Session ended' )
32- remote . selectDevice ( null )
33- } ) )
34-
35- events . push ( sessionManager . onSessionSuspended ( ( ) => {
36- logger . info ( 'RemotePlayer' , 'Session suspended' )
37- songDispatch ( { type : 'setPlaying' , state : State . Stopped } )
3842 } ) )
3943
4044 events . push ( client . onMediaStatusUpdated ( ( mediaStatus ) => {
@@ -192,7 +196,7 @@ const connectAndWait = (deviceId) => {
192196 const timeoutId = setTimeout ( ( ) => {
193197 events . forEach ( ( event ) => event . remove ( ) )
194198 reject ( new Error ( 'Connection to device timed out' ) )
195- } , 60 * 1000 )
199+ } , 30 * 1000 )
196200 events . push ( sessionManager . onSessionStarted ( ( ) => {
197201 clearTimeout ( timeoutId )
198202 events . forEach ( ( event ) => event . remove ( ) )
0 commit comments