[android] setting to auto hide overlay on controller input (#3127)
Setting `HIDE_OVERLAY_ON_CONTROLLER_INPUT` in *Advanced settings → Input Overlay*
**Behavior:**
- First controller input -> hides overlay
- Controller disconnect → shows overlay again
- Subsequent controller inputs → ignored (already hidden, so no retrigger needed)
- Touch screen → does **not** show overlay (so you can use a controller and touchscreen to interact with games)
- Sidebar "Show/Hide controller" button → still works as master toggle
**State reset: The "first input" detection resets when:**
1. Controller disconnects
2. Overlay is shown via sidebar button
3. Controller reconnects
**Interaction with other settings:**
- Requires `SHOW_INPUT_OVERLAY` to be enabled (basicaly a master switch)
- Independent from `ENABLE_INPUT_OVERLAY_AUTO_HIDE` (timer-based hide, was already implemented)
- When both are enabled, touch-to-show is disabled (controller-hide takes precedence)
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3127
Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
Reviewed-by: Maufeat <sahyno1996@gmail.com>
Co-authored-by: Producdevity <y.gherbi.dev@gmail.com>
Co-committed-by: Producdevity <y.gherbi.dev@gmail.com>
<stringname="overlay_auto_hide">Overlay Auto Hide</string>
<stringname="overlay_auto_hide">Overlay Auto Hide</string>
<stringname="overlay_auto_hide_description">Automatically hide the touch controls overlay after the specified time of inactivity.</string>
<stringname="overlay_auto_hide_description">Automatically hide the touch controls overlay after the specified time of inactivity.</string>
<stringname="enable_input_overlay_auto_hide">Enable Overlay Auto Hide</string>
<stringname="enable_input_overlay_auto_hide">Enable Overlay Auto Hide</string>
<stringname="hide_overlay_on_controller_input">Hide Overlay on Controller Input</string>
<stringname="hide_overlay_on_controller_input_description">Automatically hide the touch controls overlay when a physical controller is used. Overlay reappears when controller is disconnected.</string>