Les OEM peuvent configurer une option sur les appareils pliables qui permet aux utilisateurs de choisir le comportement de l'écran extérieur lorsqu'ils plient l'appareil depuis un état déverrouillé et déplié.
Ce paramètre se trouve dans Paramètres > Écran > Continuer à utiliser les applis quand l'appareil est plié. L'utilisateur dispose des trois options suivantes :
- Toujours : lorsque l'utilisateur plie l'appareil, l'écran frontal s'allume toujours et reste déverrouillé.
- Balayer vers le haut pour continuer : lorsque l'utilisateur plie l'appareil, l'écran de verrouillage s'affiche sans authentification requise, sauf si une application maintient un wakelock, auquel cas l'appareil reste allumé sur l'application. Il s'agit du paramètre par défaut.
- Jamais : lorsque l'utilisateur plie l'appareil, celui-ci se verrouille et l'écran frontal s'éteint.
Figure 1. Paramètre de comportement du verrouillage du pli.
Configurer le paramètre de comportement du verrouillage du pli
Pour afficher le paramètre de comportement de verrouillage du pli dans Paramètres, renseignez le booléen config_fold_lock_behavior dans le fichier config.xml de superposition de votre appareil :
<!-- Whether to show Fold lock behavior setting feature in Settings app -->
<bool name="config_fold_lock_behavior">true</bool>
Détails de mise en œuvre
Le comportement du verrouillage du pli est contrôlé par un paramètre et plusieurs classes de backend.
Paramètres et UI
La valeur du paramètre FOLD_LOCK_BEHAVIOR est conservée sous forme de chaîne, ce qui correspond à la sélection de l'utilisateur dans Paramètres > Affichage > Continuer à utiliser les applis quand l'appareil est plié :
- Toujours :
stay_awake_on_fold_key - Balayez l'écran vers le haut pour continuer :
selective_stay_awake_key - Jamais :
sleep_on_fold_key
Le paramètre est gonflé par rapport à display_settings.xml. L'UI de la page des paramètres est implémentée dans le fragment FoldLockBehaviorSettings, et la préférence est gérée par FoldLockBehaviorPreferenceController.
Fonctionnement du programme
Lorsque l'appareil est plié, LogicalDisplayMapper et PowerManager contrôlent le comportement de l'appareil comme suit :
LogicalDisplayMapperlit la valeur du paramètreFOLD_LOCK_BEHAVIORà l'aide deFoldSettingProvider.- En fonction de la valeur du paramètre :
- Si la valeur est
stay_awake_on_fold_key, l'appareil reste en veille. - Si la valeur est
selective_stay_awake_keyousleep_on_fold_key,LogicalDisplayMapperenvoie un signal#goToSleepàPowerManager.- Pour
selective_stay_awake_key, le signal#goToSleepinclut l'indicateurPowerManager.GO_TO_SLEEP_FLAG_SOFT_SLEEP. Cela entraîne l'affichage du keyguard sur l'appareil sans authentification requise. - Pour
sleep_on_fold_key, le signal#goToSleepest envoyé sans cet indicateur, ce qui entraîne le verrouillage de l'appareil.
- Pour
- Si la valeur est