Eine feste Anzeigedauer ist immer geraten: mal zu kurz zum Lesen, mal steht sie laengst im Weg. `seconds=0` liess die Einblendung bisher einfach stehen. Jetzt heisst seconds=0: bleibt, bis der Nutzer etwas tut. - Fernbedienung: der Accessibility-Dienst bekommt onKeyEvent und raeumt die Einblendung weg. Er gibt die Taste mit `return false` WEITER an den Film — es geht also kein Tastendruck verloren und der Player bleibt bedienbar. Dafuer brauchte der Dienst canRequestFilterKeyEvents + flagRequestFilterKeyEvents. - Touch: FLAG_WATCH_OUTSIDE_TOUCH meldet eine Beruehrung ausserhalb. Die geht dank FLAG_NOT_TOUCHABLE gleichzeitig an die App darunter durch. - Notbremse: nach 10 Minuten verschwindet sie in jedem Fall. Bewusst NICHT der naheliegende Weg (Overlay faengt Tasten selbst ab): dafuer muessten FLAG_NOT_FOCUSABLE und FLAG_NOT_TOUCHABLE weg, und dann nimmt die Einblendung dem laufenden Film JEDE Eingabe, solange sie steht. Genau das soll sie nicht. host_notify beschreibt seconds=0 jetzt als den richtigen Wert fuer alles zum Lesen (Wetter, Listen, Zahlen) und die feste Dauer fuer kurze Hinweise. APK baut durch. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
11 lines
593 B
XML
11 lines
593 B
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
|
|
android:accessibilityEventTypes="typeWindowStateChanged|typeWindowContentChanged"
|
|
android:accessibilityFeedbackType="feedbackGeneric"
|
|
android:accessibilityFlags="flagRetrieveInteractiveWindows|flagReportViewIds|flagRequestFilterKeyEvents"
|
|
android:canRetrieveWindowContent="true"
|
|
android:canPerformGestures="true"
|
|
android:canRequestFilterKeyEvents="true"
|
|
android:notificationTimeout="100"
|
|
android:description="@string/accessibility_desc" />
|