A new Sola update today. Two fixes: a rare but blocking startup crash on Samsung Galaxy A06 (and other entry-level Android devices with small screens), and a display glitch in the widget positioning sub-menu that could appear cut off at the bottom of the screen.
1.0.10 — startup crash on Samsung Galaxy A06
The symptom
A user on Samsung Galaxy A06 (Android 16) hit a crash when starting Sola: the app closed immediately on launch, without even reaching the home screen. The crash report was surfaced via Google Play Console with the full stack trace, which made it possible to pinpoint the cause precisely.
The cause
The Samsung Galaxy A06 is an entry-level device with a 720×1600 screen and an unusual display density (260 dpi). These specs differ from the Pixel devices Sola has mainly been tested on.
In certain configurations, the "At a glance" widget (above the home screen, showing the time, weather, and next event) could measure its own height as zero on a transient frame. That zero value was then cached and propagated to the icon grid below, whose cell height also became zero. Jetpack Compose's LazyVerticalGrid then rejects the measurement and throws an exception that crashes the app.
The fix
Two defensive guards were added:
- The "At a glance" widget now ignores zero (or negative) measurements before caching its height. The value stays at the last valid measurement.
- The home grid now clamps its cell height to a minimum equivalent to an icon's size. Even in the degenerate case where the available height would be invalid, the grid can no longer trigger the exception.
The fix was validated on an emulator reproducing the exact Galaxy A06 specs (720×1600, 260 dpi, Android 16), as well as on Pixel 4a (Android 10), Pixel Tablet (Android 14), and Pixel 8 Pro (Android 16). No crashes, no visible regressions.
Widget positioning sub-menu cut off at the bottom of the screen
The symptom
When a widget was placed near the bottom edge of the screen, long-pressing it brought up the context menu ("Configure", "Position", "Remove"), which automatically shifted to stay fully visible. Good behavior. But if the user then tapped "Position" to open the fine-positioning sub-menu, that sub-menu would not reposition itself: it always appeared below the widget no matter what, and so ended up cut off at the bottom of the screen.
The fix
The same automatic repositioning logic used by the parent menu is now applied to the positioning sub-menu. It appears below the widget if there's room, above it otherwise, or flush against the bottom edge of the screen as a last resort. The panel's width is also centered on the widget with a clamp to prevent any horizontal overflow.
Result: the sub-menu is always fully visible, no matter where the widget sits on the grid.
How to get the update
The update is being rolled out gradually via the Play Store (starting at 20% of users, then ramping up to 100% over 24 to 48 hours). It should be available to everyone within 2 days. You can also force a check from the Play Store app, under "Manage apps & device".
Open on Google Play