מערכת הנושאים של אנדרואיד 12 Material You נוצרה מחדש על ידי מפתח

kdrag0n, המפתחת של ProtonAOSP ROM, הוציאה גרסה משלה של "monet", מערכת הנושא החדשה של אנדרואיד 12 מבוססת הטפטים.

מערכת הנושא מבוססת הטפטים של Material You, בשם הקוד "monet", נכנסה סוף סוף לאוויר אנדרואיד 12 בטא 2. מערכת הנושא יוצרת פלטות צבעים המבוססות על ערכת הצבעים הדומיננטית של הטפט שלך ומחילה אותן על אריחי הגדרות מהירות, מסך נעילה, הגדרות, חלונות קופצים ואפליקציות. עם זאת, ביישומו הנוכחי, זה בלבד ערכות נושא חלק ממשק המשתמש של המערכת ו בחר אפליקציות מערכת. רוב האפליקציות של צד שלישי אינן תומכות בעיצוב דינמי זה מכיוון ש-Google עדיין לא פרסמה את התיעוד על Material You. למרות שאיננו יודעים מתי גוגל תפרסם משאבים וספריות ב-Material You, דני לין (kdrag0n), המפתח של ProtonAOSP ROM, יצא עם מנוע ערכת נושא משלו המבוסס על "monet".

מנוע הנושא של kdrag0n עובד בדיוק כמו "monet" ופותח את הנושא הדינמי הבלעדי של Pixel לכל המכשירים המריצים אנדרואיד 12 וכמה גרסאות אנדרואיד ישנות יותר. kdrag0n היה המפתח שקיבל לראשונה את "monet" לעבודה בבניית תצוגה מקדימה של מפתחי אנדרואיד 12. מאז, הוא ביצע הנדסה הפוכה של היישום של גוגל ואף נותן משוב לחברי צוות SystemUI של גוגל, בעיקר

ג'יימס או'לירי (שנראה שהוא חלק מהצוות שפיתח את "monet" בגוגל).

לפי kdrag0n, ההטמעה שלו לא משתמשת בקוד או ממשקי API מגוגל או אנדרואיד 12, כך שאין תלות במכשירים עם אנדרואיד 12 לשימוש בדגם שלו. מנוע הנושא של kdrag0n עוקב אחר יעדי הצבע של Material You. המטרות הללו הן אז "צבעו מחדש על ידי התאמת הצבעוניות והגוון במרחב הצבע התפיסתי של Oklab של @bjornornorn. הצבעים המתקבלים ממופים ל-sRGB באמצעות צומת סולם במרחב Oklab." משתמשים יכולים גם לשנות את הצבעוניות ולגרום לה לתעדף צבעוניות על פני גוונים מדויקים.

מנוע הנושא של kdrag0n הוא קוד פתוח תחת רישיון MIT, המאפשר למפתחי ROM מותאמים אישית (ואפילו יצרני OEM) ליישם אותו אם הם רוצים לעשות זאת. למעשה, של המפתח עצמו ProtonAOSP ROM יהיה אחד הראשונים ליישם אותו כאשר קוד המקור של Android 12 יתפרסם. אם אתה מפתח ROM מותאם אישית, אתה יכול לבחור דובדבן מתחייבים אלה ומזג אותם לתוך המבנה שלך.

המפתח עובד גם על ספריות Jetpack Compose ו-Flutter, שיאפשרו אפילו לאפליקציות שנבנו עבור אנדרואיד 11 לתמוך בצבעים דינמיים. אפליקציות המתמקדות בגרסאות אנדרואיד ישנות יותר יכולות לרשום מאזין כדי לקבל הודעה כאשר צבעי הטפט משתנים - הקוד של kdrag0n נועד יותר ליצירת ערכות נושא המבוססות על צבע הטפט החדש.

כדוגמה למודל שלו עובד עבור אפליקציות המכוונות לאנדרואיד 11, המפתח שיתף איתנו סרטון המדגים אפליקציה שמשנה את הנושא שלה בכל פריים במהירות של 90 פריימים לשנייה. שימו לב שהדגמה זו היא רק דוגמה למה שניתן לעשות ולא מומלץ לשחזר אותה בדיוק כפי שמוצג.

זה יכול לקבל מכה גדולה בביצועים ובסוללה, אם כי ה-Pixel 4 של המפתח יכול להציג שינויי נושא במהירות 90 פריימים לשנייה עבור צפיות פשוטות יותר. לדברי המפתח, Jetpack Compose לא עבר אופטימיזציה לביצועים כל כך, וייתכן שספריית Flutter תהיה טובה יותר. בכל מקרה, זה לוקח רק 0.05 אלפיות השנייה למנוע שלו ליצור ערכת נושא, אבל שינוי ערכת הנושא של ממשק המשתמש כל פריים מכביד על הביצועים בכל זאת.


מישאל רחמן תרם לכתבה זו.