Android 12-ის Material You თემატური სისტემა ხელახლა შეიქმნა დეველოპერის მიერ

kdrag0n-მა, ProtonAOSP ROM-ის დეველოპერმა, გამოუშვა „მონეტის“ საკუთარი ვერსია, Android 12-ის ახალი ფონზე დაფუძნებული თემების სისტემა.

Material You-ის ფონზე დაფუძნებული თემების სისტემა, კოდური სახელწოდებით „მონეტი“, საბოლოოდ გააქტიურდა Android 12 Beta 2. თემატური სისტემა ქმნის ფერთა პალიტრებს თქვენი ფონის დომინანტური ფერის სქემის საფუძველზე და იყენებს მათ სწრაფი პარამეტრების ფილებზე, დაბლოკვის ეკრანზე, პარამეტრებზე, ამომხტარ ფანჯრებსა და აპებზე. თუმცა, მისი ამჟამინდელი განხორციელებით, ის მხოლოდ თემები სისტემის ინტერფეისის ნაწილია და აირჩიეთ სისტემის აპლიკაციები. მესამე მხარის აპების უმეტესობას არ აქვს ამ დინამიური თემის მხარდაჭერა, რადგან Google-ს ჯერ არ გამოუქვეყნებია დოკუმენტაცია Material You-ზე. მიუხედავად იმისა, რომ ჩვენ არ ვიცით, როდის გამოაქვეყნებს Google რესურსებსა და ბიბლიოთეკებს Material You-ზე, დენი ლინი (kdrag0n), ProtonAOSP ROM-ის შემქმნელი, გამოვიდა საკუთარი თემის ძრავით, რომელიც დაფუძნებულია "მონეტაზე".

kdrag0n-ის თემატური ძრავა მუშაობს ისევე, როგორც "მონეტი" და ხსნის Pixel-ის ექსკლუზიურ დინამიურ თემას ყველა მოწყობილობაზე, რომელიც მუშაობს Android 12 და ზოგიერთ ძველ Android ვერსიაზე. kdrag0n იყო დეველოპერი, რომელმაც პირველად მიიღო „მონეტი“ Android 12-ის დეველოპერების წინასწარი გადახედვის ვერსიებში მუშაობისას. მას შემდეგ მან შეცვალა Google-ის იმპლემენტაცია და აწვდიდა უკუკავშირს Google-ის SystemUI გუნდის წევრებს, განსაკუთრებით

ჯეიმს ო'ლირი (რომელიც, როგორც ჩანს, იმ გუნდის ნაწილია, რომელმაც შექმნა "მონეტი" Google-ში).

kdrag0n-ის თანახმად, მისი დანერგვა არ იყენებს რაიმე კოდს ან API-ს Google-დან ან Android 12-დან, ამიტომ არ არის დამოკიდებული Android 12-ზე გაშვებულ მოწყობილობებზე მისი მოდელის გამოსაყენებლად. kdrag0n-ის თემის ძრავა მიჰყვება Material You ფერის მიზნებს. ეს მიზნები მაშინ „გადაღებული ფერადობის და ელფერის კორექტირებით @bjornornorn-ის Oklab-ის აღქმის ფერთა სივრცეში. შედეგად მიღებული ფერები ასახულია sRGB-ზე გამის კვეთის გამოყენებით Oklab სივრცეში. მომხმარებლებს ასევე შეუძლიათ შეცვალონ ფერადოვნება და პრიორიტეტი მიანიჭონ ფერადოვნებას ზუსტ ჩრდილებზე.

kdrag0n-ის თემის ძრავა არის ღია წყარო MIT ლიცენზიით, რაც საშუალებას აძლევს მორგებული ROM-ის დეველოპერებს (და თუნდაც OEM-ებს) განახორციელონ ის, თუ მათ სურთ ამის გაკეთება. სინამდვილეში, დეველოპერის საკუთარი ProtonAOSP ROM იქნება ერთ-ერთი პირველი, ვინც განახორციელებს მას Android 12 კოდის გამოქვეყნების შემდეგ. თუ თქვენ ხართ Custom ROM-ის დეველოპერი, შეგიძლიათ აირჩიოთ cherry-pick ეს ვალდებულებები და შეაერთეთ ისინი თქვენს მშენებლობაში.

დეველოპერი ასევე მუშაობს Jetpack Compose და Flutter ბიბლიოთეკებზე, რაც Android 11-ისთვის აშენებულ აპებსაც კი საშუალებას მისცემს, მხარი დაუჭირონ დინამიურ ფერებს. Android-ის ძველ ვერსიებზე გათვლილი აპები შეიძლება დაარეგისტრირეთ მსმენელი ფონის ფერის შეცვლისას შეტყობინებების მისაღებად - kdrag0n-ის კოდი განკუთვნილია თემების გენერირებისთვის ახალი ფონის ფერის საფუძველზე.

როგორც Android 11-ზე გათვლილი აპებისთვის მომუშავე მისი მოდელის მაგალითი, დეველოპერმა გაგვიზიარა ვიდეო, სადაც აჩვენა აპლიკაცია, რომელიც ცვლის თავის თემას ყოველ კადრზე 90fps სიჩქარით. გაითვალისწინეთ, რომ ეს დემო არის მხოლოდ მაგალითი იმისა, რისი გაკეთებაც შეიძლება და არ არის რეკომენდირებული მისი ხელახალი შექმნა ზუსტად ისე, როგორც ნაჩვენებია.

ამ ერთს შეიძლება ჰქონდეს დიდი დარტყმა შესრულებასა და ბატარეაზე, თუმცა დეველოპერის Pixel 4-ს შეუძლია თემის ცვლილებები 90fps-ზე უფრო მარტივი ნახვისთვის. დეველოპერის თქმით, Jetpack Compose არც ისე ოპტიმიზირებულია შესრულებისთვის და Flutter ბიბლიოთეკა შეიძლება უკეთესი იყოს. ნებისმიერ შემთხვევაში, მის ძრავას თემის გენერირებას სჭირდება მხოლოდ 0,05 ms, მაგრამ UI თემის შეცვლა ყოველი ფრეიმზე მაინც აზარალებს შესრულებას.


მიშაალ რაჰმანმა თავისი წვლილი შეიტანა ამ სტატიაში.