[Shield Android TV Themes and Apps] Mateusz.Ra:
Tool for automatic display mode matching to video frame rate. Additionally allows manual mode switching via OSD or shortcuts and HDMI CEC remote shourtcuts.

INSTALLATION

Requires SHIELD Experience Upgrade 8.0 (Android P)

- Install from google play (can' post links yet so search for "Refresh rate" or "mobi.bytearray.refreshrate" in google play)

- Enable 'Apps > Special app access > Display over other apps > Refresh Rate' (draw invisible pixel on top of apps and use preferredDisplayModeId api for it)

- Enable 'Device Preferences > Accessibility > Refresh Rate' (used for detecting current app and for remote key binding)

- Enable 'Device Preferences > Developer Options > Network debugging' (used for obtain current video refresh rate and HDMI CEC signals)

- Set 'Device Preferences > Developer Options > Logger buffer sizes' to '16M per log buffer'

Main screen

'Remote control settings' - access to remote control settings and shortcuts (see below)

'Advanced settings' - access to other settings (see below)

'APPS' section - list of installed apps

'Show system apps' - it includes/excludes system apps in APPS section

App details

'Auto refresh rate' - enables automatic refresh rate for this app; after ~5s from video start, display mode will be matched to video frame rate; when first time enabled 'Allow network debugging?' will prompt, check 'always allow' and 'OK'

'Automatic default switching' - it works in conjuncjon with 'Auto refresh rate' app setting; when video stops refresh rate will switch back to app default mode (WARNING: this can cause display mode flickering after video seek)

'Startup display mode' - if selected, after app start display mode will be changed to it, after app exit mode will be changed to system default. It can be used in conjunction with 'Auto refresh rate'

Remote control settings

'HDMI CEC' - it allows to use HDMI CEC remote controls for shortcuts.

'Numeric pad' - assign remote control channels number buttons as shortcuts to refresh rate display modes (manual switching)

'OSD shortcut' - assign remote control key to OSD menu with refresh rate display modes (manual switching)

'HOME shortcut' - assign remote control key to HOME system action (useful for HDMI CEC remotes)

'RECENT APPS shortcut' - assign remote control key to RECENT APPS overview (useful for HDMI CEC remotes)

'VOLUME UP/DOWN shortcuts' - assign remote control keys to volume control (useful for HDMI CEC remotes)

Advanced settings

'Resolution switching' - when enabled, OSD menu includes all display modes; when disabled OSD includes refresh rates for current resolution only

'Display video frame rate' - after video start frame rate value is displayed

'Automatic modes whitelist' - display modes that are used for automatic refresh rate matching

Known issues

Netflix:

There is problem when change from 59.94hz or 60hz to lower durning video playback.

Solution 1:

Restart video by exiting to home menu and launching something different (or wait for trailer starts).

Solution 2:

Set default refresh rate to 23.976fps for netflix app, it looks that changes from this 'base' is working fine without restarting video playback.

Amazon Prime:

If you change refresh rate durning playback you will get HDCP Error. You should restart video after change or select proper refresh rate before video start.

Volume overlay:

Android bug, when Accessibility service enabled, volume overlay will be visible 20s

IR volume control:

There is an issue in 9.0 with IR volume control when anything is enabled in accessibility settings. What you'll see is IR volume control doesn't work, it falls back to digital system volume control (slider on the right).

FAQ

Q: After upgrade from sideloaded to google play version auto refresh rate is not working

A: Disable 'Network debugging', use 'Revoke USB debugging authorizations', enable 'Network debugging'.

If you like this app, PLEASE RATE IT in google play! THANKS!!! :)