This update is a double release: compliance with the new requirements Google Play imposes starting August 31, 2026, and an important fix for a crash affecting some Samsung devices during dock setup.
Fix for the Samsung crash during setup
A user on a Samsung Galaxy S24 Ultra encountered a crash when selecting an app in the dock during first-time setup. I identified the cause by analyzing the trace reported via the Play Console: the app picker, a Compose component of type LazyVerticalGrid, refused two entries with the same key.
The root cause was subtle. On some Samsung devices, the same app declares several activities marked CATEGORY_LAUNCHER — for example Contacts and the phone dialer, which share the same packageName. Sola was therefore listing the same app twice, and Compose rejected this duplicate with an exception at render time.
The fix applies systematic deduplication by packageName to every app list in the app, not just the setup wizard. Eight locations were updated to make sure the issue can't reappear elsewhere (edge panel, folder picker, widget picker, icon pack picker, etc.).
Seven unit regression tests and four instrumented Compose tests were added to lock in this behavior.
Android 16 compatibility (API 36)
Starting August 31, 2026, Google Play requires all apps to target at least Android 16. Sola is now compliant:
compileSdkandtargetSdkbumped from 35 to 36- No visible behavior change for users: Android 16 keeps backward compatibility for the APIs Sola uses
Google Play Billing v9.1.0
The billing library was upgraded from 7.1.1 to 9.1.0, also in response to the Play Store requirement effective August 31, 2026 (minimum v8.0.0 required). This required updating Kotlin from 2.1 to 2.3, which made it possible to bring the whole tech stack up to date:
- Kotlin 2.1.0 → 2.3.10
- Android Gradle Plugin 8.8.0 → 9.0.1
- Gradle 8.10.2 → 9.1.0
- Jetpack Compose BOM 2025.01.01 → 2026.06.01
- Hilt 2.54 → 2.60.1
- Room 2.6.1 → 2.8.4
Other fixes
- The exported backup file name now starts with
sola_backup_instead offolapp_backup_ - Fixed a security exception that could occur when the user granted location permission as "only this time" and it expires while the app is in use
- Improved general robustness against errors that could stem from code obfuscation (R8)
How to get the update
The update is being rolled out gradually via the Play Store. It should be available to all users within 24 to 48 hours of release. You can also force a check from the Play Store app, under "Manage apps & device".
Open on Google Play