Skip to content

master#126

Open
D4vidDf wants to merge 3 commits intodevfrom
master
Open

master#126
D4vidDf wants to merge 3 commits intodevfrom
master

Conversation

@D4vidDf
Copy link
Copy Markdown
Owner

@D4vidDf D4vidDf commented Mar 10, 2026

No description provided.

D4vidDf added 3 commits March 10, 2026 16:26
* Feat/color picker (#127)

* feat(theme): implement HSL color picker and enhanced lightness slider

- **New `CustomColorBottomSheet`**: Introduced a dedicated HSL (Hue, Saturation, Lightness) color picker with gradient sliders for precise theme color customization.
- **Enhanced `ColorsDetailContent`**:
    - Overhauled the preset tab with an animated lightness slider that appears when a preset is selected.
    - Improved the preset selection logic to maintain the "base" hue even when adjusting lightness to extreme white or black.
    - Redesigned the "Custom" colors section to use the new HSL bottom sheet instead of a simple hex text field.
    - Switched from simple circular bubbles to a more refined UI with selection rings and rounded-square transitions for active colors.
- **Improved Theme Creator State**:
    - Implemented strict state clearing (nulling `currentEditingThemeId`) when exiting the creator to prevent state leakage between editing sessions.
    - Updated save/apply dialog logic to ensure the UI resets correctly after persistence.
- **Shared Components**: Added `GradientSlider` and `ColorBubble` to `HyperOSColorPicker.kt` for reusable, stylized color selection components.
- **Localization**: Added missing string resources for color labels (Hue, Saturation, Lightness) in English and Spanish.

* #### feat(theme): implement advanced color modes and redesigned color picker

- **Color Modes**: Introduced a `ColorMode` system (`CUSTOM`, `APP_ICON`, `MATERIAL_YOU`) to replace the binary "Use App Colors" toggle. This allows themes to dynamically adapt to Material You system colors or extract colors from app icons globally and per-app.
- **Improved Color Picker**: Replaced standard text fields with a new `CustomColorBottomSheet` in the Call Style and Theme Creator screens, featuring a visual HSL-based selection and hex formatting.
- **UI & UX Refinement**:
    - Redesigned `ColorsDetailContent` with a scrollable layout and new sections for dynamic color modes.
    - Updated the Theme Creator preview to correctly reflect the active color mode.
    - Standardized "My Theme" and "Share Theme" strings to use localized resources.
- **Data Persistence**: Updated `HyperTheme`, `GlobalConfig`, and `AppThemeOverride` models to support the new `ColorMode` enum while maintaining backward compatibility with legacy themes.
- **Theme Creator**: Refactored `ThemeViewModel` to handle more robust state initialization and migration when editing or creating new themes.
- **Tooling**: Added Crowdin configuration settings for the IDE.

* feat(widget): add favorites, recommended filtering, and update notice (#128)

- **Widget Picker**:
    - Implemented a "Recommended" filter to highlight 1x4 and 2x4 layouts compatible with the Island size.
    - Added a Favorite system for widget apps, allowing users to star apps for top-level sorting.
    - Added a floating navigation bar to switch between Recommended and All widgets.
    - Improved dimension display by converting DP to grid cell proportions (e.g., 4x2).
- **Saved Widgets**:
    - Added a persistent "Update Notice" dialog to remind users to check Autostart/Battery permissions after an app update.
    - Implemented a "Kill Active Widgets" action to instantly dismiss all running widget overlays.
    - Redesigned the UI with a centered filter toolbar (Favorites vs. All) and a dedicated Add FAB.
    - Added reactive listening for newly added widgets to ensure the list updates immediately.
- **Service & Data**:
    - Enhanced `WidgetOverlayService` with specific `ACTION_KILL_WIDGET` and `ACTION_KILL_ALL_WIDGETS` handlers for immediate UI cleanup.
    - Added `favoriteWidgetAppsFlow` to `AppPreferences` to persist starred widget providers.
- **Localization**:
    - Added English and Spanish strings for filters, permission reminders, and widget management.

CLOSE #72

* feat(service): implement Native Android 16 Live Updates support

- Added `LiveUpdateTranslator` to transform standard notifications into native Android 16 promoted ongoing tasks using `android.requestPromotedOngoing` and `android.shortCriticalText`.
- Implemented a toggle in Global Settings to choose between custom Xiaomi Islands and native Android 16 Live Updates.
- Created a dedicated `hyper_bridge_live_update_channel` for native updates to manage notifications and visibility independently.
- Added `POST_PROMOTED_NOTIFICATIONS` permission to `AndroidManifest.xml` to support Android 16's promoted notification features.
- Enhanced `LiveUpdateTranslator` with a `generateCriticalShortText` helper to dynamically extract progress percentages or ETAs for the system status chip.
- Fixed Android 16 category filtering by forcing Live Updates into strictly valid categories (`PROGRESS` or `TRANSPORT`) to prevent OS blocking.
- Ensured original notification timestamps are preserved for accurate system-wide "time active" calculations.
- Updated `NotificationReaderService` to support hot-swapping between custom injection and native updates via shared preferences.

* feat(service): enhance Live Update processing and Android 16 compatibility

- **NotificationReaderService**: Implemented a more robust content hashing algorithm that tracks Title, Text, Progress (max, current, indeterminate), and Button Action states (e.g., Play to Pause transitions) to ensure accurate UI updates.
- **LiveUpdateTranslator**:
    - Added support for large icons and picture extras in live updates.
    - Improved media notification handling by suppressing progress bars that often persist in the background.
    - Optimized category mapping (Progress vs. Transport) to comply with Android 16 ongoing promotion requirements.
    - Updated `shortCriticalText` generation logic to prioritize media titles, percentages, or time ETAs for the Dynamic Island chip.
    - Switched to native Android 16 APIs for promoted ongoing requests and short critical text injection.

* feat(settings): refactor Global Settings UI and update version

- Updated `versionName` to `0.5.0-alpha01`.
- Redesigned `GlobalSettingsScreen` to use consistent card-based layouts for all settings items.
- Replaced the "Native Live Updates" `ListItem` with a new standardized `SettingsSwitchItem` component.
- Improved UI spacing and styling across the settings screen, including unified icon background treatments.
- Simplified state management and click behavior for toggleable settings.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant