Nowości w drugiej poglądowej odsłonie Androida 13 skierowanej do deweloperów
20.03.2022 | aktual.: 21.03.2022 07:27
Minął miesiąc od czasu pierwszego poglądowego wydania Androida 13, a skoro nastał marzec to i przyszła druga wersja skierowana do deweloperów (i ostatnia, kolejna będzie konsumencką betą), w której Google kontynuuje swoją wizję odnośnie nadchodzącego robocika. Tym razem skupiono się, przynajmniej w oficjalnym wpisie blogowym, na prywatności oraz zaufaniu użytkownika, a także produktywności programistów.
Przy okazji pochwalono się udostępnieniem w AOSP odsłony 12L, kładącej mocny nacisk na tablety, składaki i generalnie urządzenia z większym ekranem (prawdopodobnie stąd „L”, od angielskiego „large”). Zaznaczono, że jeszcze w tym roku trafi on na sprzęty Samsunga, Lenovo i Microsoftu, więc twórcy oprogramowania powinni już teraz pomyśleć nad dostosowaniem swoich produktów. Pomóc w tym mają artykuły przygotowane przez Google, gdzie zawarto stosowne wytyczne i odnośniki do dalszych materiałów - #1 i #2.
Polecam też zerknąć do tego artykułu, w którego opracowanie włożono naprawdę sporo pracy. Cały czas jest on rozbudowywany – wraz z odkrywaniem ukrytych smaczków lub wydawaniem kolejnych uaktualnień.
Nowości oficjalnie zaprezentowane
Prywatność i zaufanie użytkowników
Znacie to uczucie, kiedy spoglądacie na smartphone i nachodzi Was refleksja, że potrzebujcie godnych zaufania aplikacji, w których Wasze wrażliwe dane będą całkowicie bezpieczne? Właśnie dlatego prywatność została rdzeniem budującym Androida 13 (meh) i wciąż nacisk kładziony jest na zbudowanie odpowiedzialnej, a jednocześnie wysokiej jakościowo platformy dostarczającej bezpieczne środowisko.
Znacie to uczucie, kiedy spoglądacie na smartphone i nachodzi Was refleksja, że potrzebujcie godnych zaufania aplikacji, w których Wasze wrażliwe dane będą całkowicie bezpieczne? Właśnie dlatego prywatność została rdzeniem budującym Androida 13 (meh) i wciąż nacisk kładziony jest na zbudowanie odpowiedzialnej, a jednocześnie wysokiej jakościowo platformy dostarczającej bezpieczne środowisko.
Właśnie przez wzgląd na tę wzniosłą gadkę powstało uprawnienie do wysyłania powiadomień – POST_NOTIFICATIONS. Pewny mankamentem stanowi fakt, że oprogramowanie musi celować w A13 aby wymagano od niej takowego zezwolenia. W przypadku A12 i wcześniejszych to system zajmie się kontrolą „strumienia aktualizacji”.
Do tego dochodzi opcja obniżania uprawnień (ang. downgradable permissions), czyli API umożliwiające odebranie wcześniej nadanego zezwolenia gdy aplikacja przestanie już go wymagać do działania (np. zmniejszenie zakresu pracy).
Na koniec pozostaje coś czego kompletnie nie pojmuję, przez co nie potrafię poprawnie przetłumaczyć – także daję oryginał:
Safer exporting of context-registered receivers - In Android 12 we required developers to declare the exportability of manifest-declared Intent receivers. In Android 13 we’re asking you to do the same for context-registered receivers as well, by adding either the RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED flag when registering receivers for non‑system sources. This will help ensure that receivers aren’t available for other applications to send broadcasts to unless desired. While not required in Android 13, we recommend declaring exportability as a step toward securing your app.
Produktywność deweloperów
Moduł TextView potrafi teraz zawijać japoński tekst w oparciu o Bunsetsu (najmniejsza jednostka słów, która brzmi naturalnie) lub frazy, a nie znaki. By skorzystać z nowości należy posłużyć się android:lineBreakWordStyle="phrase".
Idąc dalej, ulepszono wysokości linii dla skryptów innych niż łacińskie poprzez zaadaptowanie jej do specyfiki każdego z nich – jako przykład podano Tamilski, Birmański, Telugu i Tybetański. Co najlepsze, deweloper nie musi wkładać w to żadnej dodatkowej pracy, wystarczy zrobić użytek z najnowszego SDK.
Zaimplementowano API Konwersji Tekstu dla języków używających fonetycznego wprowadzania liter, które było powodem wolnego działania wyszukiwania czy autokorekty. Jak tłumaczy Google, dotychczas droga wpisywanego tekstu wyglądała następująco (na przykładzie japońskiego):
- Wpisanie znaków Hiragana, czyli fonetycznej wymowy;
- Przekonwertowanie tego za pomocą klawiatury do Kanji;
- Ponowne wyszukanie za pomocą znaków uzyskanych w punkcie #2;
- Otrzymanie wyników.
Nowe rozwiązanie pozwala ominąć krok 2 i 3, automatycznie zwracając znaki Kanji pomimo wprowadzania Hiragany.
Pochylono się nad „kolorowymi fontami wektorowymi”, których obsługę (specyfikacja, wideo) wnosi A13, przy okazji aktualizując również systemowe Emoji do formatu COLRv1. Jego zaletami są kompaktowość pliku wynikowego, szybkość renderowania i ostrość niezależnie od wielkości. Jak zaznaczono, w większości przypadków zadziała to bez żadnej dodatkowej ingerencji programisty, system zajmie się wszystkim. Nieco więcej przeczytacie tutaj.
Dodano natywne wsparcie dla Bluetooth LE Audio oraz MIDI 2.0 – nie są to produkty stricte Google, więc nie będę się nad nimi rozwodził. W razie czego skorzystajcie z powyższych linków – generalnie jest szybciej, wyraźniej i generalnie lepiej.
Nowości odnalezione przez fanów
Na wstępie zaznaczę, że informacje oraz zdjęcia znalazłem , tu i tu.
- Przejście pomiędzy widżetem „W skrócie” (ang. At Glance) zadokowanym na ekranie blokady a tym pulpitowym zyskało bardzo przyjemną animację – wizualizacja tutaj;
- Pasek zadań otrzyma szufladę na aplikacje – myślę, że w tym przypadku śmiało można ją nazwać menu start;
- Dłużej przytrzymując dymek powiadomienia i przeciągając go na już otwartą aplikację uruchomimy jego źródło w trybie podzielonego ekranu – aktualnie działa to pokracznie, ale jednak. Poniżej wrzucam wideo prezentujące ten mechanizm w akcji – w A12L również jest dostępny, choć ukryty za flagami;
- Robocik doczeka się opcji definiowania jasności latarki (API getTorchStrengthLevel i turnOnTorchWithStrengthLevel), co od dawna znane jest posiadaczom produktów Apple oraz Samsunga. Należy jednak nadmienić, że wymaga to aktualizacji HAL kamery do wersji 3.8, lecz póki co nie wiadomo czy będzie to obligatoryjne dla urządzeń pracujących pod kontrolą A13;
- Odnośniki do Ustawień i Menu Zasilania przeniesiono w prawy dolny róg centrum akcji, w zamian za centralne umiejscowienie zaraz pod szybkimi skrótami;
- Tryb dziecka, nad którym wciąż trwają prace, podmieni klasyczny 3-przyciskowy pasek nawigacyjny na 2-przyciskowy, gdzie trójkąt („wstecz”) zmieniono w strzałkę w lewo, a okrąg („home”) w ikonę symbolizującą dom. Ostatni raz takie odwzorowanie było wykorzystywane w Androidzie 5.0 Lollipop. No i najważniejsze – póki co nie jest on dostępny z poziomu ustawień + zdaje się wymagać „większego” wyświetlacza (tabletu), co może sugerować dedykowane konto użytkownika;
- Mechanizm „Nie przeszkadzać” przemianowano na „Tryb priorytetów”, poza tym nie uświadczymy żadnych większych różnic;
- W szybkich skrótach ujrzymy „Bezpieczeństwo i prywatność” – skrywa on włącznik / wyłącznik modułu kamery, mikrofonu oraz lokalizacji, a także odnośnik do panelu zarządzania bezpieczeństwem;
- Wraz z A12L nagrywanie ekranu utraciło możliwość pokazywania dotknięć, ponieważ Google wykryło błąd z rysowaniem kursora. Na szczęście w A13 DP2 uporano się z tym i ponownie aktywowano ten mechanizm;
- Nie jest to nic nadzwyczajnego, ale konfigurator nowego profilu użytkownika pozwala wybrać jedną z kilku kolorowych „generycznych ikon”, zamiast wyłącznie własną grafikę. Poza tym, na tabletach wyświetla się w formie pełnoekranowej, a na pasku statusu zadokowano skrót do jego wywołania;
- Ustawienia wibracji zyskały suwaki do zdefiniowania jej intensywności dla budzika oraz multimediów – dotychczas wspierano powiadomienia, dzwonek i dotyk. Do tego rozwijane menu ”wibracje dla połączeń” zamieniono na suwak ”najpierw wibruj, potem dzwoń stopniowo”;
- Panele konfiguracji wielkości ekranu oraz tekstu połączono w jeden, gdzie przeniesiono również pogrubienie czcionki i wysoki kontrast, które dotychczas były w Ułatwieniach Dostępu;
- Zaimplementowano API (isAuthRequired) umożliwiające interakcję z inteligentnymi urządzeniami bez odblokowywania urządzenia. Oczywiście nie jest to globalne dla całego oprogramowania, a dodatkowo zależy całkowicie od woli deweloperów, niemniej jest to spory przełom;
- Tryb desktopowy otrzymał dwa usprawnienia, tj. wszystkie programy uruchamiane są teraz domyślnie w trybie okienkowym, a pasek zadań ma skrót do ustawień oraz centrum powiadomień;
- Google pracuje ponoć nad „kinowymi tapetami” z efektem 3D, na co wskazuje odnalezione API. Póki co nie mamy podglądu na finałowy efekt, więc musicie zadowolić się specjalistycznym opisem z podlinkowanego wpisu i na jego podstawie wyobrazić sobie resztę;
- A13 ma jeszcze bardziej dbać o czas pracy na jednym ładowaniu, stale monitorując uruchomione aplikacje (co jakby kłóci się z ideą oszczędzania energii) i informując w przypadku zbyt długiego działania w tle – mowa o 20 godzinach nieprzerwanej pracy w okienku 24-godzinnym. Co ważne, wspomniane powiadomienie wyświetlane będzie niezależnie od wersji SDK wykorzystywanego przez program;
- Nieco zmieniono sposób prezentacji cichych notyfikacji na ekranie blokady. Do tej pory, niezależnie od ich liczby, pasek na nie przeznaczony rozciągał się prawie na całej szerokości wyświetlacza, gdzie obecnie dostosowuje się do ich ilości;
- Ciemny motyw zyskał kolejny wybór w automatycznym uruchamianiu – w godzinach Trybu Nocnego konfigurowanego w Cyfrowej Równowadze;
- Jeszcze nie jest to oficjalnie dostępne, niemniej trwają prace nad pływającym okienkiem dla schowka, bardzo podobnym do tego pojawiającego się po wykonaniu zrzutu ekranu. Tak więc po skopiowaniu treści, w lewym dolnym rogu ujrzymy jej podgląd z odnośnikiem do edycji lub uruchomienia w obsługiwanej aplikacji (np. linku w przeglądarce czy zdjęcia w galerii);
- Testowane jest przeniesienie wyszukiwarki (szuflada aplikacji) z górnej krawędzi na dolną, co ułatwi sięgnięcie do niej palcami.
Odkryto w DP1, oficjalnie aktywowano w DP2
- Pięć nowych dynamicznych stylów kolorów – TONAL_SPOT, VIBRANT, EXPRESSIVE i SPRITZ;
- Wdrożono uaktualniony odtwarzacz multimediów oraz selektor wyjścia. Ten pierwszy jest nieco większy, a przy tym zawiera przycisk odtwarzania losowego, powtarzania oraz pasek postępu. Natomiast drugi element wyświetla się w formie centralnie umieszczonego pływającego okna zamiast karty wysuwanej zza dolnej krawędzi i umożliwia szybkie sparowanie nowego urządzenia do odtwarzania dźwięku;
- W kategorii „Języki i metody wprowadzania” znajdziemy ustawienia języka „per-aplikacja”;
- Raczej nie jest to jego ostateczny kształt, niemniej ukazano światu uaktualniony panel wygaszacza ekranu. Niestety nie znajdziemy w nim niczego nowego, gdyż póki co jedynie mocno zreorganizowano dotychczas dostępne opcje – jest przejrzyściej i lepiej, ale to wszystko już znamy.
Ciekawostka niezwiązana bezpośrednio z Androidem
Jeśli jakkolwiek śledzicie rozwój zielonego robocika to zapewne wiecie, że każda kolejna wersja, do A10 włącznie, posiadała w Mountain View własną figurkę. Z jakiegoś powodu tradycję tę przerwano przy A11 i nie wrócono do niej z A12, a wraz z rozwojem A13 wszystkie poprzednie również zniknęły. Zero komentarza, zero wyjaśnienia – tylko domysły obserwatorów i fanów.