feat: Full UI customization for reel counter and mindful message overlays#236
Merged
Conversation
- Add textSize, bgColor, bgOpacity, positionX, positionY to MindfulMessageConfig - Create ReelCounterOverlayConfig data class with same fields - Add reelCounterOverlayConfig to Settings - Add updateReelCounterOverlayConfig() to DataStoreManager - Create OverlayPositionPickerView custom view for 2D position picking - Update MindfulMessageOverlayManager to use config for styling and positioning - Update ReelsOverlayManager to accept ReelCounterOverlayConfig - Update ReelsCountTracker to propagate overlayConfig to startDisplaying() - Update MindfulMessagesViewModel with new update methods for all config fields - Update ReelCounterViewModel with overlayConfig StateFlow and updateOverlayConfig() - Replace fragment_mindful_messages.xml with appearance customization UI - Add appearance customization section to fragment_reel_counter.xml - Update MindfulMessagesFragment and ReelCounterFragment for new UI - Add string resources for appearance labels Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: nethical6 <79095297+nethical6@users.noreply.github.com>
Copilot created this pull request from a session on behalf of
nethical6
April 23, 2026 05:39
View session
Copilot stopped work on behalf of
nethical6 due to an error
April 23, 2026 14:58
- OverlayPositionPickerView: override onMeasure to enforce 9:16 portrait aspect ratio - fragment_reel_counter.xml: add live preview card, set picker height to wrap_content - ReelCounterFragment.kt: drive live preview (color, opacity, text size, position) - fragment_mindful_messages.xml: add live preview card, set picker height to wrap_content - MindfulMessagesFragment.kt: drive live preview - Add bg_preview_phone drawable and live_preview string resource Agent-Logs-Url: https://github.com/nethical6/digipaws/sessions/0b9b241f-c254-4e21-972f-7bd05b986db7 Co-authored-by: nethical6 <79095297+nethical6@users.noreply.github.com>
…tion setting - Remove OverlayPositionPickerView (custom grid picker) and mockup preview cards - Add "Set Position" button to reel counter and mindful messages screens - Tapping button shows actual overlay widget (overlay_usage_stat / mindfulmsg_overlay) on the decorView as a draggable view the user can move anywhere on screen - OK button saves position as x/y fractions and dismisses the scrim - Scrim is properly removed on fragment destroy to avoid leaks - Delete OverlayPositionPickerView.kt and bg_preview_phone.xml (no longer used) Agent-Logs-Url: https://github.com/nethical6/digipaws/sessions/65c81aee-b48f-4ca5-a27a-e105e5167cea Co-authored-by: nethical6 <79095297+nethical6@users.noreply.github.com>
- Fix position mismatch: use getLocationOnScreen() on widget when saving to get screen-absolute coords matching WindowManager overlay managers; subtract decorView screen offset for correct initial placement - Add textOpacity field to both overlay configs (default 80 for reel, 100 for mindful) - Apply textOpacity in ReelsOverlayManager (alpha on TextViews) and MindfulMessageOverlayManager (argb text color alpha) - Add text opacity sliders to both fragment layouts and string resources - Create OverlayDragHelper: single place for PRESET_COLORS, buildColorChips, refreshChipSelection, and showDragOverlay (DRY extraction) - Both fragments now delegate to OverlayDragHelper; all color chip and drag overlay code lives in one place - Add updateTextOpacity() to MindfulMessagesViewModel Agent-Logs-Url: https://github.com/nethical6/digipaws/sessions/05e3819c-47ba-42ee-8353-2bd39338f560 Co-authored-by: nethical6 <79095297+nethical6@users.noreply.github.com>
Agent-Logs-Url: https://github.com/nethical6/digipaws/sessions/05e3819c-47ba-42ee-8353-2bd39338f560 Co-authored-by: nethical6 <79095297+nethical6@users.noreply.github.com>
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.
textOpacityfield toReelCounterOverlayConfigandMindfulMessageConfigtextOpacityinReelsOverlayManagerandMindfulMessageOverlayManagertext_opacity_label/text_opacity_valuestringsOverlayDragHelper.kt— color chips + drag overlay (DRY extraction)getLocationOnScreen()for save; subtract decorView offset for initial placementReelCounterFragmentusing helper, wire text opacityMindfulMessagesFragmentusing helper, wire text opacityupdateTextOpacity()toMindfulMessagesViewModelOverlayDragHelperposition save