تنظیم رفتار قفل تا کنید

OEMها می‌توانند گزینه‌ای را در دستگاه‌های تاشو پیکربندی کنند که به کاربران امکان می‌دهد نحوه رفتار صفحه بیرونی هنگام تا کردن دستگاه را از حالت قفل و بازشده انتخاب کنند.

این تنظیم در تنظیمات > نمایشگر > ادامه استفاده از برنامه‌ها در تاشو قرار دارد. کاربر سه گزینه زیر را دارد:

  • همیشه: وقتی کاربر دستگاه را تا می کند، نمایشگر جلویی همیشه روشن می شود و قفل آن باز می ماند.
  • برای ادامه، انگشت خود را به بالا بکشید: وقتی کاربر دستگاه را تا می‌کند، دستگاه بدون نیاز به احراز هویت، محافظ صفحه کلید را نشان می‌دهد، مگر اینکه برنامه‌ای قفل بیدار نگه داشته باشد، در این صورت دستگاه روی برنامه بیدار می‌ماند. این تنظیمات پیش فرض است.
  • هرگز: وقتی کاربر دستگاه را تا می‌کند، دستگاه قفل می‌شود و نمایشگر جلویی خاموش می‌شود.

صفحه تنظیم رفتار قفل را تا کنید

شکل 1. تنظیم رفتار قفل تا کنید.

تنظیمات رفتار قفل تاشو را پیکربندی کنید

برای نمایش تنظیمات رفتار قفل تاشو در تنظیمات ، بولی config_fold_lock_behavior را در فایل config.xml روکش دستگاه خود پر کنید:

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

جزئیات پیاده سازی

رفتار قفل فولد توسط یک تنظیم و چندین کلاس باطن کنترل می شود.

تنظیمات و رابط کاربری

مقدار تنظیم FOLD_LOCK_BEHAVIOR به عنوان یک رشته باقی می ماند که با انتخاب کاربر در تنظیمات > نمایش > ادامه استفاده از برنامه ها در تاشو مطابقت دارد:

تنظیم از display_settings.xml پر شده است. UI صفحه تنظیمات در قطعه FoldLockBehaviorSettings پیاده سازی شده است و اولویت توسط FoldLockBehaviorPreferenceController مدیریت می شود.

منطق باطن

هنگامی که دستگاه تا شده است، LogicalDisplayMapper و PowerManager رفتار دستگاه را به صورت زیر کنترل می کنند:

  1. LogicalDisplayMapper مقدار تنظیم FOLD_LOCK_BEHAVIOR را با استفاده از FoldSettingProvider می خواند.
  2. بر اساس مقدار تنظیم:
    • اگر مقدار stay_awake_on_fold_key باشد، دستگاه بیدار می ماند.
    • اگر مقدار selective_stay_awake_key یا sleep_on_fold_key باشد، LogicalDisplayMapper یک سیگنال #goToSleep به PowerManager ارسال می کند.
      • برای کلید_بیدار_ماندن selective_stay_awake_key ، سیگنال #goToSleep شامل پرچم PowerManager.GO_TO_SLEEP_FLAG_SOFT_SLEEP است. این باعث می شود دستگاه بدون نیاز به احراز هویت، محافظ صفحه کلید را نشان دهد.
      • برای sleep_on_fold_key ، سیگنال #goToSleep بدون این پرچم ارسال می شود و باعث قفل شدن دستگاه می شود.