রাতের আলো প্রয়োগ করুন

গবেষণা পরামর্শ দেয় যে পর্দা থেকে নীল আলো ঘুমের উপর নেতিবাচক প্রভাব ফেলতে পারে। অ্যান্ড্রয়েড 7.1.1 নাইট লাইট নামে একটি বৈশিষ্ট্য চালু করেছে যা ব্যবহারকারীর দিনের সময় এবং অবস্থানের প্রাকৃতিক আলোর সাথে আরও ভালভাবে মেলে ডিভাইস ডিসপ্লে দ্বারা নির্গত নীল আলোর পরিমাণ হ্রাস করে। অ্যান্ড্রয়েড 8.0 একটি অতিরিক্ত বৈশিষ্ট্য চালু করেছে যা ব্যবহারকারীদের নাইট লাইট প্রভাবের তীব্রতার উপর আরও নিয়ন্ত্রণ দেয়। অ্যান্ড্রয়েড 10 COLOR_DISPLAY_SERVICE সিস্টেম পরিষেবা চালু করেছে, একটি সিস্টেম API পৃষ্ঠের সাথে সিস্টেম, সেটিংস এবং সিস্টেম UI কে নাইট লাইট সহ সমস্ত রঙের রূপান্তরের উপর আরও নিয়ন্ত্রণ দিতে।

নাইট লাইটের জন্য একটি হার্ডওয়্যার কম্পোজার HAL 2.0 (HWC 2) ইমপ্লিমেন্টেশন প্রয়োজন যা পাওয়ার, পারফরম্যান্স এবং অ্যাপের সামঞ্জস্যকে প্রভাবিত না করে টিন্টিং করতে setColorTransform পাস করা ম্যাট্রিক্স প্রয়োগ করতে পারে।

বাস্তবায়ন

frameworks/base/core/res/res/values/config.xml

 <!-- Control whether Night display is available. This should only be enabled
      on devices with HWC 2 color transform support. -->
 <bool name="config_nightDisplayAvailable">false</bool>
 <!-- Default mode to control how Night display is automatically activated.
      One of the following values (see NightDisplayController.java):
          0 - AUTO_MODE_DISABLED
          1 - AUTO_MODE_CUSTOM
          2 - AUTO_MODE_TWILIGHT
 -->
 <integer name="config_defaultNightDisplayAutoMode">0</integer>
 <!-- Default time when Night display is automatically activated.
      Represented as milliseconds from midnight (e.g. 79200000 == 10pm). -->
 <integer name="config_defaultNightDisplayCustomStartTime">79200000</integer>
 <!-- Default time when Night display is automatically deactivated.
      Represented as milliseconds from midnight (e.g. 21600000 == 6am). -->
 <integer name="config_defaultNightDisplayCustomEndTime">21600000</integer>

 <!-- Minimum color temperature, in Kelvin, supported by Night display. -->
 <integer name="config_nightDisplayColorTemperatureMin">2596</integer>
 <!-- Default color temperature, in Kelvin, to tint the screen when Night display is
      activated. -->
 <integer name="config_nightDisplayColorTemperatureDefault">2850</integer>
 <!-- Maximum color temperature, in Kelvin, supported by Night display. -->
 <integer name="config_nightDisplayColorTemperatureMax">4082</integer>
এ সংজ্ঞায়িত নিম্নলিখিত পতাকাগুলি ব্যবহার করে ডিভাইস নির্মাতারা বৈশিষ্ট্যটির ডিফল্ট বাস্তবায়ন সক্ষম করতে পারে

কোডটি ফ্রেমওয়ার্ক, সিস্টেম পরিষেবা, সিস্টেম UI এবং সেটিংসের মধ্যে বিভক্ত। মূল কার্যকারিতা ColorDisplayManager দ্বারা নিয়ন্ত্রিত হয় ( ColorDisplayService দ্বারা সমর্থিত)।

ডিভাইস নির্মাতাদের উচিত হোয়াইট পয়েন্ট, গামুট এবং পছন্দসই রঙ সহ ডিভাইসের ডিসপ্লে প্যানেলের বৈশিষ্ট্যের উপর ভিত্তি করে রঙের র‌্যাম্প কাস্টমাইজ করা। আপনি একটি কনফিগারেশন ওভারলে ব্যবহার করে বেস বাস্তবায়ন পরিবর্তন না করে রঙের র‌্যাম্প পরিবর্তন করতে পারেন। এই কনফিগারেশনটি লাল, সবুজ এবং নীল প্রতিটির জন্য একটি দ্বিঘাত সমীকরণ হিসাবে প্রকাশ করা হয়েছে, v res = v a t 2 + v b t + v y-int আকারে যেখানে t হল কেলভিনের তাপমাত্রা ইনপুট, যেমন উল্লেখ করা হয়েছে config_nightDisplayColorTemperatureMin এবং config_nightDisplayColorTemperatureMax এর মধ্যে পরিসর (আগের বিভাগে বর্ণিত), এবং v a , v b , এবং v y-int হল প্রদত্ত প্রাথমিকের বক্ররেখার জন্য যথাক্রমে a- সহগ, b- সহগ এবং y- ইন্টারসেপ্ট নীচে নির্দেশিত।

    <string-array name="config_nightDisplayColorTemperatureCoefficientsNative">
        <!-- R a-coefficient --> <item>0.0</item>
        <!-- R b-coefficient --> <item>0.0</item>
        <!-- R y-intercept --> <item>1.0</item>
        <!-- G a-coefficient --> <item>-0.00000000962353339</item>
        <!-- G b-coefficient --> <item>0.000153045476</item>
        <!-- G y-intercept --> <item>0.390782778</item>
        <!-- B a-coefficient --> <item>-0.0000000189359041</item>
        <!-- B b-coefficient --> <item>0.000302412211</item>
        <!-- B y-intercept --> <item>-0.198650895</item>
    </string-array>

    <string-array name="config_nightDisplayColorTemperatureCoefficients">
        <!-- R a-coefficient --> <item>0.0</item>
        <!-- R b-coefficient --> <item>0.0</item>
        <!-- R y-intercept --> <item>1.0</item>
        <!-- G a-coefficient --> <item>-0.00000000962353339</item>
        <!-- G b-coefficient --> <item>0.000153045476</item>
        <!-- G y-intercept --> <item>0.390782778</item>
        <!-- B a-coefficient --> <item>-0.0000000189359041</item>
        <!-- B b-coefficient --> <item>0.000302412211</item>
        <!-- B y-intercept --> <item>-0.198650895</item>
    </string-array>

UI বৈশিষ্ট্য

যেহেতু নাইট লাইট একটি ব্যবহারকারী-মুখী বৈশিষ্ট্য, ব্যবহারকারীদের এটি নিয়ন্ত্রণ করতে সক্ষম হতে হবে। অ্যান্ড্রয়েড ওপেন সোর্স প্রজেক্ট (AOSP) প্যাকেজ/অ্যাপস/সেটিংস প্রজেক্টে সেটিংসের সম্পূর্ণ বাস্তবায়ন রয়েছে যা ডিভাইস নির্মাতারা তাদের সেটিংস বাস্তবায়নের জন্য উল্লেখ করতে পারেন। বাস্তবায়নকারীদের অবশ্যই সেটিংস পরিচালনা করতে হবে Settings.ACTION_NIGHT_DISPLAY_SETTINGS এই সেটিংটি প্রকাশ করার অভিপ্রায়৷

সেটিংস

নাইট লাইটের জন্য সেটিংস > ডিসপ্লে > নাইট লাইট এ রয়েছে। সেখান থেকে, ব্যবহারকারীরা নাইট লাইট সম্পর্কে জানতে, এর সময়সূচী সেট করতে এবং এটি চালু বা বন্ধ করতে পারে।

  • স্বয়ংক্রিয়ভাবে চালু করুন
    • কখনই না: নাইট লাইট কখনই স্বয়ংক্রিয়ভাবে চালু হবে না এবং ম্যানুয়াল অন/অফ টগলের মাধ্যমে সক্রিয় করতে হবে।
    • কাস্টম সময়সূচী: নাইট লাইট একটি নির্দিষ্ট শুরুর সময় [ডিফল্ট: 10:30 pm] এবং একটি নির্দিষ্ট শেষ সময়ে [ডিফল্ট: 6:30 am] বন্ধ হয়।
    • সূর্যাস্ত থেকে সূর্যোদয়: রাতের আলো সূর্যাস্তের সময় চালু হয় এবং সূর্যোদয়ের সময় বন্ধ হয়। সূর্যোদয় এবং সূর্যাস্তের সময় ডিভাইসের অবস্থান এবং বছরের সময়ের উপর নির্ভর করে।
  • চালু/বন্ধ: টগল যা নাইট লাইটের বর্তমান অবস্থা নিয়ন্ত্রণ করে। এই রাজ্য বিদ্যমান স্বয়ংক্রিয় নিয়মকে সম্মান করে। উদাহরণস্বরূপ, যদি নাইট লাইট বিকাল 5:30 এ টগল করা হয় (স্বয়ংক্রিয় নিয়মটি 10:30 pm এ এটি চালু হওয়ার আগে), নাইট লাইট এখনও 6:30 টায় বন্ধ হয়ে যাবে এবং যদি নাইট লাইট 5 এ টগল করা হয় :30 am (এটি সকাল 6:30 এ বন্ধ হওয়ার আগে), এটি এখনও 10:30 টায় চালু হবে
  • তীব্রতা: সিকবার যা উষ্ণ থেকে শীতল হয়ে স্লাইড করে টিন্ট লেভেল নিয়ন্ত্রণ করে। নাইট লাইট সক্রিয় না হলে সিকবার অক্ষম করা যেতে পারে।
  • তথ্যমূলক পাঠ্য: ব্যবহারকারীকে নাইট লাইট কী করে এবং কেন তা শেখায়।

সেটিংস শর্তাধীন

নাইট লাইট অন থাকলে সেটিংসের শীর্ষে দৃশ্যমান।

দ্রুত সেটিংস টাইল

কুইক সেটিংস টাইলটি সেটিংস > ডিসপ্লে > নাইট লাইটে অন/অফ টগলের মতো আচরণ করে।