<CarlosDev/>

Actual

Android 13: permisos de notificaciones y medios

API 33, agosto de 2022. Notificar pasó a requerir permiso, READ_EXTERNAL_STORAGE se dividió en tres permisos de medios y llegó un selector de fotos que no pide permisos.

Publicado
Lectura
19 min
Redacción
Estable
Serie
Parte 15 de 19 · Android, versión por versión
Banner de Android 13 Tiramisu, con el logo de la versión.
En este registro13 secciones

Android 13 es la versión en la que una app tuvo que pedir permiso antes de enviar una notificación. También dividió el permiso de almacenamiento en imágenes, video y audio, y trajo un selector de fotos que no necesita permisos. Para quien desarrolla, el resto fue una lista corta: idioma por app, íconos temáticos y una entrega de intents más estricta.

De un vistazo

VersiónAndroid 13
Nivel de API33
NombreTiramisu, interno, pero visible en la constante del SDK
Build.VERSION_CODESTIRAMISU
LanzamientoCódigo en AOSP y despliegue en Pixel desde el 15 de agosto de 2022
Dispositivos de lanzamientoPixel 7 y Pixel 7 Pro, anunciados el 6 de octubre de 2022
Plazo de target API en Google PlayApps nuevas y actualizaciones desde el 31 de agosto de 2023 (prórroga al 1 nov)

Google publicó Android 13 en AOSP y empezó el despliegue en Pixel el 15 de agosto de 2022. Su anuncio nombró a Samsung, Asus, HMD, Motorola, OnePlus, OPPO, Sony, Xiaomi y otros para más adelante ese año. Los primeros teléfonos de Google vendidos con esta versión fueron el Pixel 7 y el Pixel 7 Pro, anunciados el 6 de octubre y en tiendas de Estados Unidos desde el 13 de octubre.

El nombre público es solo Android 13. Tiramisu es el nombre interno de postre, y desde esta versión ya no está oculto: la constante es TIRAMISU, no una letra, y el SDK Manager de Android Studio muestra la plataforma como “Android 13.0 (“Tiramisu”)”. Los build IDs empiezan con T (TP1A).

Google anunció Android 13 con la Developer Preview 1 el 10 de febrero de 2022. La Beta 1 llegó el 26 de abril y la Beta 3 alcanzó la estabilidad de plataforma el 8 de junio, con el SDK de API 33 y el comportamiento hacia las apps congelados. Las dos developer previews y las cuatro betas son las partes que siguen a esta presentación.

La pantalla de inicio de un teléfono con un fondo oscuro y una onda azul pálido arriba, la fecha arriba a la izquierda, cinco íconos redondos de apps en el dock y una barra de búsqueda de Google debajo
La pantalla de inicio de Android 13, capturada en el Android Emulator. Wikimedia Commons · Apache 2.0

Qué trajo

  • Idioma por app. El usuario elige un idioma para cada app en “App languages”, mientras el sistema sigue en otro. Una app declara android:localeConfig para aparecer ahí y puede fijar el idioma con LocaleManager.setApplicationLocales(). AppCompat 1.6 lleva la API a versiones anteriores.
  • Íconos temáticos. Una app que agrega una capa monocromática a su ícono adaptativo se tiñe con los colores del fondo de pantalla, si el usuario activa “Themed icons” y el launcher lo soporta. Ars Technica señaló que la función seguía en beta en el lanzamiento.
  • Vista previa del portapapeles. Al copiar aparece una confirmación pequeña con una vista previa del contenido, como la miniatura de una captura; al tocarla se abre un editor.
  • Foreground Services Task Manager. La parte inferior de Quick Settings muestra cuántas apps tienen un servicio en primer plano, con un botón “Stop” para cada una.
  • API de ubicación en Quick Settings. Una app puede pedirle al usuario, en un solo diálogo del sistema, que agregue su tile.
  • Controles multimedia. Para apps con target 33, el sistema arma los botones del reproductor a partir de las acciones de PlaybackState, no de la lista de acciones de la notificación.
  • Audio. Bluetooth LE Audio integrado en dispositivos compatibles, MIDI 2.0 por USB, audio espacial con seguimiento de cabeza y APIs de AudioManager que le dicen a una app por dónde va a salir su audio.
  • Gráficos y texto. RuntimeShader con AGSL, emoji vectoriales COLRv1, separación silábica hasta 200% más rápida, mejor altura de línea para escrituras no latinas y cortes de línea por frase en japonés.
  • Runtime. Llamadas JNI hasta 2,5 veces más rápidas, procesamiento de referencias casi sin bloqueos y un primer grupo de APIs de OpenJDK 11 (String.strip(), Optional.isEmpty() y más), que también llegaron a Android 12 por el módulo de ART. Un recolector de basura basado en userfaultfd del kernel no venía en la versión: Google dijo que llegaría a los dispositivos con Android 13 en una actualización posterior del sistema de Google Play.
  • Wi-Fi 7. ScanResult.WIFI_STANDARD_11BE, nuevo en API 33, permite que una app distinga los puntos de acceso 802.11be en los resultados de escaneo. Que un teléfono se conecte por Wi-Fi 7 depende de su hardware.
  • Predictive back. Nuevas APIs permiten que una app avise de antemano que maneja el gesto atrás, para que el sistema muestre el destino. En Android 13 la animación solo está detrás de una opción de desarrollador.
  • Tablets. Parte de Android 12L: una barra de tareas con cajón de apps y multiventana activada para todas las apps en pantallas grandes.

Seguridad y privacidad

  • Selector de fotos. Una pantalla del sistema donde el usuario elige fotos o videos concretos, y solo esos llegan a la app. La app no declara ningún permiso. El mismo selector llegó a Android 11 y 12 con una actualización del sistema de Google Play.
  • Borrado automático del portapapeles. El portapapeles se vacía un tiempo después de la última copia. En AOSP el valor por defecto es 3600000 ms, una hora, y el dispositivo puede cambiarlo con DeviceConfig. Las apps que copian contraseñas deben marcar ClipDescription.EXTRA_IS_SENSITIVE para que la vista previa oculte el contenido.
  • Restricted settings. A una app instalada desde un archivo local o descargado no se le puede dar acceso de accesibilidad ni de notification listener hasta que el usuario abre su página de información y elige “Allow restricted settings”. AOSP lo aplica a instalaciones con origen PACKAGE_SOURCE_LOCAL_FILE o PACKAGE_SOURCE_DOWNLOADED_FILE, así que las instalaciones hechas por una tienda de apps no quedan marcadas.
  • Coincidencia de intents. Un componente exportado de una app con target 33 solo recibe intents de otras apps que coinciden con uno de sus <intent-filter>. Más abajo está qué cambiar.
  • Receivers exportados. registerReceiver() acepta RECEIVER_EXPORTED o RECEIVER_NOT_EXPORTED, así que un receiver registrado en tiempo de ejecución ya no tiene que quedar abierto a todas las apps.
  • Plataforma. El acceso a los logs del dispositivo necesita la aprobación del usuario en cada pedido. El Android Virtualization Framework (pKVM) llega como función opcional para cargas aisladas. APK Signature Scheme v3.1 permite que la rotación de claves apunte solo a Android 13 y posteriores. Keystore y KeyMint informan los errores con excepciones tipadas que dicen si conviene reintentar. Bluetooth y Ultra-wideband pasaron a ser módulos Mainline, así que Google puede actualizarlos con actualizaciones del sistema de Google Play.

Permisos

Permisos nuevos en tiempo de ejecución en Android 13:

PermisoReemplaza o amplíaLo concede
POST_NOTIFICATIONSLas notificaciones estaban activadas por defectoDiálogo en tiempo de ejecución
READ_MEDIA_IMAGES, READ_MEDIA_VIDEO, READ_MEDIA_AUDIOREAD_EXTERNAL_STORAGE para medios de otras appsDiálogo en tiempo de ejecución
NEARBY_WIFI_DEVICESACCESS_FINE_LOCATION para escanear y conectar Wi-FiDiálogo (grupo NEARBY_DEVICES)
BODY_SENSORS_BACKGROUNDLleva BODY_SENSORS al segundo planoHard-restricted; lista permitida del instalador

El permiso de notificaciones alcanza a todas las apps, pero de forma distinta según el target:

sí, con notificaciones activas no, instalación nueva 33 o más 32 o menos Don't allow App en un dispositivo con Android 13 ¿Instalada antes de actualizar? Concedido de antemano, sin diálogo targetSdkVersion La app pide POST_NOTIFICATIONS cuando decide El sistema pregunta al crear el primer canal de notificación Sin diálogo nuevo hasta reinstalar o subir a target 33

Las sesiones multimedia y las apps que gestionan sus propias llamadas (Notification.CallStyle) están exentas. Un servicio en primer plano puede arrancar sin el permiso, pero su notificación solo aparece en el Task Manager.

Un diálogo del sistema que dice Allow My App to access music and other audio files on this device, con los botones Allow y Don't allow
El diálogo de READ_MEDIA_AUDIO en Android 13. Android Developers · CC BY 2.5

Imágenes y video comparten un solo diálogo si se piden juntos. Una app que ya tenía READ_EXTERNAL_STORAGE recibe los nuevos permisos de medios automáticamente cuando sube su target.

Dos cambios más:

  • Alarmas exactas. USE_EXACT_ALARM se concede al instalar y no se puede revocar, pero está pensado solo para despertadores, temporizadores y calendarios, y una política de Google Play lo limita a ellos. El resto sigue con SCHEDULE_EXACT_ALARM, que el usuario puede revocar.
  • Devolver permisos. Context.revokeSelfPermissionsOnKill() permite que una app suelte permisos que ya no necesita. Se aplica cuando se terminan los procesos de la app, no mientras está en primer plano.

Qué cambió para tu app

Todas las apps en Android 13

CambioQué hacer
Las instalaciones nuevas empiezan con las notificaciones desactivadasSube a target 33 y pide POST_NOTIFICATIONS en contexto
El portapapeles muestra una vista previa de lo copiadoMarca EXTRA_IS_SENSITIVE en contraseñas y tarjetas; quita tu propio aviso de copia
El usuario puede detener un servicio en primer plano desde el Task ManagerTrátalo como una detención forzada por el usuario
Las notificaciones de servicios en primer plano se pueden descartarNo dependas de que la notificación siga visible
Los jobs de prefetch corren antes del próximo arranque previstoComprueba que el trabajo con setPrefetch() siga corriendo cuando esperas
Una app restringida por batería no inicia servicios en primer plano; sus jobs y alarmas no correnPrueba con adb shell cmd appops set <package> RUN_ANY_IN_BACKGROUND ignore
Los FCM de alta prioridad que nunca muestran notificación bajan de prioridadEnvía prioridad normal cuando no sigue una notificación
Desapareció el trampolín del servicio de voz de la app de GoogleUsa el SpeechService por defecto del dispositivo, no un paquete fijo

Apps con target API 33

CambioQué hacer
La app decide cuándo aparece el diálogo de notificacionesPide POST_NOTIFICATIONS después de una acción del usuario, no al abrir
READ_EXTERNAL_STORAGE ya no da acceso a los medios de otras appsPide READ_MEDIA_*, o usa el selector de fotos para imágenes y video
Las APIs de Wi-Fi exigen NEARBY_WIFI_DEVICESDeclara android:usesPermissionFlags="neverForLocation" si nunca obtienes ubicación
Los intents de otras apps deben coincidir con tu <intent-filter>Revisa los componentes exportados; quien envía recibe ActivityNotFoundException si no coincide
Los sensores corporales en segundo plano exigen BODY_SENSORS_BACKGROUNDPídelo después de BODY_SENSORS
El ID de publicidad es todo ceros sin AD_IDDeclara com.google.android.gms.permission.AD_ID si lo usas
BluetoothAdapter.enable() y disable() devuelven falseLleva al usuario a los ajustes de Bluetooth
WebView.setForceDark() no hace nadaDeja que isLightTheme defina prefers-color-scheme; usa setAlgorithmicDarkeningAllowed()
Sin BOOT_COMPLETED mientras el usuario restringe tu uso de bateríaNo dependas de él en apps restringidas

La coincidencia de intents no se exige a componentes sin ningún filtro, a intents de la misma app ni a intents del sistema o de root.

Dos pantallas de Quick Settings: la primera tiene abajo un botón con el número 1; al tocarlo se abre una lista Active apps con un botón Stop junto a una app
El Foreground Services Task Manager en Quick Settings. Android Developers · CC BY 2.5

Qué perduró

  • El acceso granular a medios se mantuvo, y Android 14 lo afinó más: READ_MEDIA_VISUAL_USER_SELECTED deja que el usuario comparta solo algunas fotos.
  • Alarmas exactas. Desde Android 14, SCHEDULE_EXACT_ALARM queda denegado por defecto en la mayoría de las instalaciones nuevas de apps con target 33 o más, lo que empuja a usar USE_EXACT_ALARM o alarmas inexactas.
  • Receivers exportados. El flag que aquí era opcional pasó a ser obligatorio para receivers registrados por contexto en apps con target Android 14.
  • Restricted settings creció. El CDD de Android 15 lo exige para administradores del dispositivo, mostrar sobre otras apps, acceso de uso, los roles de teléfono y SMS y los permisos de SMS, además de accesibilidad y notification listeners.
  • Predictive back salió de la opción de desarrollador en Android 15, para las apps que se adhirieron.
  • El selector de fotos llega ahora también a Android 4.4 a 10 como módulo adaptado mediante Google Play services.

Para saber

  • El Easter egg reutiliza el reloj de Android 12; su ajuste de desbloqueo se sigue llamando egg_mode_s. Si se ponen las agujas en la 1:00, el código registra "13:00" y burbujas con colores de Material You llenan la pantalla. Una pulsación larga recorre 14 juegos de emoji, de frutas a signos del zodiaco.
  • Un juego nunca salió. AOSP lo conserva comentado con la nota “this one is too much” (“este es demasiado”).
  • TIRAMISU es la primera constante escrita como postre desde LOLLIPOP_MR1 de Android 5.1; de 6.0 a 12L se usaron letras. En AOSP su comentario es una sola palabra: “Tiramisu.”
  • Google fijó primero el plazo de API 33 para el 1 de agosto de 2023 en apps nuevas y el 1 de noviembre de 2023 en actualizaciones. Después movió ambos al 31 de agosto, “unifying the dates to August 31 every year” (unificando las fechas al 31 de agosto de cada año).

Parte 1 de 6

1 min

Android 13 Developer Preview 1: privacidad

10 de febrero de 2022. La primera build de Android 13, solo para desarrolladores, trajo el selector de fotos, el permiso NEARBY_WIFI_DEVICES, íconos temáticos e idioma por app.

Leer por separado: Android 13 Developer Preview 1: privacidad

Google publicó la primera developer preview de Android 13 el 10 de febrero de 2022, seis meses antes del despliegue en Pixel. Era una descarga manual para desarrolladores; Android Beta no estaba abierto para ella. Google también dijo que esta vez habría solo dos previews antes de la Beta 1.

Fecha10 de febrero de 2022
BuildTPP1.220114.016
Parche de seguridadFebrero de 2022
DispositivosPixel 4, 4 XL, 4a, 4a (5G), 5, 5a 5G, 6 y 6 Pro; Android Emulator de 64 bits; GSI
Cómo se obteníaFlasheando una imagen del sistema; las previews y betas siguientes llegaban por OTA
Estabilidad de la APINo; Google la esperaba para junio de 2022

El trabajo de privacidad empezó aquí. El selector de fotos del sistema permitía compartir fotos y videos elegidos sin que la app tuviera un permiso de almacenamiento, y Google planeaba llevarlo a Android 11 y posteriores con una actualización del módulo MediaProvider. NEARBY_WIFI_DEVICES, del grupo NEARBY_DEVICES, permitía a las apps de Wi-Fi escanear y conectarse sin ubicación si declaraban neverForLocation.

Para desarrolladores la build sumó la API para ubicar tiles en Quick Settings, los íconos temáticos (al principio en Pixel), una API de plataforma para el idioma por app, separación silábica más rápida con las frecuencias fullFast y normalFast, RuntimeShader con AGSL y las primeras actualizaciones de las bibliotecas de OpenJDK 11. Bluetooth y Ultra-wideband pasaron a ser módulos Mainline nuevos. La mayoría de los cambios de comportamiento se podían activar uno por uno desde las opciones de desarrollador o con adb.

Parte 2 de 6

1 min

Android 13 Developer Preview 2: notificaciones

17 de marzo de 2022. La segunda y última preview convirtió las notificaciones en un permiso en tiempo de ejecución, POST_NOTIFICATIONS, y sumó emoji COLRv1, LE Audio y MIDI 2.0.

Leer por separado: Android 13 Developer Preview 2: notificaciones

La Developer Preview 2 llegó el 17 de marzo de 2022, una semana después de que la feature drop 12L llegara a AOSP. Los dispositivos con la Developer Preview 1 la recibieron por OTA.

Fecha17 de marzo de 2022
BuildTPP2.220218.010
Parche de seguridadMarzo de 2022
DispositivosDel Pixel 4 al Pixel 6 Pro, como en la Developer Preview 1; emulador de 64 bits; GSI
Cómo se obteníaFlasheando una imagen del sistema, o por OTA desde la Developer Preview 1
Estabilidad de la APINo

Aquí llegó el cambio que definió la versión: POST_NOTIFICATIONS. Las apps con target Android 13 tenían que pedir permiso antes de publicar una notificación, y el sistema manejaba el flujo de actualización para targets anteriores. Google advirtió que ese flujo todavía se iba a ajustar.

La misma build sumó una API para devolver permisos ya concedidos, las marcas RECEIVER_EXPORTED y RECEIVER_NOT_EXPORTED para receivers registrados en tiempo de ejecución (recomendadas, no obligatorias), BODY_SENSORS_BACKGROUND, el Foreground Services Task Manager, los jobs de prefetch en JobScheduler y APK Signature Scheme v3.1. En texto trajo cortes por frase en japonés con android:lineBreakWordStyle="phrase", alturas de línea mayores para escrituras no latinas en apps con target 13, APIs de conversión de texto y emoji vectoriales COLRv1. Bluetooth LE Audio integrado y MIDI 2.0 por USB la completaron.

Parte 3 de 6

1 min

Android 13 Beta 1: permisos de medios separados

26 de abril de 2022. La primera beta abrió Android Beta antes de Google I/O y dividió READ_EXTERNAL_STORAGE en READ_MEDIA_IMAGES, READ_MEDIA_VIDEO y READ_MEDIA_AUDIO.

Leer por separado: Android 13 Beta 1: permisos de medios separados

La Beta 1 salió el 26 de abril de 2022, dos semanas antes de Google I/O, donde solían empezar las betas. Abrió Android Beta, así que quien quisiera probarla podía inscribir un Pixel y recibir la build por OTA.

Fecha26 de abril de 2022
BuildTPB1.220310.029
Parche de seguridadAbril de 2022
DispositivosDel Pixel 4 al Pixel 6 Pro; Android Emulator; GSI
Cómo se obteníaPor OTA con Android Beta, o flasheando; las previews se actualizaban por OTA
Estabilidad de la APINo; se seguía esperando para junio
  • Permisos de medios separados. READ_MEDIA_IMAGES, READ_MEDIA_VIDEO y READ_MEDIA_AUDIO reemplazaron a READ_EXTERNAL_STORAGE para los medios compartidos en apps con target 13. Imágenes y video pedidos juntos comparten un solo diálogo.
  • Errores de Keystore y KeyMint. Nuevas excepciones bajo java.security.ProviderException incluyen el código de error de KeyMint y dicen si conviene reintentar.
  • Ruta del audio. AudioManager.getAudioDevicesForAttributes() y getDirectProfilesForAttributes() le dicen a una app multimedia por dónde va a salir su audio y si puede reproducirse de forma directa.
  • Los controles multimedia pasaron a salir de las acciones de PlaybackState, y se quitó la copia heredada del servicio de voz de la app de Google.

Parte 4 de 6

1 min

Android 13 Beta 2: Google I/O y socios

11 de mayo de 2022. Publicada en Google I/O, la Beta 2 llegó a teléfonos de once socios y sumó las APIs de predictive back, el archivo localeConfig y el permiso USE_EXACT_ALARM.

Leer por separado: Android 13 Beta 2: Google I/O y socios

Google publicó la Beta 2 en Google I/O el 11 de mayo de 2022. Fue la primera build de Android 13 ofrecida fuera de Pixel: ASUS, HMD (Nokia), Lenovo, OnePlus, Oppo, Realme, Sharp, Tecno, Vivo, Xiaomi y ZTE tuvieron sus propios programas beta en teléfonos, tablets y plegables seleccionados.

Fecha11 de mayo de 2022; Beta 2.1 el 26 de mayo de 2022
BuildTPBB.220414.015; 2.1 TPBB.220414.018
Parche de seguridadMayo de 2022
DispositivosDel Pixel 4 al Pixel 6 Pro; dispositivos de socios; Android Emulator; GSI
Cómo se obteníaPor OTA con Android Beta en Pixel; cada socio gestionaba su inscripción
Estabilidad de la APINo; Google la situó “just a step away”

Llegaron tres funciones para desarrolladores: las APIs de atrás anticipado en las que se apoya predictive back, un archivo de recursos que lista los idiomas que admite una app (android:localeConfig) y USE_EXACT_ALARM, el permiso que se concede al instalar para despertadores y calendarios.

La Beta 2.1 corrigió cierres al activar el hotspot o al desconectarse de Android Auto, una lista vacía de sugerencias de búsqueda y un tono de marcado que se oía durante las llamadas.

Parte 5 de 6

1 min

Android 13 Beta 3: estabilidad de plataforma

8 de junio de 2022. La Beta 3 alcanzó la estabilidad de plataforma: el SDK y el NDK de API 33 y todo comportamiento hacia las apps quedaron finales, dos meses antes que Android 12.

Leer por separado: Android 13 Beta 3: estabilidad de plataforma

La Beta 3 salió el 8 de junio de 2022 y llevó Android 13 a la estabilidad de plataforma. Desde esta build el SDK y el NDK oficiales de API 33, los comportamientos hacia las apps y las listas de interfaces no SDK quedaron finales, así que los desarrolladores podían publicar actualizaciones de compatibilidad sabiendo que la plataforma ya no cambiaría.

Fecha8 de junio de 2022; Beta 3.1 el 10 de junio, 3.2 el 16 de junio, 3.3 el 27 de junio
BuildTPB3.220513.017; 3.1 TPB3.220513.017.B1; 3.2 TPB3.220610.004; 3.3 TPB3.220617.002
Parche de seguridadJunio de 2022
DispositivosDel Pixel 4 al Pixel 6 Pro; dispositivos de socios; Android Emulator; GSI
Cómo se obteníaPor OTA con Android Beta, o flasheando
Estabilidad de la APISí: API finales y comportamiento final hacia las apps

La única función que las notas de versión dan como nueva es copiar y pegar: la vista previa del portapapeles, en la que las apps deben evitar mostrar contraseñas. La lista de Google para todas las apps nombraba el permiso de notificaciones, esa vista previa y el prefetch de JobScheduler.

En junio siguieron tres versiones menores. La Beta 3.1 devolvió la app Android Beta Feedback. La Beta 3.2 corrigió apps que se cerraban al abrirse, el gesto atrás que fallaba en algunas apps y el micrófono que se encendía y apagaba solo. La Beta 3.3 corrigió un cierre de System UI con el gesto atrás, redes Wi-Fi que no conectaban, teléfonos que dejaban de responder tras cargar toda la noche y un kernel panic.

Parte 6 de 6

1 min

Android 13 Beta 4: la release candidate

13 de julio de 2022. La última beta fue una release candidate para Pixel y el emulador, sin novedades para desarrolladores; la Beta 4.1 llegó el 25 de julio con correcciones.

Leer por separado: Android 13 Beta 4: la release candidate

La Beta 4 salió el 13 de julio de 2022 como “a final update for your testing and development”. Era una build release candidate para Pixel y el Android Emulator. Como la estabilidad de plataforma había llegado con la Beta 3, no cambió ninguna API ni comportamiento; trajo correcciones y optimizaciones.

Fecha13 de julio de 2022; Beta 4.1 el 25 de julio de 2022 (1 de agosto en el Pixel 6a)
BuildTPB4.220624.005; 4.1 TPB4.220624.008, TPB4.220624.008.A2 en el Pixel 6a
Parche de seguridadJulio de 2022
DispositivosDel Pixel 4 al Pixel 6 Pro; el Pixel 6a desde la Beta 4.1; dispositivos de socios; emulador; GSI
Cómo se obteníaPor OTA con Android Beta, o flasheando
Estabilidad de la APISí, desde la Beta 3

La Beta 4.1 corrigió apps que no podían activar ni desactivar Bluetooth sin BLUETOOTH_CONNECT aunque su target no lo exigía, cierres y reinicios en algunas redes Wi-Fi, llamadas de Meet que se cortaban al conducir y lecturas erróneas de datos de GPS. La versión final llegó a AOSP y a los Pixel el 15 de agosto de 2022.

Clasificado en

Citas

57

Referencias externas