def closeScreen(self): # When exiting, restore the previous service/playback if a channel has been previewed. currentService = self.session.nav.getCurrentlyPlayingServiceOrGroup() if currentService and currentService.toString( ) != self.__originalPlayingService.toString(): # service has changed from the original if self.epgConfig.preview_mode.value: # In preview mode, the original service or movie playback is restored if self.__originalPlayingService.isPlayback(): # Restart movie playback at the resume point stored earlier from Screens.InfoBar import MoviePlayer if MoviePlayer.instance: MoviePlayer.instance.forceNextResume() self.session.nav.playService(self.__originalPlayingService) else: # In non-preview mode, stick with the now playing service; this means closing the movieplayer # if it's open, and setting the infobar's lastservice from Screens.InfoBar import MoviePlayer MoviePlayer.ensureClosed(currentService) self.zapFunc(None, False) if self.session.pipshown: self.session.pipshown = False del self.session.pip self.closeEventViewDialog() self.close()
def zapExit(self): selectedService = self["list"].getCurrent()[1] from Screens.InfoBar import MoviePlayer MoviePlayer.ensureClosed(selectedService) self.zapSelectedService() self.closeEventViewDialog() self.close()
def zap(self): currentService = self.session.nav.getCurrentlyPlayingServiceOrGroup() if currentService and currentService.isPlayback(): # in movie playback, so store the resume point before zapping from Screens.InfoBarGenerics import setResumePoint setResumePoint(self.session) self.zapSelectedService(True) self.refreshTimer.start(1) if not self.currch or self.currch == self.prevch: # Zapping the same service for a second time, record it with the zap history and exit from Screens.InfoBar import MoviePlayer MoviePlayer.ensureClosed(currentService) self.zapFunc(None, False) self.closeEventViewDialog() self.close()