Conversation
* 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.
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.
No description provided.