Wraz z wydaniem Androida 12 system motywów Google oparty na tapetach nie będzie w pełni open source. To się zmieni w przyszłej wersji.
Już tylko kilka tygodni dzieli nas od premiery Androida 12, ale ważne jest, aby pamiętać, że plotki Data premiery 4 października jest przeznaczona wyłącznie dla telefonów Pixel firmy Google. Dotarcie aktualizacji na inne urządzenia zajmie tygodnie, a co bardziej prawdopodobne, miesiące, a kiedy to nastąpi, nie będzie zawierać wszystkich nowych funkcji. Najbardziej godną uwagi funkcją, której będzie brakować w wersji open source Androida 12 – a zatem nie pojawi się w wielu rozwidleniach OEM systemu operacyjnego – jest silnik motywów Google oparty na tapetach, o kryptonimie „Monet”. Wydaje się jednak, że wykluczenie go z systemu Android o otwartym kodzie źródłowym jest jedynie tymczasowe, ponieważ pojawiły się dowody na to, że wraz z wydaniem systemu Android „monet” będzie w pełni oprogramowaniem typu open source 12.1.
Ci z Was, którzy nie widzieli ani nie wypróbowali żadnej wersji beta Androida 12, mogą nie zdawać sobie sprawy z głównych zmian w interfejsie użytkownika wprowadzanych przez Google. Android 12 wprowadzi najbardziej znaczącą aktualizację interfejsu użytkownika od czasu Androida 5.0 z 2014 roku Wydanie Lollipopa, gdy Google po raz pierwszy zaprezentował Material Design, branding firmy związany z jej projektem język. Język projektowania Google ewoluował przez lata i aby odzwierciedlić nacisk, jaki w najnowszej wersji kładzie się na personalizację, Google zmienił jego nazwę na „
Materialny Ty."Jedną z kluczowych cech Material You jest wspomniany już system motywów „monet”, który automatycznie generuje paletę kolorów dla systemu na podstawie tapety użytkownika. Według Google silnik ekstrakcji kolorów wykorzystujący algorytm grupowania z docelowymi kolorami materiału określa dominujące i mniej dominujące kolory tapety użytkownika. Algorytm generowania palety tworzy następnie bogatą paletę 5 kolorów — 2 neutralnych i 3 akcentujących — a także 12 odcieni koloru materiału, które służą do określenia odcieni najbliższych użytkownikowi Tapeta. Te wartości kolorów są zapisywane w indeksie, który aplikacje mogą wywoływać za pośrednictwem interfejsu API, co umożliwia im również dostosowywanie motywu interfejsu użytkownika.
Kiedy Google po raz pierwszy zaprezentował swój system motywów „monet”. na konferencji programistów I/O na początku tego roku firma zapowiadała, że tak się stanie Pierwszy do telefonów Google Pixel jesienią. Nie było jednak jasne, czy Google po prostu zastrzegał sobie wyłączność „monet” przy pierwszym uruchomieniu, czy też funkcja ta będzie w pełni dostępna wyłącznie dla telefonów Pixel z systemem Android 12. Innymi słowy, nie mieliśmy pojęcia, czy producenci urządzeń, tacy jak Samsung, Xiaomi, OPPO czy OnePlus, będą mieli pełny dostęp do korzystania z „monet” w swoich własnych systemach operacyjnych.
O ile Google tego nie nakazuje (co zdarza się rzadko), producenci urządzeń mają zazwyczaj swobodę wyboru, czy chcą wdrożyć zmiany w interfejsie użytkownika Google. W przypadku „monet” producenci urządzeń musieliby ponownie wdrożyć części systemu, ponieważ nie wszystkie jego aspekty były dostępne na zasadach open source. Według kdrag0n, deweloper, który udostępnił na zasadach open source swój generator dynamicznej palety kolorów podobny do „monet” Google’a, ekstrakcja kolorów rdzenia i model wyglądu kolorów (CAM) oba mają już otwarte źródła, podczas gdy algorytm AOSP do przetwarzania końcowego/filtrowania wyodrębnionych kolorów jest podobno „całkiem zbliżony” do zastrzeżonego rozwiązania Google. To, co pozostało głównie do udostępnienia na zasadach open source, to algorytm generowania palet, który jest kluczową częścią procesu tworzenia motywów.
Na szczęście wygląda na to, że Google jest gotowy udostępnić kod źródłowy tego algorytmu. Dwa źródła potwierdziły, że Google niedawno wprowadził zmianę kodu zatytułowaną „dodaj monety do AOSP”. Ta poprawka była początkowo dostępna tylko w wersji Oddział wewnętrzny AOSP dla Androida 13 „Tiramisu”, ale niedawno został wybrany do wewnętrznej gałęzi Androida 12-sv2.
Android 12-sv2 będzie aktualizacją punktową, której towarzyszyć będzie podniesienie poziomu interfejsu API, dlatego wstępnie nazywając go Androidem 12.1. Wzdłuż nową tapetę, aktualizacja również przyniesie trochę drobne ulepszenia obsługi składanego telefonu łącznie z funkcją paska zadań. I oczywiście będzie to pierwsze wydanie zawierające kod źródłowy słowa „monet”.
Poniższe zrzuty ekranu zostały zrobione z urządzenia z wewnętrzną wersją AOSP Androida 12.1 i pokazują, że „monet” został zaimplementowany w wersji open source.
Nadal nie wiemy, kiedy Google planuje udostępnić publicznie Androida 12.1, więc nie wiemy, jak szybko producenci OEM uzyskają pełny dostęp do nowego systemu motywów Google. Już to widzimy Beta Androida 12 od Samsunga całkowicie pomija wdrożenie Material You i nie było wzmianki o zaktualizowanym projekcie lub motywie opartym na tapecie w ogłoszeniu OPPO ColorOS 12. Jeśli którakolwiek firma — lub jakikolwiek inny producent OEM — chce, aby jej użytkownicy mogli cieszyć się motywami opartymi na tapetach w systemie Android 12, będą musieli wdrożyć tę funkcję samodzielnie lub przenieść tę funkcję ponownie. Jest to z pewnością wykonalne, biorąc pod uwagę, jak wiele niezbędnego kodu jest już zawarte w Androidzie 12 niepubliczny jeszcze kod źródłowy, a reszta w Androidzie 12.1, ale nie jest to coś, co możemy sobie wyobrazić każdy OEM zrobi.
Dzięki deweloperowi kdrag0n za jego wkład w ten artykuł!