Компания Google представи втора тестова версия на отворената мобилна платформа Android 15. Релизът на Android 15 се очаква през третото тримесечие на 2024 година. За оценка на новите възможности на платформата е предложена програма за предварително тестиране. Сглобките на фърмуера са подготвени за устройства Pixel 6/6a/6 Pro, Pixel 7/7a/7 Pro, Pixel 8/8a/8 Pro, Pixel Fold и Pixel Tablet.
Промените в Android 15 Developer Preview 2 в сравнение с първата предварителна версия:
- За приложенията е предоставена възможност за използване на малки помощни екрани (Cover screen), които са инсталирани на някои сгъваеми смартфони, като Samsung Galaxy Z Flip. Например, помощният екран позволява бързо приемане на повикване, отговаряне на съобщения, управление на камерата и извършване на други действия без разгръщане на устройството.

- Виджетът TextView по подразбиране включва атрибута elegantTextHeight, при който вместо компактен шрифт ще се използват шрифтове с по-големи вертикални отстояния, подобряващи четимостта на текста.


- Разширени са възможностите за работа чрез спътникови канали за свързване. Добавени са нови интерфейсни елементи за унифициране на използването на спътникова комуникация. На приложенията е предоставена възможност за определяне на използването на спътников канал чрез метода ServiceState.isUsingNonTerrestrialNetwork(). В интерфейса за работа с SMS/MMS е реализирана поддръжка за изпращане и получаване на съобщения чрез спътникови канали.

- Извършена е работа по опростяване на използването на телефон с поддръжка на NFC за плащане на стоки с едно докосване (tap to pay). На приложенията е предоставена възможност за превключване на NFC адаптера в режим на наблюдение, при който устройството приема запитвания по NFC и изпраща за обработка на зададен процес, но не отговаря и не предава данни на NFC ридери.
- Значително са разширени възможностите за рендиране на PDF документи (API PdfRenderer). Например, предоставени са средства за рендиране на защитени с парола файлове, показване на анотации, редактиране на формуляри, търсене в документа и маркиране на области за копиране чрез буфер за обмен. Добавени са оптимизации, намаляващи потреблението на ресурси и ускоряващи прегледа на локални PDF файлове. Реализацията на API PdfRenderer е изнесена в отделен модул, който се актуализира чрез Google Play и не е свързан с основната платформа.

- Подобрени възможности за автоматично разпознаване на езика и превключване на езици. Приложенията разполагат с разширени опции за фина настройка на превключването на езици по време на разпознаването на реч. Например, режимът EXTRA_LANGUAGE_SWITCH_INITIAL_ACTIVE_DURATION_TIME_MILLIS позволява превключване само в началото на звуковата сесия, а режимът EXTRA_LANGUAGE_SWITCH_MATCH_SWITCHES отменя превключването на езика след определен брой превключвания, което може да бъде търсено в ситуации, когато предварително е известно, че в една сесия ще бъде използван само един език.
- Осигурени са средства за гъвкаво управление на разрива на редовете. В уиджета TextView за подобряване на четимостта чрез таговете и може да се управлява преносът на групи думи или части от думи на друг ред. Например в реда „Силата и ума зад Pixel 8 Pro.“ фразата „Pixel 8 Pro“ винаги ще се показва на един ред.


- Разширени са възможностите за филтриране на intent-запитвания. С помощта на класа UriRelativeFilterGroup могат да се задават правила за блокиране или пропускане на запитвания на базата на съдържанието на параметрите на URL и фрагментите на URL. Правилата за филтриране също могат да се задават чрез новия таг в манифеста на приложението.
- Разширена е поддръжката на API OpenJDK. Например, добавена е поддръжка на допълнителни методи на класовете Math и StrictMath, подредени колекции и списъци, използването на ByteBuffer в Deflater и обновяване на ключовете.
- Добавен е API, който позволява на приложенията да определят извършването на запис на екрана. Приложението може да зададе callback-обработчик, който ще бъде извикан, в случай че записът на екрана е включен и прозорецът на приложението попада в видимата област. Предложената възможност позволява да се показват предупреждения на потребителя за запис в случай на показване на конфиденциални данни.
- Добавен е API ApplicationStartInfo, чрез който може да се получи информация за състоянието при стартиране на програмата. Например, може да се разбере дали компонентите на приложението са кеширани (състояния cold, warm или hot), колко дълго са се изпълнявали различните етапи на стартиране, каква е причината за стартиране, както и да се определят метрики, полезни за оптимизация на скоростта на стартиране.
- Променено е обработването на спряно състояние, при което изпълнението на приложението се спира до действието на потребителя, свързано с приложението. В новата версия са предоставени възможности за определяне на спирането от приложението: обработка на съобщение BOOT_COMPLETED или използване на метода ApplicationStartInfo.wasForceStopped().
- В допълнение към метода StorageStats.getAppBytes(), който позволява получаване на общи данни за размера на инсталираното приложение, е добавен методът StorageStats.getAppBytesByDataType(), който предоставя възможност за получаване на отделни сведения за размера на пакета APK, компилирания код, извлечените и генерираните данни.
- Направени са промени в API-то за стартиране на приоритетни услуги (Foreground Service). Добавен е нов тип приоритетни услуги — mediaProcessing, който може да се използва за ресурсоемки операции с мултимедийно съдържание, например, декодиране от един формат в друг.
- Предложено е ново API за работа с хранилището, основано на СУБД SQLite, което предоставя достъп до разширени функционалности на SQLite.
- Предоставена е възможност за управление на запасите на яркостта за HDR (отношението на най-яркия бял цвят на HDR изображението спрямо яркостта на белия цвят в изображение с стандартен динамичен диапазон). За задаване на запаса на яркост е добавен методът setDesiredHdrHeadroom, с помощта на който може да се балансира яркостта при показване на съдържание в SDR и HDR.

- Добавена е поддръжка на стандарта CTA-2075, който определя възможностите за нормализиране на звука, позволяващи избягване на промяна на нивото на звука за различно съдържание. Уговорката на звука се постига чрез определяне на метаданни за характеристиките на колонките и силата на звука на AAC съдържанието. За нормализиране на звука е предложен обектът LoudnessCodecController и методът OnLoudnessCodecUpdateListener, коригиращ параметрите на звука преди обръщението към кодека.
- В AndroidX media3 ExoPlayer 1.0 е включена по подразбиране поддръжка на пространствения звук за многоканален звук, ако пространственият звук се поддържа на устройството. Класът Virtualizer е обявен за остарял, вместо него за определяне на поведението и възможностите на пространствения звук следва да се използва класът Spatializer.
- Добавен е класът AutomaticZenRules, който позволява на приложенията да конфигурират правила за режима „Не безпокойте“ и да определят ситуации, в които тези правила трябва да се прилагат.

Източник: opennet.ru








