Katlama kilidi davranış ayarı

OEM'ler, katlanabilir cihazlarda kullanıcıların cihazı kilidi açılmış ve açılmış durumdan katladıklarında dış ekranın nasıl davranacağını seçmelerine olanak tanıyan bir seçenek yapılandırabilir.

Bu ayar Ayarlar > Ekran > Cihaz katlıyken uygulamaları kullanmaya devam et bölümünde yer alır. Kullanıcının üç seçeneği vardır:

  • Her zaman: Kullanıcı cihazı katladığında ön ekran her zaman açılır ve kilidi açık kalır.
  • Devam etmek için yukarı kaydırın: Kullanıcı cihazı katladığında, bir uygulama uyanık kalma kilidi tutmadığı sürece cihaz, kimlik doğrulama gerektirmeden kilit ekranını gösterir. Bu durumda cihaz, uygulamada uyanık kalır. Bu, varsayılan ayardır.
  • Hiçbir zaman: Kullanıcı cihazı katladığında cihaz kilitlenir ve ön ekran kapanır.

Katlama kilidi davranış ayarı sayfası

Şekil 1. Katlama kilidi davranış ayarı.

Katlama kilidi davranış ayarını yapılandırma

Katlama kilidi davranış ayarını Ayarlar'da göstermek için cihazınızın yer paylaşımı config.xml dosyasında config_fold_lock_behavior boole değerini doldurun:

  <!-- Whether to show Fold lock behavior setting feature in Settings app -->
  <bool name="config_fold_lock_behavior">true</bool>

Uygulama ayrıntıları

Katlama kilidi davranışı, bir ayar ve çeşitli arka uç sınıfları tarafından kontrol edilir.

Ayarlar ve kullanıcı arayüzü

FOLD_LOCK_BEHAVIOR ayarının değeri, Ayarlar > Ekran > Cihaz katlıyken uygulamaları kullanmaya devam et bölümünde kullanıcının yaptığı seçime karşılık gelen bir dize olarak kalıcı hale getirilir:

Ayar, display_settings.xml tarafından şişirilmiş. Ayarlar sayfası kullanıcı arayüzü FoldLockBehaviorSettings parçasında uygulanır ve tercih FoldLockBehaviorPreferenceController tarafından yönetilir.

Arka uç mantığı

Cihaz katlandığında LogicalDisplayMapper ve PowerManager, cihazın davranışını aşağıdaki gibi kontrol eder:

  1. LogicalDisplayMapper, FoldSettingProvider kullanarak FOLD_LOCK_BEHAVIOR ayar değerini okur.
  2. Ayar değerine göre:
    • Değer stay_awake_on_fold_key ise cihaz uyanık kalır.
    • Değer selective_stay_awake_key veya sleep_on_fold_key ise LogicalDisplayMapper, PowerManager'ye #goToSleep sinyali gönderir.
      • selective_stay_awake_key için #goToSleep sinyali, PowerManager.GO_TO_SLEEP_FLAG_SOFT_SLEEP işaretini içerir. Bu durum, cihazın kimlik doğrulama gerektirmeden tuş kilidini göstermesine neden olur.
      • sleep_on_fold_key için #goToSleep sinyali bu işaret olmadan gönderilir ve cihazın kilitlenmesine neden olur.