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:
LogicalDisplayMapperliest den Wert der EinstellungFOLD_LOCK_BEHAVIORmitFoldSettingProvider.- Je nach Einstellungswert:
- Wenn der Wert
stay_awake_on_fold_keyist, bleibt das Gerät aktiv. - Wenn der Wert
selective_stay_awake_keyodersleep_on_fold_keyist, sendetLogicalDisplayMapperein#goToSleep-Signal anPowerManager.- Für
selective_stay_awake_keyenthält das Signal#goToSleepdas 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_keywird das Signal#goToSleepohne dieses Flag gesendet, wodurch das Gerät gesperrt wird.
- Für
- Wenn der Wert