Przegląd nowości w drugiej poglądowej odsłonie Androida 11 przeznaczonej dla deweloperów

Tydzień temu, zgodnie z przyjętym harmonogramem, Google udostępnił drugą poglądową wersję Androida 11 przeznaczoną dla deweloperów.

Jak można było się spodziewać, nowości jest zdecydowanie mniej niż za pierwszym razem, choć trzeba przyznać, że ich lista wciąż jest dość imponująca. Zgodnie z przyjętą nomenklaturą (deweloper preview), wydanie to ponownie skupia się głównie na tym, co znajdziemy „pod maską”. Nie inaczej jest w przypadku oficjalnej notki blogowej, gdzie próżno szukać zmian dedykowanych konsumentom.

To tyle tytułem wstępu, zaczynajmy:

Udoskonalone doświadczenia dla deweloperów

Na pierwszy plan, a jakże, wysuwa się nowe API z zakresu obsługi sieci 5G. Tym razem padło na „5G state API”, umożliwiające sprawdzenie tego, czy użytkownik jest w danej chwili do niej podłączony. Deweloper, czy raczej aplikacja, uzyskawszy takową informację będzie w stanie odpowiednio się do tego dostosować – cokolwiek miałoby to oznaczać.

Idąc dalej, zaimplementowano wsparcie dla sensora odczytującego aktualny kąt rozwarcia zawiasu (mowa oczywiście o zginanych urządzeniach), czego celem jest stworzenie „adaptacyjnego doświadczenia” dla uruchomionego programu. Stosowne zapytanie może być wykonane bezpośrednio lub poprzez AndroidX API.

Ponownie pochylono się nad usługą kontrolującą połączenia, dając tego typu aplikacjom kolejne opcje, m. in. weryfikację przychodzącego połączenia (STIR/SHAKEN status) oraz raport dotyczący jego ewentualnego odrzucenia. Oprogramowanie będzie też mogło wpływać na ekran pojawiający się po zakończeniu połączenia, gdzie znajdziemy dodatkowe akcje, np. przełącznik do zgłoszenia spamu.

Nieco rozbudowano Neural Networks API, by nauka przebiegała szybciej i z większą dokładnością. Szczegóły klasycznie przemilczę, ponieważ ich nie rozumiem, a nie chcę czegoś przekręcić. Więcej poczytacie tutaj, tutaj i tutaj.

Prywatność i bezpieczeństwo konsumentów

Scoped Storage wciąż jest intensywnie rozwijane, by przejście na ten bezpieczniejszy sposób dostępu do plików był jak najmniej irytujący dla użytkowników. W związku z tym zaimplementowano obsługę migrowania danych ze starego modelu, a także poprawiono zarządzanie pamięcią podręczną.

Rozszerzono również atrybut foregroundServiceType o dwa nowe typy – „kamera” oraz „mikrofon”. Jeśli aplikacja ma mieć do nich dostęp, deweloper musi dodać wartość „foregroundServiceType” do jej manifestu.

Poprawki jakościowe dla każdego

Moim faworytem jest WindowInsetsAnimationController API, pozwalające aplikacji na przejęcie kontroli nad IME, co przekłada się na piekielnie płynną animację i intuicyjny sposób interakcji z klawiaturą ekranową. GIF’y niestety się na blogu nie wyświetlają, ale zawsze możecie zobaczyć porównanie na zewnętrznej stronie – nowy i stary sposób. Póki co wywołanie klawiatury odbywa się poprzez kliknięcie w okno wprowadzania, a jej schowanie wymusza gest / przycisk cofania. Wraz z Androidem 11 ulegnie to diametralnej zmianie (o ile deweloper skorzysta ze wspomnianego API) i w interakcję wejdziemy poprzez przewijanie czatu. Gest w górę zrobi miejsce na klawiaturę, natomiast przeciągnięcie w dół ukryje ją za krawędzią – wszystko to okraszone piękną i płynną animacją.

Kolejne udogodnienie dotyczy użytkowników posiadających smartphony wyposażone w ekrany zapewniające odświeżanie na poziomie wyższym niż 60Hz (czy to 90, czy też 120). Aktualnie jest tak, że preferowaną wartość definiujemy na sztywno w ustawieniach. W przyszłości system ma respektować wartość ustaloną przez dewelopera, przy której aplikacja funkcjonować będzie bezproblemowo. Szczegóły tutaj.

Następnie mamy opcję „resume on reboot”, odpowiadającą za przywrócenie smartphonu do stanu używalności, w szczególności po nocnych aktualizacjach. Wiadomo, wiążą się one z restartem, a to z kolei wymaga podania hasła / PIN’u urządzenia (o co może być trudno podczas snu) by wszystko zaczęło hulać jak trzeba – w tym, żeby programy zaczęły odbierać dane i pokazywać powiadomienia.

Wypada również odnotować fakt, iż emulator Androida 11 wreszcie dorobił się emulacji aparatów. Tylny wspiera Camera2 API LEVEL_3, natomiast przedni to już tylko FULL. Raczej nie muszę tłumaczyć jakie niesie to korzyści dla deweloperów.

Pomniejsze zmiany

  • Podmieniono dotychczasowy eksplorator plików na Files by Google, choć nie zrobiono tego całkowicie. Wciąż ujrzymy go w formie okna wyboru plików, do którego dodano dwie nowe opcje sortowania – „duże pliki” oraz „ten tydzień”;
  • W zarządzaniu kartą SIM pojawił się przełącznik uruchamiający potwierdzenie jej usunięcia, co prawdopodobnie tyczy się eSIM;
  • Ekran wyboru tapety również doczekał się lekkiego liftingu, aczkolwiek zmiany widoczne są gołym okiem;
  • Do „czystego” Androida wreszcie zawita funkcja wymuszająca uruchomienie aplikacji w trybie pełnego ekranu, co bywa zmorą w przypadku starszych programów uruchamianych na nowych urządzeniach;
  • Delikatnie zaktualizowano wygląd zarządzania powiadomieniami, chociaż moim zdaniem ten poprzedni był bardziej przejrzysty. Pozostając w temacie, w ustawieniach powiadomień dodano odnośnik do „zarządzania konwersacjami”, a także przełącznik ukrywający na pasku statusu wszystkie ciche powiadomienia;
  • Pojawiły się pewne przesłanki ku temu, iż tegoroczna wersja robocika mogłaby obsłużyć jednoczesne odtwarzanie dźwięku na kilku połączonych urządzeniach, prawdopodobnie nawet przewodowych;
  • Jeśli korzystacie z ułatwień dostępu zapewne ucieszy was fakt, iż przybornik ze skrótami uruchomimy teraz wprost na ekranie blokady;
  • Właścicieli smartphonów Pixel 4 (i zapewne nowszych) uraduje funkcja wymuszająca posiadanie otwartych oczu w trakcie próby odblokowania urządzenia, co wykluczy „zabawy” żartownisiów w trakcie naszego snu;
  • Zaktualizowano mechanizm nagrywania ekranu wprowadzony w DP1, całkowicie przebudowując jego interfejs;
  • Często używacie ADB, więc konieczność ciągłego poszukiwania kabla przyprawia Was o ból głowy? Możecie już o tym zapomnieć, ponieważ Android 11 zyskał obsługę bezprzewodowego debugowania;
  • Dodano typ IPSec dla połączeń VPN;
  • To już pewne, że nagrywanie połączeń powróci i co ciekawe, skorzystają z niego również zewnętrzne aplikacje – choć tylko jedna na raz, a konkretnie ta zdefiniowana jako domyślna;
  • Co mnie bardzo cieszy, wreszcie pojawi się możliwość zmiany rozmiaru okienka PiP – wskazuje na to klasa „PipResizeGestureHandler” odnaleziona w SystemUI;
  • Jeśli kojarzycie pierwszą deweloperską wersję, to zapewne wiecie już, że zaimplementowano w niej natywne wsparcie dla ekranów z wcięciem typu „waterfall” oraz „punch hole”. W drugiej odsłonie stosowne ustawienia pojawiły się w opcjach deweloperskich;
  • Skoro już o nich mowa, znajdziemy tam 3 nowe rzeczy – tajemnicze „Enhanced Connectivity”, niegdyś usunięte „ANGLE Preferences” oraz „HD Audio” (włączenie wymusza kodek AAC, wyłączenie przywraca SBC);
  • Do gestów ochrzczonych „Columbus”, które odkryto w DP1, dodano dwa kolejne – uruchamiający zrzut ekranu oraz otwierający ekran ostatnich aplikacji;
  • No i na koniec wspomnę już tylko o wykonaniu kolejnych szlifów funkcji „Quick Controls” – po prostu zobaczcie poniższe wideo.