ফোল্ড লক আচরণ সংক্রান্ত সেটিংস

OEM, ফোল্ড করা যায় এমন ডিভাইসে একটি বিকল্প কনফিগার করতে পারে যা ব্যবহারকারীদের এটি বেছে নিতে দেয় যে আনলক করা এবং আনফোল্ড করা অবস্থা থেকে ডিভাইসটি ফোল্ড করলে আউটার স্ক্রিন কীভাবে আচরণ করবে।

এই সেটিং সেটিংস > ডিসপ্লে > ফোল্ড করা অবস্থায় অ্যাপ ব্যবহার করা চালিয়ে যান বিকল্পে আছে। ব্যবহারকারীর কাছে নিম্নলিখিত তিনটি বিকল্প আছে:

  • সবসময়: ব্যবহারকারী ডিভাইস ফোল্ড করলে, ফ্রন্ট ডিসপ্লে সবসময় চালু হয়ে যায় এবং আনলক করা থাকে।
  • চালিয়ে যেতে উপরের দিকে সোয়াইপ করুন: ব্যবহারকারী ডিভাইস ফোল্ড করলে, ডিভাইসটি যাচাইকরণ না করেই কীগার্ড দেখায়, যদি না কোনও অ্যাপ ওয়েক-লক হোল্ড করে থাকে, সেক্ষেত্রে ডিভাইসটি অ্যাপে চালু থাকে। এটি হল ডিফল্ট সেটিং।
  • কখনও নয়: ব্যবহারকারী ডিভাইস ফোল্ড করলে, ডিভাইস লক হয়ে যায় এবং ফ্রন্ট ডিসপ্লে বন্ধ হয়ে যায়।

ফোল্ড লক আচরণ সেটিংস পৃষ্ঠা

ছবি ১. ফোল্ড লক আচরণ সংক্রান্ত সেটিংস।

ফোল্ড লক বিহেভিয়ার সেটিং কনফিগার করুন

সেটিংস-এ ফোল্ড লক বিহেভিয়ার সেটিং দেখাতে, আপনার ডিভাইসের ওভারলে 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>

প্রয়োগ সংক্রান্ত বিবরণ

ফোল্ড লক আচরণ একটি সেটিং ও একাধিক ব্যাকএন্ড ক্লাস দ্বারা নিয়ন্ত্রিত হয়।

সেটিং ও UI

FOLD_LOCK_BEHAVIOR সেটিংয়ের ভ্যালু একটি স্ট্রিং হিসেবে সেভ করা হয়, যা সেটিংস > ডিসপ্লে > ফোল্ড করা অবস্থায় অ্যাপ ব্যবহার চালিয়ে যান বিকল্পে ব্যবহারকারীর বেছে নেওয়া বিকল্পের সাথে সম্পর্কিত:

display_settings.xml থেকে সেটিং বাড়ানো হয়েছে। সেটিংস পৃষ্ঠার UI 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 PowerManager-এ #goToSleep সিগন্যাল পাঠায়।
      • selective_stay_awake_key-এর জন্য, #goToSleep সিগন্যালে PowerManager.GO_TO_SLEEP_FLAG_SOFT_SLEEP ফ্ল্যাগ অন্তর্ভুক্ত থাকে। এর ফলে ডিভাইসটি কোনও যাচাইকরণ ছাড়াই কীগার্ড দেখায়।
      • sleep_on_fold_key-এর জন্য, এই ফ্ল্যাগটি ছাড়াই #goToSleep সিগন্যাল পাঠানো হয়, যার ফলে ডিভাইসটি লক হয়ে যায়।