يمكن لمصنّعي المعدات الأصلية ضبط خيار على الأجهزة القابلة للطي يتيح للمستخدمين اختيار طريقة عمل الشاشة الخارجية عند طي الجهاز من حالة غير مقفلة وغير مطوية.
يمكنك العثور على هذا الإعداد في الإعدادات > الشاشة > مواصلة استخدام التطبيقات أثناء طيّ الهاتف. يتوفّر للمستخدم الخيارات الثلاثة التالية:
- دائمًا: عند طيّ الجهاز، يتم دائمًا تشغيل الشاشة الأمامية وتبقى غير مقفلة.
- التمرير سريعًا للأعلى للمتابعة: عندما يطوي المستخدم الجهاز، يعرض الجهاز شاشة القفل بدون الحاجة إلى المصادقة، إلا إذا كان أحد التطبيقات يحتفظ بقفل التنشيط، وفي هذه الحالة يظل الجهاز نشطًا على التطبيق. هذا هو الإعداد التلقائي.
- أبدًا: عند طيّ الجهاز، يتم قفله وإيقاف تشغيل الشاشة الأمامية.
الشكل 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
. يتم تنفيذ واجهة مستخدم صفحة الإعدادات في الجزء 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
بدون هذه العلامة، ما يؤدي إلى قفل الجهاز.
- بالنسبة إلى
- إذا كانت القيمة