Originalgerätehersteller können auf faltbaren Geräten eine Option konfigurieren, mit der Nutzer festlegen können, wie sich das äußere Display verhält, wenn sie das Gerät aus einem entsperrten und aufgeklappten Zustand zusammenfalten.
Die Einstellung befindet sich unter Einstellungen > Display > Apps nach Zuklappen weiter verwenden. Der Nutzer hat die folgenden drei Möglichkeiten:
- Immer:Wenn der Nutzer das Gerät zuklappt, wird das Frontdisplay immer eingeschaltet und bleibt entsperrt.
- Zum Fortfahren nach oben wischen:Wenn der Nutzer das Gerät zuklappt, wird der Keyguard ohne Authentifizierung angezeigt, es sei denn, eine App hält einen Wakelock. In diesem Fall bleibt das Gerät in der App aktiv. Dies ist die Standardeinstellung.
- Nie:Wenn der Nutzer das Gerät zuklappt, wird es gesperrt und das Frontdisplay wird ausgeschaltet.
Abbildung 1: Einstellung für das Verhalten der Faltverriegelung.
Einstellung für das Verhalten der Foldsperre konfigurieren
Wenn Sie die Einstellung für das Verhalten der Faltverriegelung in den Einstellungen anzeigen möchten, müssen Sie den booleschen Wert config_fold_lock_behavior
in der Overlay-Datei config.xml
Ihres Geräts angeben:
<!-- Whether to show Fold lock behavior setting feature in Settings app -->
<bool name="config_fold_lock_behavior">true</bool>
Details zur Implementierung
Das Verhalten der Faltsperre wird durch eine Einstellung und mehrere Backend-Klassen gesteuert.
Einstellung und Benutzeroberfläche
Der Wert der Einstellung FOLD_LOCK_BEHAVIOR
wird als String gespeichert, der der Auswahl des Nutzers unter Einstellungen > Display > Apps nach Zuklappen weiter verwenden entspricht:
- Immer:
stay_awake_on_fold_key
- Zum Fortfahren nach oben wischen:
selective_stay_awake_key
- Nie:
sleep_on_fold_key
Die Einstellung wird von display_settings.xml
übernommen. Die Benutzeroberfläche der Einstellungsseite wird im Fragment FoldLockBehaviorSettings
implementiert und die Einstellung wird von FoldLockBehaviorPreferenceController
verwaltet.
Backend-Logik
Wenn das Gerät zusammengeklappt ist, steuern LogicalDisplayMapper
und PowerManager
das Verhalten des Geräts so:
LogicalDisplayMapper
liest den Wert der EinstellungFOLD_LOCK_BEHAVIOR
mitFoldSettingProvider
.- Je nach Einstellungswert:
- Wenn der Wert
stay_awake_on_fold_key
ist, bleibt das Gerät aktiv. - Wenn der Wert
selective_stay_awake_key
odersleep_on_fold_key
ist, sendetLogicalDisplayMapper
ein#goToSleep
-Signal anPowerManager
.- Für
selective_stay_awake_key
enthält das Signal#goToSleep
das FlagPowerManager.GO_TO_SLEEP_FLAG_SOFT_SLEEP
. Dadurch wird auf dem Gerät der Keyguard angezeigt, ohne dass eine Authentifizierung erforderlich ist. - Bei
sleep_on_fold_key
wird das Signal#goToSleep
ohne dieses Flag gesendet, wodurch das Gerät gesperrt wird.
- Für
- Wenn der Wert