La empresa Google ha presentado la segunda versión de prueba de la plataforma móvil abierta Android 15. Se espera que el lanzamiento de Android 15 ocurra en el tercer trimestre de 2024. Para evaluar las nuevas capacidades de la plataforma, se ha propuesto un programa de prueba anticipada. Se han preparado compilaciones del firmware para los dispositivos Pixel 6/6a/6 Pro, Pixel 7/7a/7 Pro, Pixel 8/8a/8 Pro, Pixel Fold y Pixel Tablet.
Cambios en Android 15 Developer Preview 2 en comparación con la primera versión preliminar:
- Se ha otorgado a las aplicaciones la posibilidad de utilizar pequeñas pantallas auxiliares (Cover screen), que están presentes en algunos teléfonos inteligentes plegables, como el Samsung Galaxy Z Flip. Por ejemplo, la pantalla auxiliar permite aceptar rápidamente una llamada, responder un mensaje, controlar la cámara y realizar otras acciones sin abrir el dispositivo.

- En el widget TextView, se ha activado por defecto el atributo elegantTextHeight, que utiliza fuentes con mayores espacios verticales en lugar de fuentes compactas, mejorando así la legibilidad del texto.


- Se han ampliado las capacidades de trabajo a través de canales de comunicación por satélite. Se han añadido nuevos elementos de interfaz para unificar el uso de la comunicación satelital. Las aplicaciones ahora pueden determinar el uso de un canal satelital a través del método ServiceState.isUsingNonTerrestrialNetwork(). La interfaz para trabajar con SMS/MMS ha implementado el soporte para el envío y recepción de mensajes a través de canales satelitales.

- Se ha trabajado en simplificar el uso del teléfono con soporte NFC para realizar pagos con un solo toque (tap to pay). Las aplicaciones ahora pueden poner el adaptador NFC en modo de observación, en el cual el dispositivo acepta solicitudes NFC y envía las mismas para procesamiento a un proceso designado, pero no responde ni transmite datos a los lectores NFC.
- Se han ampliado significativamente las capacidades para renderizar documentos PDF (API PdfRenderer). Por ejemplo, se han proporcionado herramientas para renderizar archivos protegidos por contraseña, mostrar anotaciones, editar formularios, buscar dentro del documento y resaltar áreas para copiar a través del portapapeles. Se han añadido optimizaciones que reducen el consumo de recursos y aceleran la visualización de archivos PDF locales. La implementación de API PdfRenderer se ha trasladado a un módulo separado, que se actualiza a través de Google Play y no está vinculado a la plataforma principal.

- Se han mejorado las capacidades para el reconocimiento automático de idiomas y el cambio de idiomas. Las aplicaciones ahora cuentan con opciones ampliadas para afinar el cambio de idiomas durante el reconocimiento de voz. Por ejemplo, el modo EXTRA_LANGUAGE_SWITCH_INITIAL_ACTIVE_DURATION_TIME_MILLIS permite el cambio solo al principio de la sesión de audio, mientras que el modo EXTRA_LANGUAGE_SWITCH_MATCH_SWITCHES anula el cambio de idioma después de un cierto número de conmutaciones, lo que puede ser útil en situaciones donde se sabe de antemano que solo se utilizará un idioma en una sesión.
- Se han proporcionado herramientas para la gestión flexible de saltos de línea. En el widget TextView, para mejorar la legibilidad, se pueden gestionar mediante las etiquetas y los saltos de grupos de palabras o partes de palabras a otra línea. Por ejemplo, en la línea "El poder y la inteligencia detrás de Pixel 8 Pro.</", la frase "Pixel 8 Pro" siempre se mostrará en una sola línea.


- Se han ampliado las capacidades de filtrado de las solicitudes de intent. Con la clase UriRelativeFilterGroup se pueden establecer reglas para bloquear o permitir solicitudes basadas en el contenido de los parámetros de URL y fragmentos de URL. Las reglas de filtrado también se pueden definir a través de la nueva etiqueta en el manifiesto de la aplicación.
- Se ha ampliado el soporte para el API de OpenJDK. Por ejemplo, se ha añadido soporte para métodos adicionales en las clases Math y StrictMath, colecciones y listas ordenadas, el uso de ByteBuffer en Deflater y la actualización de claves.
- Se ha añadido un API que permite a las aplicaciones determinar la ejecución de la grabación de pantalla. La aplicación puede establecer un manejador de callback que se invocará si la grabación de pantalla está activada y la ventana de la aplicación está en el área visible. Esta nueva funcionalidad permite mostrar advertencias al usuario sobre la grabación en caso de que se muestren datos confidenciales.
- Se ha añadido el API ApplicationStartInfo, a través del cual se puede obtener información sobre el estado al iniciar el programa. Por ejemplo, se puede saber si los componentes de la aplicación están en caché (estados cold, warm o hot), cuánto tiempo tomó cada etapa del inicio, qué provocó el inicio, así como determinar métricas útiles para optimizar la velocidad de inicio.
- Se ha modificado el manejo del estado detenido, en el que la ejecución de la aplicación se pausa hasta que el usuario realiza una acción relacionada con la aplicación. La nueva versión proporciona opciones para que la aplicación determine cuándo se ha detenido la pausa: manejo del mensaje BOOT_COMPLETED o uso del método ApplicationStartInfo.wasForceStopped().
- Además del método StorageStats.getAppBytes(), que permite obtener datos generales sobre el tamaño de la aplicación instalada, se ha añadido el método StorageStats.getAppBytesByDataType(), que facilita obtener información separada sobre el tamaño del paquete APK, el código compilado, los datos extraídos y generados.
- Se han realizado cambios en la API para iniciar servicios de primer plano (Foreground Service). Se ha añadido un nuevo tipo de servicio de primer plano: mediaProcessing, que se puede utilizar para operaciones intensivas en recursos con contenido multimedia, como la transcodificación de un formato a otro.
- Se ha propuesto una nueva API para trabajar con motores de almacenamiento basados en bases de datos SQLite, que proporciona acceso a funciones avanzadas de SQLite.
- Se ha habilitado la gestión del margen de brillo para HDR (la relación entre el blanco más brillante en una imagen HDR y el brillo del blanco en una imagen de rango dinámico estándar). Para establecer el margen de brillo, se ha añadido el método setDesiredHdrHeadroom, que permite equilibrar el brillo al mostrar contenido en SDR y HDR.

- Se ha añadido soporte para el estándar CTA-2075, que define capacidades para la normalización del volumen, permitiendo evitar cambios en el nivel de volumen para diferentes contenidos. La coincidencia del volumen se logra a través de la definición de metadatos sobre las características de los altavoces y el volumen del contenido de audio AAC. Se ha propuesto el objeto LoudnessCodecController y el método OnLoudnessCodecUpdateListener, que ajusta los parámetros de volumen antes de acceder al códec.
- En AndroidX media3 ExoPlayer 1.0 se ha activado por defecto el uso de sonido espacial para audio multicanal, siempre que el sonido espacial sea compatible con el dispositivo. Se ha declarado obsoleto la clase Virtualizer, la cual debe ser reemplazada por la clase Spatializer para definir el comportamiento y capacidades del sonido espacial.
- Se añadió la clase AutomaticZenRules, que permite a las aplicaciones configurar reglas para activar el modo 'no molestar' y determinar las situaciones en las que estas reglas deben aplicarse.

Fuente: opennet.ru








