From ef70ec389dd5d7df38cf7e0f16dd0397dcaefefd Mon Sep 17 00:00:00 2001 From: Shaun Date: Sat, 21 Apr 2018 20:57:06 +1000 Subject: [PATCH] add option to show change user dialog on screen saver activation --- addon.xml | 2 +- .../language/resource.language.en_gb/strings.po | 7 +++++++ resources/lib/play_utils.py | 14 ++++++++++++++ resources/lib/server_detect.py | 1 + resources/settings.xml | 3 +++ 5 files changed, 26 insertions(+), 1 deletion(-) diff --git a/addon.xml b/addon.xml index d7c79d3..71c5acd 100644 --- a/addon.xml +++ b/addon.xml @@ -1,7 +1,7 @@ diff --git a/resources/language/resource.language.en_gb/strings.po b/resources/language/resource.language.en_gb/strings.po index e5c7abb..7a5822d 100644 --- a/resources/language/resource.language.en_gb/strings.po +++ b/resources/language/resource.language.en_gb/strings.po @@ -718,3 +718,10 @@ msgctxt "#30328" msgid "Show Empty Folders (Shows, Seasons, Boxsets)" msgstr "" +msgctxt "#30329" +msgid "Screensaver" +msgstr "" + +msgctxt "#30330" +msgid "Show change user dialog" +msgstr "" diff --git a/resources/lib/play_utils.py b/resources/lib/play_utils.py index a21aa2b..d4a0273 100644 --- a/resources/lib/play_utils.py +++ b/resources/lib/play_utils.py @@ -848,6 +848,12 @@ class PlaybackService(xbmc.Monitor): def onNotification(self, sender, method, data): log.debug("PlaybackService:onNotification:{0}:{1}:{2}", sender, method, data) + + #if method == 'GUI.OnScreensaverDeactivated': + if method == 'GUI.OnScreensaverActivated': + self.screensaver_deactivated() + return + if sender[-7:] != '.SIGNAL': return @@ -861,3 +867,11 @@ class PlaybackService(xbmc.Monitor): decoded_data = binascii.unhexlify(hex_data) play_info = json.loads(decoded_data) playFile(play_info, self.monitor) + + def screensaver_deactivated(self): + log.debug("Screen Saver Deactivated") + + settings = xbmcaddon.Addon() + show_change_user = settings.getSetting('changeUserOnScreenSaver') == 'true' + if show_change_user: + xbmc.executebuiltin("RunScript(plugin.video.embycon,0,?mode=CHANGE_USER)") diff --git a/resources/lib/server_detect.py b/resources/lib/server_detect.py index 0eb3dc7..6f2b4ac 100644 --- a/resources/lib/server_detect.py +++ b/resources/lib/server_detect.py @@ -235,5 +235,6 @@ def checkServer(force=False, change_user=False, notify=False): download_utils = DownloadUtils() download_utils.authenticate() download_utils.getUserId() + xbmc.executebuiltin("ActivateWindow(Home)") xbmc.executebuiltin("ReloadSkin()") diff --git a/resources/settings.xml b/resources/settings.xml index 7235a6a..6c7c995 100644 --- a/resources/settings.xml +++ b/resources/settings.xml @@ -38,6 +38,9 @@ + + +