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 به عنوان یک رشته باقی می ماند که با انتخاب کاربر در تنظیمات > نمایش > ادامه استفاده از برنامه ها در تاشو مطابقت دارد:
- همیشه:
stay_awake_on_fold_key - برای ادامه، انگشت خود را به بالا بکشید:
selective_stay_awake_key - هرگز:
sleep_on_fold_key
تنظیم از display_settings.xml پر شده است. UI صفحه تنظیمات در قطعه FoldLockBehaviorSettings پیاده سازی شده است و اولویت توسط FoldLockBehaviorPreferenceController مدیریت می شود.
منطق باطن
هنگامی که دستگاه تا شده است، LogicalDisplayMapper و PowerManager رفتار دستگاه را به صورت زیر کنترل می کنند:
-
LogicalDisplayMapperمقدار تنظیمFOLD_LOCK_BEHAVIORرا با استفاده ازFoldSettingProviderمی خواند. - بر اساس مقدار تنظیم:
- اگر مقدار
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بدون این پرچم ارسال می شود و باعث قفل شدن دستگاه می شود.
- برای کلید_بیدار_ماندن
- اگر مقدار