new GUI design and and change the overlay dot outlook#23
Merged
Conversation
… overlay dragging
…lucent and running in separate task
This was
linked to
issues
Jun 10, 2026
Closed
Contributor
There was a problem hiding this comment.
Pull request overview
This PR implements a GUI revamp across the app, including a redesigned Home “engine” control, refreshed theme/colors, and an upgraded gesture-status overlay that expands from a neutral dot into an informational HUD pill during gesture events.
Changes:
- Reworked Home/Settings/History Compose UI styling (glassmorphic cards, hero power icon/button, bottom navigation, cockpit card).
- Upgraded the overlay from a static dot to a draggable, animated expanding pill that displays action + gesture confirmation.
- Updated default gesture mapping expectations in unit tests and adjusted platform/config details (Gradle property, system bar theming, Routine trigger activity manifest flags).
Reviewed changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| UX_VALIDATION_CHECKLIST.md | Removed UX validation checklist document. |
| handoff.md | Removed project handoff document. |
| gradle.properties | Commented out local org.gradle.java.home override. |
| app/src/test/java/com/example/driveswipe/DriveSwipeModelsTest.kt | Updated assertions for new default gesture mappings. |
| app/src/test/java/com/example/driveswipe/AppSettingsTest.kt | Updated assertions for new default gesture mappings. |
| app/src/main/java/com/example/driveswipe/ui/theme/Theme.kt | Updated system status/navigation bar colors and icon appearance settings. |
| app/src/main/java/com/example/driveswipe/ui/theme/Color.kt | Updated palette to teal-neon scheme and adjusted semantic colors. |
| app/src/main/java/com/example/driveswipe/StatusOverlayView.kt | Implemented expanding pill HUD, glass styling, and drag handling for overlay. |
| app/src/main/java/com/example/driveswipe/GestureService.kt | Enabled overlay touch interaction and wired gesture confirmation details into overlay. |
| app/src/main/java/com/example/driveswipe/DriveSwipeApp.kt | Major Compose UI redesign (GlassCard, BottomNavBar, hero power icon, cockpit card). |
| app/src/main/AndroidManifest.xml | Changed RoutineTriggerActivity task/launch configuration and theme. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+47
to
+51
| private var currentWidthDp = NEUTRAL_SIZE_DP | ||
| private var currentHeightDp = NEUTRAL_SIZE_DP | ||
| private var expanded = false | ||
| private var displayText = "" | ||
| private var displaySub = "" |
Comment on lines
68
to
72
| fun setState(state: EngineState) { | ||
| if (expanded) return // Keep expanded visible during gesture animations | ||
| pulseAnimator?.cancel() | ||
| pulseAnimator = null | ||
| alpha = 1f |
Comment on lines
+141
to
+147
| private fun collapse() { | ||
| expanded = false | ||
| animateLayout(NEUTRAL_SIZE_DP, NEUTRAL_SIZE_DP) { | ||
| // Restore proper status color state | ||
| invalidate() | ||
| } | ||
| } |
Comment on lines
+102
to
+107
| fun showGestureConfirmation(gestureName: String, actionName: String) { | ||
| pulseAnimator?.cancel() | ||
| val prevColor = dotColor | ||
| val prevAlpha = alpha | ||
| transitionAnimator?.cancel() | ||
| removeCallbacks(collapseRunnable) | ||
|
|
||
| dotColor = Color.WHITE | ||
| alpha = 1f | ||
| invalidate() | ||
| expanded = true |
Comment on lines
+47
to
+49
| android:taskAffinity="" | ||
| android:launchMode="singleInstance" | ||
| android:theme="@android:style/Theme.Translucent.NoTitleBar"> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
DriveSwipe: GUI Revamp Overview
This document provides a detailed overview of the design enhancements and architectural changes introduced in the
gui-revampbranch compared to the stablemainbranch.1. Hero Start/Stop Button Redesign
The core action interface on the Home Screen has been updated for a modern, automotive-inspired dashboard aesthetic.
mainBranchgui-revampBranch60.dp).100.dp), making the power symbol the primary visual target.startAngle = -60f) to orient the gap symmetrically at the top.2. Dynamic HUD Pill Status Overlay
The floating overlay, which acts as a heads-up display (HUD) for background gesture detection, has been completely overhauled from a simple colored dot to a fully interactive component.
graph TD A[Neutral State: 28dp Dot] -->|Gesture Detected| B[Smooth Dynamic Expansion] B --> C[Expanded Pill: 220dp x 36dp] C -->|Show Action & Gesture Name| D[Auto-Collapse after 2 seconds] D -->|Smooth Resize| AKey Improvements:
onTouchEventdragging logic inStatusOverlayView.ktand removedFLAG_NOT_TOUCHABLEinGestureService.ktto intercept touch inputs.DecelerateInterpolatorfrom a neutral28.dpcircle to an expanded220.dp x 36.dpcapsule when a gesture is recognized.bgPaint) with a thin white border (borderPaint).3. Settings Cockpit Card Optimization
The configuration settings UI has been consolidated using Bento-box layouts to improve information density.
4. Theme & Color System Updates
We aligned the color constants with a high-fidelity dark neon palette:
AccentCyan = Color(0xFF57F1DB)andAccentSteel = Color(0xFF3CDDC7)).ALERTINGto Safety Amber (0xFFFF9100) andACTIVEto Cyan (0xFF57F1DB).5. Unit & UI Test Adjustments
To support the updated model definitions, overlay mappings, and revised gesture configs:
AppSettingsTest.ktandDriveSwipeModelsTest.ktto reflect correct key configurations and verify gesture mapping stability.