v1.7.5 — Visual UX uniformity pass
Visual UX uniformity pass
Real-device tour exposed three GUI/UX regressions in v1.7.4. All fixed without schema or feature changes.
Fixed
- Timer tab — empty area below hero on devices with no active timers. Switched the parent
ColumntoverticalScroll, droppedweight(1f)onTimerInputView(Cardwraps to content height regardless of weight), and replaced the innerLazyColumnfor active timers with aforEachColumn. 24dpSpacerat the bottom keeps the input card breathing above the floating nav. - World Clock tab — saved cities not rendering despite the "N cities" hero chip. Replaced the inner
Scaffold(which competed for system insets with the outerAppNavigationScaffold) with aBoxthat hosts a singleLazyColumn(hero is the first item, mirroringAlarmListScreen). FAB overlaid viaBoxBottomEndalignment.contentPadding.bottom = 96.dpkeeps the last city out from under the FAB. The "N cities" chip is hidden in the empty state. - Alarms tab — "Swipe to delete" text bleeding through disabled alarm cards.
AlarmCardusesSurfaceCard.copy(alpha = 0.55f)for disabled alarms, so theSwipeToDismissBoxbackground (always rendered, just transparent when not swiping) showed through. Looked like a stuck swipe gesture. Now gated onisSwiping = currentValue != Settled || targetValue != Settledso the affordance only paints during an active gesture. AddedLaunchedEffect(Unit)snap-to-Settledso a saved partial-drag offset can't survive across navigation. - Today tab — duplicate "Now" cells in the hourly strip. The
isFirstFutureSlotpredicate ran a 45-minute window check on every cell, tagging two or three adjacent hours all as "Now". Replaced with a single-flagfirstNowAssignedtoggled after the first matching cell.
Build
- R8 release build now succeeds with NewPipe Extractor's Mozilla Rhino dependency on board. Added
-dontwarn javax.script.**,-dontwarn org.mozilla.javascript.**, and explicit keeps for Rhino's reflection-loaded classes so YouTube signature decoding still works in minified release builds.
Download: AlarmClockXtreme-v1.7.5-play.apk — signed Play-flavor APK, ~62 MB. Includes yt-dlp + NewPipe Extractor for the YouTube alarm-sound downloader.