फ़ोल्ड किए गए डिवाइस के लॉक होने की सेटिंग

ओईएम, फ़ोल्ड किए जा सकने वाले डिवाइसों पर एक विकल्प कॉन्फ़िगर कर सकते हैं. इससे उपयोगकर्ता यह चुन सकते हैं कि डिवाइस को अनलॉक और अनफ़ोल्ड करने के बाद, फ़ोल्ड करने पर बाहरी स्क्रीन कैसे काम करेगी.

यह सेटिंग, सेटिंग > डिसप्ले > फ़ोल्ड करने पर भी, ऐप्लिकेशन का इस्तेमाल जारी रखें में मौजूद है. उपयोगकर्ता के पास ये तीन विकल्प होते हैं:

  • हमेशा: जब उपयोगकर्ता डिवाइस को फ़ोल्ड करता है, तब फ़्रंट डिसप्ले हमेशा चालू रहता है और अनलॉक रहता है.
  • जारी रखने के लिए ऊपर की ओर स्वाइप करें: जब उपयोगकर्ता डिवाइस को फ़ोल्ड करता है, तो डिवाइस पर कीगार्ड दिखता है. इसके लिए, पुष्टि करने की ज़रूरत नहीं होती. हालांकि, अगर कोई ऐप्लिकेशन वेकलॉक को होल्ड कर रहा है, तो डिवाइस ऐप्लिकेशन पर चालू रहता है. यह डिफ़ॉल्ट सेटिंग है.
  • कभी नहीं: जब उपयोगकर्ता डिवाइस को फ़ोल्ड करता है, तो डिवाइस लॉक हो जाता है और फ़्रंट डिसप्ले बंद हो जाता है.

फ़ोल्ड लॉक के काम करने के तरीके की सेटिंग वाला पेज

पहली इमेज. फ़ोल्ड लॉक के व्यवहार की सेटिंग.

फ़ोल्ड लॉक के व्यवहार की सेटिंग कॉन्फ़िगर करना

सेटिंग में फ़ोल्ड लॉक के व्यवहार की सेटिंग दिखाने के लिए, अपने डिवाइस के ओवरले config.xml फ़ाइल में config_fold_lock_behavior बूलियन को पॉप्युलेट करें:

  <!-- 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, FoldSettingProvider का इस्तेमाल करके FOLD_LOCK_BEHAVIOR सेटिंग की वैल्यू पढ़ता है.
  2. सेटिंग की वैल्यू के आधार पर:
    • अगर वैल्यू stay_awake_on_fold_key है, तो डिवाइस चालू रहता है.
    • अगर वैल्यू selective_stay_awake_key या sleep_on_fold_key है, तो LogicalDisplayMapper, PowerManager को #goToSleep सिग्नल भेजता है.
      • selective_stay_awake_key के लिए, #goToSleep सिग्नल में फ़्लैग PowerManager.GO_TO_SLEEP_FLAG_SOFT_SLEEP शामिल है. इससे डिवाइस पर बिना पुष्टि किए ही कीगार्ड दिखता है.
      • sleep_on_fold_key के लिए, #goToSleep सिग्नल इस फ़्लैग के बिना भेजा जाता है. इस वजह से, डिवाइस लॉक हो जाता है.