Hoy llega una nueva actualización de Sola. Dos correcciones: un crash raro pero bloqueante al iniciar en Samsung Galaxy A06 (y otros dispositivos Android de gama de entrada con pantalla pequeña), y un fallo visual en el submenú de posicionamiento de widgets que podía aparecer cortado en la parte inferior de la pantalla.

1.0.10 — crash al iniciar en Samsung Galaxy A06

El síntoma

Un usuario con Samsung Galaxy A06 (Android 16) sufrió un crash al iniciar Sola: la aplicación se cerraba de inmediato al abrirse, sin llegar siquiera a mostrar la pantalla de inicio. El informe de fallo se recibió a través de Google Play Console con la traza completa, lo que permitió identificar la causa con precisión.

La causa

El Samsung Galaxy A06 es un dispositivo de gama de entrada con una pantalla 720×1600 y una densidad de pantalla inusual (260 dpi). Estas especificaciones difieren de las de los dispositivos Pixel en los que Sola se ha probado principalmente.

En ciertas configuraciones, el widget "De un vistazo" (encima de la pantalla de inicio, que muestra la hora, el tiempo y el próximo evento) podía medir su propia altura como cero en un frame transitorio. Ese valor cero se guardaba en caché y se propagaba luego a la cuadrícula de iconos de debajo, cuya altura de celda también pasaba a ser cero. El componente LazyVerticalGrid de Jetpack Compose rechaza entonces la medición y lanza una excepción que provoca el crash de la aplicación.

La corrección

Se añadieron dos protecciones defensivas:

Corrección validada en un emulador que reproduce las especificaciones exactas del Galaxy A06 (720×1600, 260 dpi, Android 16), así como en Pixel 4a (Android 10), Pixel Tablet (Android 14) y Pixel 8 Pro (Android 16). Ningún crash, ninguna regresión visible.

Submenú de posicionamiento de widget cortado en la parte inferior de la pantalla

El síntoma

Cuando un widget se colocaba cerca del borde inferior de la pantalla, mantener pulsado sobre él mostraba el menú contextual ("Configurar", "Posicionar", "Eliminar"), que se desplazaba automáticamente para permanecer totalmente visible. Buen comportamiento. Pero si el usuario tocaba después "Posicionar" para abrir el submenú de posicionamiento fino, este no se reposicionaba: aparecía siempre debajo del widget pasara lo que pasara, y por tanto quedaba cortado en la parte inferior de la pantalla.

La corrección

Se aplica ahora al submenú de posicionamiento la misma lógica de reposicionamiento automático que la del menú principal. Aparece debajo del widget si hay espacio, encima si no lo hay, o pegado al borde inferior de la pantalla como último recurso. El ancho del panel también se centra sobre el widget con un límite para evitar cualquier desbordamiento lateral.

Resultado: el submenú es siempre totalmente visible, sea cual sea la posición del widget en la cuadrícula.

Cómo obtener la actualización

La actualización se está desplegando progresivamente a través de la Play Store (empezando con el 20 % de los usuarios, y aumentando gradualmente hasta el 100 % en 24 a 48 horas). Debería estar disponible para todos en 2 días. También se puede forzar la comprobación desde la aplicación Play Store, en la sección "Gestionar apps y dispositivo".

Abrir en Google Play