إعداد سلوك قفل الطي

يمكن لمصنّعي المعدات الأصلية ضبط خيار على الأجهزة القابلة للطي يتيح للمستخدمين اختيار طريقة عمل الشاشة الخارجية عند طي الجهاز من حالة غير مقفلة وغير مطوية.

يمكنك العثور على هذا الإعداد في الإعدادات > الشاشة > مواصلة استخدام التطبيقات أثناء طيّ الهاتف. يتوفّر للمستخدم الخيارات الثلاثة التالية:

  • دائمًا: عند طيّ الجهاز، يتم دائمًا تشغيل الشاشة الأمامية وتبقى غير مقفلة.
  • التمرير سريعًا للأعلى للمتابعة: عندما يطوي المستخدم الجهاز، يعرض الجهاز شاشة القفل بدون الحاجة إلى المصادقة، إلا إذا كان أحد التطبيقات يحتفظ بقفل التنشيط، وفي هذه الحالة يظل الجهاز نشطًا على التطبيق. هذا هو الإعداد التلقائي.
  • أبدًا: عند طيّ الجهاز، يتم قفله وإيقاف تشغيل الشاشة الأمامية.

صفحة إعدادات سلوك قفل الطي

الشكل 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. يتم تنفيذ واجهة مستخدم صفحة الإعدادات في الجزء 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 بدون هذه العلامة، ما يؤدي إلى قفل الجهاز.