ओईएम, फ़ोल्ड किए जा सकने वाले डिवाइसों पर एक विकल्प कॉन्फ़िगर कर सकते हैं. इससे उपयोगकर्ता यह चुन सकते हैं कि डिवाइस को अनलॉक और अनफ़ोल्ड करने के बाद, फ़ोल्ड करने पर बाहरी स्क्रीन कैसे काम करेगी.
यह सेटिंग, सेटिंग > डिसप्ले > फ़ोल्ड करने पर भी, ऐप्लिकेशन का इस्तेमाल जारी रखें में मौजूद है. उपयोगकर्ता के पास ये तीन विकल्प होते हैं:
- हमेशा: जब उपयोगकर्ता डिवाइस को फ़ोल्ड करता है, तब फ़्रंट डिसप्ले हमेशा चालू रहता है और अनलॉक रहता है.
- जारी रखने के लिए ऊपर की ओर स्वाइप करें: जब उपयोगकर्ता डिवाइस को फ़ोल्ड करता है, तो डिवाइस पर कीगार्ड दिखता है. इसके लिए, पुष्टि करने की ज़रूरत नहीं होती. हालांकि, अगर कोई ऐप्लिकेशन वेकलॉक को होल्ड कर रहा है, तो डिवाइस ऐप्लिकेशन पर चालू रहता है. यह डिफ़ॉल्ट सेटिंग है.
- कभी नहीं: जब उपयोगकर्ता डिवाइस को फ़ोल्ड करता है, तो डिवाइस लॉक हो जाता है और फ़्रंट डिसप्ले बंद हो जाता है.
पहली इमेज. फ़ोल्ड लॉक के व्यवहार की सेटिंग.
फ़ोल्ड लॉक के व्यवहार की सेटिंग कॉन्फ़िगर करना
सेटिंग में फ़ोल्ड लॉक के व्यवहार की सेटिंग दिखाने के लिए, अपने डिवाइस के ओवरले 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
सेटिंग की वैल्यू को स्ट्रिंग के तौर पर सेव किया जाता है. यह वैल्यू, उपयोगकर्ता के सेटिंग > डिसप्ले > फ़ोल्ड करने पर भी, ऐप्लिकेशन का इस्तेमाल जारी रखें में किए गए चुनाव के हिसाब से होती है:
- हमेशा:
stay_awake_on_fold_key
- जारी रखने के लिए ऊपर की ओर स्वाइप करें:
selective_stay_awake_key
- कभी नहीं:
sleep_on_fold_key
यह सेटिंग, display_settings.xml
से ली गई है. सेटिंग पेज का यूज़र इंटरफ़ेस (यूआई) FoldLockBehaviorSettings
फ़्रैगमेंट में लागू किया जाता है. साथ ही, प्राथमिकता को FoldLockBehaviorPreferenceController
मैनेज करता है.
पृष्ठभूमि तर्क
डिवाइस को फ़ोल्ड करने पर, LogicalDisplayMapper
और PowerManager
डिवाइस के व्यवहार को इस तरह कंट्रोल करते हैं:
LogicalDisplayMapper
,FoldSettingProvider
का इस्तेमाल करकेFOLD_LOCK_BEHAVIOR
सेटिंग की वैल्यू पढ़ता है.- सेटिंग की वैल्यू के आधार पर:
- अगर वैल्यू
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
सिग्नल इस फ़्लैग के बिना भेजा जाता है. इस वजह से, डिवाइस लॉक हो जाता है.
- अगर वैल्यू