Oggi arriva un nuovo aggiornamento di Sola. Due correzioni: un crash raro ma bloccante all'avvio su Samsung Galaxy A06 (e altri dispositivi Android entry-level con schermo piccolo), e un difetto di visualizzazione nel sottomenu di posizionamento dei widget che poteva apparire tagliato in fondo allo schermo.
1.0.10 — crash all'avvio su Samsung Galaxy A06
Il sintomo
Un utente con Samsung Galaxy A06 (Android 16) ha riscontrato un crash all'avvio di Sola: l'app si chiudeva immediatamente all'apertura, senza nemmeno arrivare alla schermata home. Il report di crash è stato segnalato tramite Google Play Console con la traccia completa, il che ha permesso di identificare la causa con precisione.
La causa
Il Samsung Galaxy A06 è un dispositivo entry-level con uno schermo 720×1600 e una densità di visualizzazione insolita (260 dpi). Queste specifiche differiscono da quelle dei dispositivi Pixel su cui Sola è stato principalmente testato.
In alcune configurazioni, il widget "A colpo d'occhio" (sopra la schermata home, che mostra l'ora, il meteo e il prossimo evento) poteva misurare la propria altezza come zero in un frame transitorio. Questo valore zero veniva poi memorizzato e propagato alla griglia di icone sottostante, la cui altezza di cella diventava anch'essa zero. Il componente LazyVerticalGrid di Jetpack Compose rifiuta quindi la misurazione e genera un'eccezione che fa crashare l'applicazione.
La correzione
Sono state aggiunte due protezioni difensive:
- Il widget "A colpo d'occhio" ora ignora le misurazioni pari a zero (o negative) prima di memorizzare la propria altezza. Il valore resta all'ultima misurazione valida.
- La griglia home ora forza la propria altezza di cella a un minimo equivalente alla dimensione di un'icona. Anche nel caso degenere in cui l'altezza disponibile fosse non valida, la griglia non può più generare l'eccezione.
Correzione validata su un emulatore che riproduce le specifiche esatte del Galaxy A06 (720×1600, 260 dpi, Android 16), oltre che su Pixel 4a (Android 10), Pixel Tablet (Android 14) e Pixel 8 Pro (Android 16). Nessun crash, nessuna regressione visibile.
Sottomenu di posizionamento widget tagliato in fondo allo schermo
Il sintomo
Quando un widget era posizionato vicino al bordo inferiore dello schermo, una pressione prolungata su di esso faceva comparire il menu contestuale ("Configura", "Posiziona", "Rimuovi"), che si spostava automaticamente per restare completamente visibile. Comportamento corretto. Ma se l'utente toccava poi "Posiziona" per aprire il sottomenu di posizionamento fine, quest'ultimo non si riposizionava: appariva sempre sotto il widget qualunque cosa accadesse, risultando quindi tagliato in fondo allo schermo.
La correzione
La stessa logica di riposizionamento automatico usata dal menu principale viene ora applicata anche al sottomenu di posizionamento. Appare sotto il widget se c'è spazio, sopra in caso contrario, oppure aderente al bordo inferiore dello schermo come ultima risorsa. La larghezza del pannello è inoltre centrata sul widget con un limite per evitare qualsiasi overflow laterale.
Risultato: il sottomenu è sempre completamente visibile, indipendentemente dalla posizione del widget sulla griglia.
Come ottenere l'aggiornamento
L'aggiornamento viene distribuito gradualmente tramite il Play Store (a partire dal 20% degli utenti, con incremento graduale fino al 100% in 24-48 ore). Dovrebbe essere disponibile per tutti entro 2 giorni. È anche possibile forzare il controllo dall'app Play Store, nella sezione "Gestisci app e dispositivo".
Apri su Google Play