…d users. Fixes fixes plexinc/roku-client#210
We key off the screensaver to lock the screen. Legacy devices will show the lock screen immediately, instead of keeping the screen saver in view. This seems to also prevent the screensaver from running again, keeping the lock screen displayed indefinitely. This fix (workaround) will send an invalid keypress to the roku after the lockscreen is displayed to reenable the internal roku idle timeouts, allowing the screensaver to start again.
It's possible if GDM is disabled (server or client), and a user is connected to a Plex Account having zero servers, that a loop will occur waiting for our connection tests to occur. This would normally be OK as we should have zero pending requests, but that global was never set. The "pendingRequests" global is fixed, and we have added a loopguard (maxDuration) for a safety net. fixes plexinc/roku-client#164
Single pref to handle multiple functions. Immutable to restricted users. Enabled * bypass any pin prompt for last user * do not lock screen when idle Disabled: * show user selection on start (in multi-user home or user protected) * lock screen with idle
It's possible for anyone to adjust/disable the screensaver settings on the Roku. This will allow us to set an global timeout if disabled or status unknown. FW 5.6+ (supporting roAppManager.GetScreensaverTimeout) * use screensaver timeout value * use 5 minutes if screen saver disabled FW < 5.6 * use 30 minutes (max screensaver idle time) First to lock the screen wins. If the screensaver locks, the global idle timeout will play nicely, as will the reverse.