Conversation
Primeiro commit para adicionar a tradução para português brasileiro
D4vidDf
added a commit
that referenced
this pull request
Dec 4, 2025
* Add Brazilian Portuguese translation (#14) (#16) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(nav): add layout customization and fix text alignment (#18) - Added `NavCustomizationScreen` with live preview to configure Navigation Island layout. - Implemented options to customize Left/Right content (Instruction, Distance, ETA) globally or per app. - Fixed text misalignment bug caused by newline characters in notification extras. - Updated `NavTranslator` to sanitize inputs and respect new layout configs. - Added Spanish translations for new settings. Closes #4 * Add Brazilian Portuguese translation (#14) (#22) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(a11y): improve TalkBack support and semantic navigation (#24) - Implemented custom accessibility actions for the App Priority List (Move Up/Down) to allow reordering without drag gestures. - Added dynamic content descriptions to App List switches and buttons (e.g., "Toggle [App Name]" instead of just "Switch"). - Marked settings group titles as Semantic Headings for faster screen reader navigation. - Added state descriptions to the Navigation Layout Preview to describe the current configuration audibly. - Improved labeling for expand/collapse actions in the Version History screen. - Fixed missing content descriptions on navigation and edit icon buttons. Closes #17 * fix(service): ignore notifications showing package name as content (#28) - Implemented strict check in `isJunkNotification` to block notifications where Title or Text equals the Package Name. - This prevents 'placeholder' notifications (e.g. 'com.whatsapp') from overwriting valid content on the Island. - Logs ignored placeholders for debugging. Closes #7 * fix(deps): downgrade DataStore to resolve boot persistence issues (#29) - Downgraded `androidx.datastore:datastore-preferences` from 1.2.0 to 1.1.7. - The 1.2.0 update introduced a regression on HyperOS/MIUI devices where preference files were not readable immediately after boot, causing the app to reset to the Onboarding screen and lose saved configurations. - Reverting to the stable 1.1.x release restores reliable data persistence across reboots. Closes #5 * Updating PTBR translation (#30) Atualização da tradução com a versão mais recente da branch 'dev' * Added Korean translation (#26) * fix(service): ignore placeholder notifications containing package name (#31) - Updated `isJunkNotification` logic in `NotificationReaderService`. - Now filters out notifications where the Title or Text contains the package name (case-insensitive), rather than just exact matches. - This prevents the Dynamic Island from displaying raw package strings (e.g., "com.whatsapp checking...") during background updates. Closes #7 * feat(blocklist): add spoiler and privacy protection and redesign config sheet (#32) - Implemented Blocked Terms logic: Users can now define words to block globally or per-app to prevent spoilers or unwanted notifications. - Redesigned `AppConfigBottomSheet`: Replaced the tabbed layout with a vertical list using expandable cards. This fixes the "bouncy" animation issues when switching sections. - Added `GlobalBlocklistScreen` as a central hub for managing filters. - Added `BlocklistAppListScreen` to configure rules for specific apps, displaying active rule counts per app. - Updated `NotificationReaderService` to filter notifications based on effective blocked terms (Global + App Specific). - Standardized UI: App list items in the blocklist settings now use consistent Card styling. Closes #6 * fix(ui): update library and clarify settings UX - Updated `hyperisland-kit` to 0.3.3 to resolve Issue #9 (Shade visibility bug). - Redesigned `IslandSettingsControl`: - Updated text descriptions to clearly explain 'Float' (Heads-up) vs 'Shade' (System Panel) behavior. - Improved Timeout Slider: Now displays seconds (0-10s) clearly in the header and uses full width for easier adjustment. - Updated English and Spanish translations. Closes #9 * feat(onboarding): enforce HyperOS 3 requirement and improve device info - Updated `CompatibilityPage` to strictly block the "Next" button if the OS is older than HyperOS 3.0. - Added logic to `DeviceUtils` to detect HyperOS 3.0 on Android 15 (API 35) to future-proof against base OS updates. - Implemented `getDeviceMarketName` to display readable model names (e.g., "Xiaomi 14") instead of model codes. - Added a specific UI warning for users on China ROMs regarding potential stability issues. - Updated the Autostart permission description to clarify that the app cannot automatically verify if the permission is granted. Closes #11 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Update PL translation for 0.3.0 (#34) * Add Ukrainian translation (#37) * Updating PTBR translation for v0.3.0 (#38) Atualizando para a versão 0.3.0 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Add missing 0.3.0 Ukrainian strings (#42) (additionally mention Ukrainian translation in changelog) * feat(data): migrate preference storage from DataStore to Room (#43) - Replaced Jetpack DataStore with Room (SQLite) to resolve persistence instability and file locking issues observed on HyperOS devices during boot. - Implemented `AppDatabase`, `SettingsDao`, and `AppSetting` entity to store key-value pairs reliably. - Rewrote `AppPreferences` to interface with the database while maintaining the existing Flow API for the UI. - Added a one-time migration mechanism in `AppPreferences` to automatically transfer existing settings from the legacy DataStore file to the new Room database, ensuring no data loss for current users. - Updated build configuration to include KSP and Room dependencies, and resolved dependency conflicts. Closes #40 * fix(service): enable blocked terms filtering logic - Connected the Blocked Terms data layer to the `NotificationReaderService`. - Previously, terms defined in the UI were saved but ignored by the service. - Implemented Global Blocklist check in `isJunkNotification` (Synchronous) to drop spam immediately. - Implemented App-Specific Blocklist check in `processAndPost` (Asynchronous) to handle per-app spoiler protection. Closes #6, Closes #39 * Updated changelog to add support for Ukrainian --------- Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> Co-authored-by: AlexKoala <alexkoala@alexkoala.com> Co-authored-by: Kacper Skrzypek <kacper@miuipolska.pl> Co-authored-by: Denys <80550709+ItzDFPlayer@users.noreply.github.com>
D4vidDf
added a commit
that referenced
this pull request
Dec 4, 2025
* Add Brazilian Portuguese translation (#14) (#16) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(nav): add layout customization and fix text alignment (#18) - Added `NavCustomizationScreen` with live preview to configure Navigation Island layout. - Implemented options to customize Left/Right content (Instruction, Distance, ETA) globally or per app. - Fixed text misalignment bug caused by newline characters in notification extras. - Updated `NavTranslator` to sanitize inputs and respect new layout configs. - Added Spanish translations for new settings. Closes #4 * Add Brazilian Portuguese translation (#14) (#22) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(a11y): improve TalkBack support and semantic navigation (#24) - Implemented custom accessibility actions for the App Priority List (Move Up/Down) to allow reordering without drag gestures. - Added dynamic content descriptions to App List switches and buttons (e.g., "Toggle [App Name]" instead of just "Switch"). - Marked settings group titles as Semantic Headings for faster screen reader navigation. - Added state descriptions to the Navigation Layout Preview to describe the current configuration audibly. - Improved labeling for expand/collapse actions in the Version History screen. - Fixed missing content descriptions on navigation and edit icon buttons. Closes #17 * fix(service): ignore notifications showing package name as content (#28) - Implemented strict check in `isJunkNotification` to block notifications where Title or Text equals the Package Name. - This prevents 'placeholder' notifications (e.g. 'com.whatsapp') from overwriting valid content on the Island. - Logs ignored placeholders for debugging. Closes #7 * fix(deps): downgrade DataStore to resolve boot persistence issues (#29) - Downgraded `androidx.datastore:datastore-preferences` from 1.2.0 to 1.1.7. - The 1.2.0 update introduced a regression on HyperOS/MIUI devices where preference files were not readable immediately after boot, causing the app to reset to the Onboarding screen and lose saved configurations. - Reverting to the stable 1.1.x release restores reliable data persistence across reboots. Closes #5 * Updating PTBR translation (#30) Atualização da tradução com a versão mais recente da branch 'dev' * Added Korean translation (#26) * fix(service): ignore placeholder notifications containing package name (#31) - Updated `isJunkNotification` logic in `NotificationReaderService`. - Now filters out notifications where the Title or Text contains the package name (case-insensitive), rather than just exact matches. - This prevents the Dynamic Island from displaying raw package strings (e.g., "com.whatsapp checking...") during background updates. Closes #7 * feat(blocklist): add spoiler and privacy protection and redesign config sheet (#32) - Implemented Blocked Terms logic: Users can now define words to block globally or per-app to prevent spoilers or unwanted notifications. - Redesigned `AppConfigBottomSheet`: Replaced the tabbed layout with a vertical list using expandable cards. This fixes the "bouncy" animation issues when switching sections. - Added `GlobalBlocklistScreen` as a central hub for managing filters. - Added `BlocklistAppListScreen` to configure rules for specific apps, displaying active rule counts per app. - Updated `NotificationReaderService` to filter notifications based on effective blocked terms (Global + App Specific). - Standardized UI: App list items in the blocklist settings now use consistent Card styling. Closes #6 * fix(ui): update library and clarify settings UX - Updated `hyperisland-kit` to 0.3.3 to resolve Issue #9 (Shade visibility bug). - Redesigned `IslandSettingsControl`: - Updated text descriptions to clearly explain 'Float' (Heads-up) vs 'Shade' (System Panel) behavior. - Improved Timeout Slider: Now displays seconds (0-10s) clearly in the header and uses full width for easier adjustment. - Updated English and Spanish translations. Closes #9 * feat(onboarding): enforce HyperOS 3 requirement and improve device info - Updated `CompatibilityPage` to strictly block the "Next" button if the OS is older than HyperOS 3.0. - Added logic to `DeviceUtils` to detect HyperOS 3.0 on Android 15 (API 35) to future-proof against base OS updates. - Implemented `getDeviceMarketName` to display readable model names (e.g., "Xiaomi 14") instead of model codes. - Added a specific UI warning for users on China ROMs regarding potential stability issues. - Updated the Autostart permission description to clarify that the app cannot automatically verify if the permission is granted. Closes #11 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Update PL translation for 0.3.0 (#34) * Add Ukrainian translation (#37) * Updating PTBR translation for v0.3.0 (#38) Atualizando para a versão 0.3.0 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Add missing 0.3.0 Ukrainian strings (#42) (additionally mention Ukrainian translation in changelog) * feat(data): migrate preference storage from DataStore to Room (#43) - Replaced Jetpack DataStore with Room (SQLite) to resolve persistence instability and file locking issues observed on HyperOS devices during boot. - Implemented `AppDatabase`, `SettingsDao`, and `AppSetting` entity to store key-value pairs reliably. - Rewrote `AppPreferences` to interface with the database while maintaining the existing Flow API for the UI. - Added a one-time migration mechanism in `AppPreferences` to automatically transfer existing settings from the legacy DataStore file to the new Room database, ensuring no data loss for current users. - Updated build configuration to include KSP and Room dependencies, and resolved dependency conflicts. Closes #40 * fix(service): enable blocked terms filtering logic - Connected the Blocked Terms data layer to the `NotificationReaderService`. - Previously, terms defined in the UI were saved but ignored by the service. - Implemented Global Blocklist check in `isJunkNotification` (Synchronous) to drop spam immediately. - Implemented App-Specific Blocklist check in `processAndPost` (Asynchronous) to handle per-app spoiler protection. Closes #6, Closes #39 * Updated changelog to add support for Ukrainian * Fixed text buttons and custom actions. --------- Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> Co-authored-by: AlexKoala <alexkoala@alexkoala.com> Co-authored-by: Kacper Skrzypek <kacper@miuipolska.pl> Co-authored-by: Denys <80550709+ItzDFPlayer@users.noreply.github.com>
D4vidDf
added a commit
that referenced
this pull request
Dec 9, 2025
* Dev (#47) * Add Brazilian Portuguese translation (#14) (#16) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(nav): add layout customization and fix text alignment (#18) - Added `NavCustomizationScreen` with live preview to configure Navigation Island layout. - Implemented options to customize Left/Right content (Instruction, Distance, ETA) globally or per app. - Fixed text misalignment bug caused by newline characters in notification extras. - Updated `NavTranslator` to sanitize inputs and respect new layout configs. - Added Spanish translations for new settings. Closes #4 * Add Brazilian Portuguese translation (#14) (#22) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(a11y): improve TalkBack support and semantic navigation (#24) - Implemented custom accessibility actions for the App Priority List (Move Up/Down) to allow reordering without drag gestures. - Added dynamic content descriptions to App List switches and buttons (e.g., "Toggle [App Name]" instead of just "Switch"). - Marked settings group titles as Semantic Headings for faster screen reader navigation. - Added state descriptions to the Navigation Layout Preview to describe the current configuration audibly. - Improved labeling for expand/collapse actions in the Version History screen. - Fixed missing content descriptions on navigation and edit icon buttons. Closes #17 * fix(service): ignore notifications showing package name as content (#28) - Implemented strict check in `isJunkNotification` to block notifications where Title or Text equals the Package Name. - This prevents 'placeholder' notifications (e.g. 'com.whatsapp') from overwriting valid content on the Island. - Logs ignored placeholders for debugging. Closes #7 * fix(deps): downgrade DataStore to resolve boot persistence issues (#29) - Downgraded `androidx.datastore:datastore-preferences` from 1.2.0 to 1.1.7. - The 1.2.0 update introduced a regression on HyperOS/MIUI devices where preference files were not readable immediately after boot, causing the app to reset to the Onboarding screen and lose saved configurations. - Reverting to the stable 1.1.x release restores reliable data persistence across reboots. Closes #5 * Updating PTBR translation (#30) Atualização da tradução com a versão mais recente da branch 'dev' * Added Korean translation (#26) * fix(service): ignore placeholder notifications containing package name (#31) - Updated `isJunkNotification` logic in `NotificationReaderService`. - Now filters out notifications where the Title or Text contains the package name (case-insensitive), rather than just exact matches. - This prevents the Dynamic Island from displaying raw package strings (e.g., "com.whatsapp checking...") during background updates. Closes #7 * feat(blocklist): add spoiler and privacy protection and redesign config sheet (#32) - Implemented Blocked Terms logic: Users can now define words to block globally or per-app to prevent spoilers or unwanted notifications. - Redesigned `AppConfigBottomSheet`: Replaced the tabbed layout with a vertical list using expandable cards. This fixes the "bouncy" animation issues when switching sections. - Added `GlobalBlocklistScreen` as a central hub for managing filters. - Added `BlocklistAppListScreen` to configure rules for specific apps, displaying active rule counts per app. - Updated `NotificationReaderService` to filter notifications based on effective blocked terms (Global + App Specific). - Standardized UI: App list items in the blocklist settings now use consistent Card styling. Closes #6 * fix(ui): update library and clarify settings UX - Updated `hyperisland-kit` to 0.3.3 to resolve Issue #9 (Shade visibility bug). - Redesigned `IslandSettingsControl`: - Updated text descriptions to clearly explain 'Float' (Heads-up) vs 'Shade' (System Panel) behavior. - Improved Timeout Slider: Now displays seconds (0-10s) clearly in the header and uses full width for easier adjustment. - Updated English and Spanish translations. Closes #9 * feat(onboarding): enforce HyperOS 3 requirement and improve device info - Updated `CompatibilityPage` to strictly block the "Next" button if the OS is older than HyperOS 3.0. - Added logic to `DeviceUtils` to detect HyperOS 3.0 on Android 15 (API 35) to future-proof against base OS updates. - Implemented `getDeviceMarketName` to display readable model names (e.g., "Xiaomi 14") instead of model codes. - Added a specific UI warning for users on China ROMs regarding potential stability issues. - Updated the Autostart permission description to clarify that the app cannot automatically verify if the permission is granted. Closes #11 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Update PL translation for 0.3.0 (#34) * Add Ukrainian translation (#37) * Updating PTBR translation for v0.3.0 (#38) Atualizando para a versão 0.3.0 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Add missing 0.3.0 Ukrainian strings (#42) (additionally mention Ukrainian translation in changelog) * feat(data): migrate preference storage from DataStore to Room (#43) - Replaced Jetpack DataStore with Room (SQLite) to resolve persistence instability and file locking issues observed on HyperOS devices during boot. - Implemented `AppDatabase`, `SettingsDao`, and `AppSetting` entity to store key-value pairs reliably. - Rewrote `AppPreferences` to interface with the database while maintaining the existing Flow API for the UI. - Added a one-time migration mechanism in `AppPreferences` to automatically transfer existing settings from the legacy DataStore file to the new Room database, ensuring no data loss for current users. - Updated build configuration to include KSP and Room dependencies, and resolved dependency conflicts. Closes #40 * fix(service): enable blocked terms filtering logic - Connected the Blocked Terms data layer to the `NotificationReaderService`. - Previously, terms defined in the UI were saved but ignored by the service. - Implemented Global Blocklist check in `isJunkNotification` (Synchronous) to drop spam immediately. - Implemented App-Specific Blocklist check in `processAndPost` (Asynchronous) to handle per-app spoiler protection. Closes #6, Closes #39 * Updated changelog to add support for Ukrainian * Fixed text buttons and custom actions. --------- Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> Co-authored-by: AlexKoala <alexkoala@alexkoala.com> Co-authored-by: Kacper Skrzypek <kacper@miuipolska.pl> Co-authored-by: Denys <80550709+ItzDFPlayer@users.noreply.github.com> * Update README with new features and localization info Enhanced features section with new capabilities and improved language support. * Add files * Add Russian localization strings Added Russian localization strings for the application. * Update * Update * Update * Update * Update * Update 2 * Update 2 * Update 2 * Update 2 * Add German localization to strings.xml Added German localization strings for the app. * Korean translation addition * Update 2 * u * Add German translations * Delete app/src/main/res/values-deu directory * Update 2 * Update strings.xml * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml Removed Russian and German language options from the strings. * Update strings.xml Removed Russian and German language options from the strings. * Update strings.xml * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml * -</resources> Updated privacy strings to clarify offline processing and security. * Update Ukrainian Added new strings for privacy settings, backup options, and language selection in the Ukrainian localization. * Update Russian * Update Português Brasileiro Added new strings for privacy, backup, and language settings. * Update polski Added new strings for privacy, language options, backup, and UI updates. * Fix polski Corrected the capitalization of language names in Polish localization. * Update Korean Added Korean localization strings for backup, privacy, and optimization features. * fix español Updated privacy title and description strings in Spanish. * Update Deutsch * fix Polish --------- Co-authored-by: David Df <dominguezfondodavid@gmail.com> Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> Co-authored-by: AlexKoala <alexkoala@alexkoala.com> Co-authored-by: Kacper Skrzypek <kacper@miuipolska.pl> Co-authored-by: Denys <80550709+ItzDFPlayer@users.noreply.github.com>
D4vidDf
added a commit
that referenced
this pull request
Dec 11, 2025
* Dev (#47) * Add Brazilian Portuguese translation (#14) (#16) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(nav): add layout customization and fix text alignment (#18) - Added `NavCustomizationScreen` with live preview to configure Navigation Island layout. - Implemented options to customize Left/Right content (Instruction, Distance, ETA) globally or per app. - Fixed text misalignment bug caused by newline characters in notification extras. - Updated `NavTranslator` to sanitize inputs and respect new layout configs. - Added Spanish translations for new settings. Closes #4 * Add Brazilian Portuguese translation (#14) (#22) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(a11y): improve TalkBack support and semantic navigation (#24) - Implemented custom accessibility actions for the App Priority List (Move Up/Down) to allow reordering without drag gestures. - Added dynamic content descriptions to App List switches and buttons (e.g., "Toggle [App Name]" instead of just "Switch"). - Marked settings group titles as Semantic Headings for faster screen reader navigation. - Added state descriptions to the Navigation Layout Preview to describe the current configuration audibly. - Improved labeling for expand/collapse actions in the Version History screen. - Fixed missing content descriptions on navigation and edit icon buttons. Closes #17 * fix(service): ignore notifications showing package name as content (#28) - Implemented strict check in `isJunkNotification` to block notifications where Title or Text equals the Package Name. - This prevents 'placeholder' notifications (e.g. 'com.whatsapp') from overwriting valid content on the Island. - Logs ignored placeholders for debugging. Closes #7 * fix(deps): downgrade DataStore to resolve boot persistence issues (#29) - Downgraded `androidx.datastore:datastore-preferences` from 1.2.0 to 1.1.7. - The 1.2.0 update introduced a regression on HyperOS/MIUI devices where preference files were not readable immediately after boot, causing the app to reset to the Onboarding screen and lose saved configurations. - Reverting to the stable 1.1.x release restores reliable data persistence across reboots. Closes #5 * Updating PTBR translation (#30) Atualização da tradução com a versão mais recente da branch 'dev' * Added Korean translation (#26) * fix(service): ignore placeholder notifications containing package name (#31) - Updated `isJunkNotification` logic in `NotificationReaderService`. - Now filters out notifications where the Title or Text contains the package name (case-insensitive), rather than just exact matches. - This prevents the Dynamic Island from displaying raw package strings (e.g., "com.whatsapp checking...") during background updates. Closes #7 * feat(blocklist): add spoiler and privacy protection and redesign config sheet (#32) - Implemented Blocked Terms logic: Users can now define words to block globally or per-app to prevent spoilers or unwanted notifications. - Redesigned `AppConfigBottomSheet`: Replaced the tabbed layout with a vertical list using expandable cards. This fixes the "bouncy" animation issues when switching sections. - Added `GlobalBlocklistScreen` as a central hub for managing filters. - Added `BlocklistAppListScreen` to configure rules for specific apps, displaying active rule counts per app. - Updated `NotificationReaderService` to filter notifications based on effective blocked terms (Global + App Specific). - Standardized UI: App list items in the blocklist settings now use consistent Card styling. Closes #6 * fix(ui): update library and clarify settings UX - Updated `hyperisland-kit` to 0.3.3 to resolve Issue #9 (Shade visibility bug). - Redesigned `IslandSettingsControl`: - Updated text descriptions to clearly explain 'Float' (Heads-up) vs 'Shade' (System Panel) behavior. - Improved Timeout Slider: Now displays seconds (0-10s) clearly in the header and uses full width for easier adjustment. - Updated English and Spanish translations. Closes #9 * feat(onboarding): enforce HyperOS 3 requirement and improve device info - Updated `CompatibilityPage` to strictly block the "Next" button if the OS is older than HyperOS 3.0. - Added logic to `DeviceUtils` to detect HyperOS 3.0 on Android 15 (API 35) to future-proof against base OS updates. - Implemented `getDeviceMarketName` to display readable model names (e.g., "Xiaomi 14") instead of model codes. - Added a specific UI warning for users on China ROMs regarding potential stability issues. - Updated the Autostart permission description to clarify that the app cannot automatically verify if the permission is granted. Closes #11 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Update PL translation for 0.3.0 (#34) * Add Ukrainian translation (#37) * Updating PTBR translation for v0.3.0 (#38) Atualizando para a versão 0.3.0 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Add missing 0.3.0 Ukrainian strings (#42) (additionally mention Ukrainian translation in changelog) * feat(data): migrate preference storage from DataStore to Room (#43) - Replaced Jetpack DataStore with Room (SQLite) to resolve persistence instability and file locking issues observed on HyperOS devices during boot. - Implemented `AppDatabase`, `SettingsDao`, and `AppSetting` entity to store key-value pairs reliably. - Rewrote `AppPreferences` to interface with the database while maintaining the existing Flow API for the UI. - Added a one-time migration mechanism in `AppPreferences` to automatically transfer existing settings from the legacy DataStore file to the new Room database, ensuring no data loss for current users. - Updated build configuration to include KSP and Room dependencies, and resolved dependency conflicts. Closes #40 * fix(service): enable blocked terms filtering logic - Connected the Blocked Terms data layer to the `NotificationReaderService`. - Previously, terms defined in the UI were saved but ignored by the service. - Implemented Global Blocklist check in `isJunkNotification` (Synchronous) to drop spam immediately. - Implemented App-Specific Blocklist check in `processAndPost` (Asynchronous) to handle per-app spoiler protection. Closes #6, Closes #39 * Updated changelog to add support for Ukrainian * Fixed text buttons and custom actions. --------- Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> Co-authored-by: AlexKoala <alexkoala@alexkoala.com> Co-authored-by: Kacper Skrzypek <kacper@miuipolska.pl> Co-authored-by: Denys <80550709+ItzDFPlayer@users.noreply.github.com> * Update README with new features and localization info Enhanced features section with new capabilities and improved language support. * Add files * Add Russian localization strings Added Russian localization strings for the application. * Update * Update * Update * Update * Update * Update 2 * Update 2 * Update 2 * Update 2 * Add German localization to strings.xml Added German localization strings for the app. * Korean translation addition * Update 2 * u * Add German translations * Delete app/src/main/res/values-deu directory * Update 2 * Update strings.xml * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml Removed Russian and German language options from the strings. * Update strings.xml Removed Russian and German language options from the strings. * Update strings.xml * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml * -</resources> Updated privacy strings to clarify offline processing and security. * Update Ukrainian Added new strings for privacy settings, backup options, and language selection in the Ukrainian localization. * Update Russian * Update Português Brasileiro Added new strings for privacy, backup, and language settings. * Update polski Added new strings for privacy, language options, backup, and UI updates. * Fix polski Corrected the capitalization of language names in Polish localization. * Update Korean Added Korean localization strings for backup, privacy, and optimization features. * fix español Updated privacy title and description strings in Spanish. * Update Deutsch * fix Polish * de fix * ru fix * uk fix --------- Co-authored-by: David Df <dominguezfondodavid@gmail.com> Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> Co-authored-by: AlexKoala <alexkoala@alexkoala.com> Co-authored-by: Kacper Skrzypek <kacper@miuipolska.pl> Co-authored-by: Denys <80550709+ItzDFPlayer@users.noreply.github.com>
D4vidDf
added a commit
that referenced
this pull request
Dec 12, 2025
* Add Brazilian Portuguese translation (#14) (#16) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(nav): add layout customization and fix text alignment (#18) - Added `NavCustomizationScreen` with live preview to configure Navigation Island layout. - Implemented options to customize Left/Right content (Instruction, Distance, ETA) globally or per app. - Fixed text misalignment bug caused by newline characters in notification extras. - Updated `NavTranslator` to sanitize inputs and respect new layout configs. - Added Spanish translations for new settings. Closes #4 * Add Brazilian Portuguese translation (#14) (#22) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(a11y): improve TalkBack support and semantic navigation (#24) - Implemented custom accessibility actions for the App Priority List (Move Up/Down) to allow reordering without drag gestures. - Added dynamic content descriptions to App List switches and buttons (e.g., "Toggle [App Name]" instead of just "Switch"). - Marked settings group titles as Semantic Headings for faster screen reader navigation. - Added state descriptions to the Navigation Layout Preview to describe the current configuration audibly. - Improved labeling for expand/collapse actions in the Version History screen. - Fixed missing content descriptions on navigation and edit icon buttons. Closes #17 * fix(service): ignore notifications showing package name as content (#28) - Implemented strict check in `isJunkNotification` to block notifications where Title or Text equals the Package Name. - This prevents 'placeholder' notifications (e.g. 'com.whatsapp') from overwriting valid content on the Island. - Logs ignored placeholders for debugging. Closes #7 * fix(deps): downgrade DataStore to resolve boot persistence issues (#29) - Downgraded `androidx.datastore:datastore-preferences` from 1.2.0 to 1.1.7. - The 1.2.0 update introduced a regression on HyperOS/MIUI devices where preference files were not readable immediately after boot, causing the app to reset to the Onboarding screen and lose saved configurations. - Reverting to the stable 1.1.x release restores reliable data persistence across reboots. Closes #5 * Updating PTBR translation (#30) Atualização da tradução com a versão mais recente da branch 'dev' * Added Korean translation (#26) * fix(service): ignore placeholder notifications containing package name (#31) - Updated `isJunkNotification` logic in `NotificationReaderService`. - Now filters out notifications where the Title or Text contains the package name (case-insensitive), rather than just exact matches. - This prevents the Dynamic Island from displaying raw package strings (e.g., "com.whatsapp checking...") during background updates. Closes #7 * feat(blocklist): add spoiler and privacy protection and redesign config sheet (#32) - Implemented Blocked Terms logic: Users can now define words to block globally or per-app to prevent spoilers or unwanted notifications. - Redesigned `AppConfigBottomSheet`: Replaced the tabbed layout with a vertical list using expandable cards. This fixes the "bouncy" animation issues when switching sections. - Added `GlobalBlocklistScreen` as a central hub for managing filters. - Added `BlocklistAppListScreen` to configure rules for specific apps, displaying active rule counts per app. - Updated `NotificationReaderService` to filter notifications based on effective blocked terms (Global + App Specific). - Standardized UI: App list items in the blocklist settings now use consistent Card styling. Closes #6 * fix(ui): update library and clarify settings UX - Updated `hyperisland-kit` to 0.3.3 to resolve Issue #9 (Shade visibility bug). - Redesigned `IslandSettingsControl`: - Updated text descriptions to clearly explain 'Float' (Heads-up) vs 'Shade' (System Panel) behavior. - Improved Timeout Slider: Now displays seconds (0-10s) clearly in the header and uses full width for easier adjustment. - Updated English and Spanish translations. Closes #9 * feat(onboarding): enforce HyperOS 3 requirement and improve device info - Updated `CompatibilityPage` to strictly block the "Next" button if the OS is older than HyperOS 3.0. - Added logic to `DeviceUtils` to detect HyperOS 3.0 on Android 15 (API 35) to future-proof against base OS updates. - Implemented `getDeviceMarketName` to display readable model names (e.g., "Xiaomi 14") instead of model codes. - Added a specific UI warning for users on China ROMs regarding potential stability issues. - Updated the Autostart permission description to clarify that the app cannot automatically verify if the permission is granted. Closes #11 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Update PL translation for 0.3.0 (#34) * Add Ukrainian translation (#37) * Updating PTBR translation for v0.3.0 (#38) Atualizando para a versão 0.3.0 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Add missing 0.3.0 Ukrainian strings (#42) (additionally mention Ukrainian translation in changelog) * feat(data): migrate preference storage from DataStore to Room (#43) - Replaced Jetpack DataStore with Room (SQLite) to resolve persistence instability and file locking issues observed on HyperOS devices during boot. - Implemented `AppDatabase`, `SettingsDao`, and `AppSetting` entity to store key-value pairs reliably. - Rewrote `AppPreferences` to interface with the database while maintaining the existing Flow API for the UI. - Added a one-time migration mechanism in `AppPreferences` to automatically transfer existing settings from the legacy DataStore file to the new Room database, ensuring no data loss for current users. - Updated build configuration to include KSP and Room dependencies, and resolved dependency conflicts. Closes #40 * fix(service): enable blocked terms filtering logic - Connected the Blocked Terms data layer to the `NotificationReaderService`. - Previously, terms defined in the UI were saved but ignored by the service. - Implemented Global Blocklist check in `isJunkNotification` (Synchronous) to drop spam immediately. - Implemented App-Specific Blocklist check in `processAndPost` (Asynchronous) to handle per-app spoiler protection. Closes #6, Closes #39 * Updated changelog to add support for Ukrainian * Fixed text buttons and custom actions. * feat(app): add backup system, language selector, and UI refresh - **Backup & Restore**: Implemented a complete system to export/import settings, blocklists, and priorities via `.hbr` JSON files. - **Localization**: Added an in-app Language Selector and support for German (de) and Russian (ru). - **UI Overhaul**: Updated the entire settings and onboarding experience to **Material 3 Expressive** design (Large Top Bars, increased roundness, surface colors). - **Onboarding**: Added a Privacy Page explaining offline architecture and improved HyperOS 3.0 compatibility checks. - **Fixes**: Resolved Navigation "Exit" button rendering as an icon instead of text, and fixed App Icon loading in the Settings screen. - **Changelog**: Updated release notes for v0.3.1. Closes #41 * Feature/ru de language (#52) * Dev (#47) * Add Brazilian Portuguese translation (#14) (#16) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(nav): add layout customization and fix text alignment (#18) - Added `NavCustomizationScreen` with live preview to configure Navigation Island layout. - Implemented options to customize Left/Right content (Instruction, Distance, ETA) globally or per app. - Fixed text misalignment bug caused by newline characters in notification extras. - Updated `NavTranslator` to sanitize inputs and respect new layout configs. - Added Spanish translations for new settings. Closes #4 * Add Brazilian Portuguese translation (#14) (#22) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(a11y): improve TalkBack support and semantic navigation (#24) - Implemented custom accessibility actions for the App Priority List (Move Up/Down) to allow reordering without drag gestures. - Added dynamic content descriptions to App List switches and buttons (e.g., "Toggle [App Name]" instead of just "Switch"). - Marked settings group titles as Semantic Headings for faster screen reader navigation. - Added state descriptions to the Navigation Layout Preview to describe the current configuration audibly. - Improved labeling for expand/collapse actions in the Version History screen. - Fixed missing content descriptions on navigation and edit icon buttons. Closes #17 * fix(service): ignore notifications showing package name as content (#28) - Implemented strict check in `isJunkNotification` to block notifications where Title or Text equals the Package Name. - This prevents 'placeholder' notifications (e.g. 'com.whatsapp') from overwriting valid content on the Island. - Logs ignored placeholders for debugging. Closes #7 * fix(deps): downgrade DataStore to resolve boot persistence issues (#29) - Downgraded `androidx.datastore:datastore-preferences` from 1.2.0 to 1.1.7. - The 1.2.0 update introduced a regression on HyperOS/MIUI devices where preference files were not readable immediately after boot, causing the app to reset to the Onboarding screen and lose saved configurations. - Reverting to the stable 1.1.x release restores reliable data persistence across reboots. Closes #5 * Updating PTBR translation (#30) Atualização da tradução com a versão mais recente da branch 'dev' * Added Korean translation (#26) * fix(service): ignore placeholder notifications containing package name (#31) - Updated `isJunkNotification` logic in `NotificationReaderService`. - Now filters out notifications where the Title or Text contains the package name (case-insensitive), rather than just exact matches. - This prevents the Dynamic Island from displaying raw package strings (e.g., "com.whatsapp checking...") during background updates. Closes #7 * feat(blocklist): add spoiler and privacy protection and redesign config sheet (#32) - Implemented Blocked Terms logic: Users can now define words to block globally or per-app to prevent spoilers or unwanted notifications. - Redesigned `AppConfigBottomSheet`: Replaced the tabbed layout with a vertical list using expandable cards. This fixes the "bouncy" animation issues when switching sections. - Added `GlobalBlocklistScreen` as a central hub for managing filters. - Added `BlocklistAppListScreen` to configure rules for specific apps, displaying active rule counts per app. - Updated `NotificationReaderService` to filter notifications based on effective blocked terms (Global + App Specific). - Standardized UI: App list items in the blocklist settings now use consistent Card styling. Closes #6 * fix(ui): update library and clarify settings UX - Updated `hyperisland-kit` to 0.3.3 to resolve Issue #9 (Shade visibility bug). - Redesigned `IslandSettingsControl`: - Updated text descriptions to clearly explain 'Float' (Heads-up) vs 'Shade' (System Panel) behavior. - Improved Timeout Slider: Now displays seconds (0-10s) clearly in the header and uses full width for easier adjustment. - Updated English and Spanish translations. Closes #9 * feat(onboarding): enforce HyperOS 3 requirement and improve device info - Updated `CompatibilityPage` to strictly block the "Next" button if the OS is older than HyperOS 3.0. - Added logic to `DeviceUtils` to detect HyperOS 3.0 on Android 15 (API 35) to future-proof against base OS updates. - Implemented `getDeviceMarketName` to display readable model names (e.g., "Xiaomi 14") instead of model codes. - Added a specific UI warning for users on China ROMs regarding potential stability issues. - Updated the Autostart permission description to clarify that the app cannot automatically verify if the permission is granted. Closes #11 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Update PL translation for 0.3.0 (#34) * Add Ukrainian translation (#37) * Updating PTBR translation for v0.3.0 (#38) Atualizando para a versão 0.3.0 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Add missing 0.3.0 Ukrainian strings (#42) (additionally mention Ukrainian translation in changelog) * feat(data): migrate preference storage from DataStore to Room (#43) - Replaced Jetpack DataStore with Room (SQLite) to resolve persistence instability and file locking issues observed on HyperOS devices during boot. - Implemented `AppDatabase`, `SettingsDao`, and `AppSetting` entity to store key-value pairs reliably. - Rewrote `AppPreferences` to interface with the database while maintaining the existing Flow API for the UI. - Added a one-time migration mechanism in `AppPreferences` to automatically transfer existing settings from the legacy DataStore file to the new Room database, ensuring no data loss for current users. - Updated build configuration to include KSP and Room dependencies, and resolved dependency conflicts. Closes #40 * fix(service): enable blocked terms filtering logic - Connected the Blocked Terms data layer to the `NotificationReaderService`. - Previously, terms defined in the UI were saved but ignored by the service. - Implemented Global Blocklist check in `isJunkNotification` (Synchronous) to drop spam immediately. - Implemented App-Specific Blocklist check in `processAndPost` (Asynchronous) to handle per-app spoiler protection. Closes #6, Closes #39 * Updated changelog to add support for Ukrainian * Fixed text buttons and custom actions. --------- Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> Co-authored-by: AlexKoala <alexkoala@alexkoala.com> Co-authored-by: Kacper Skrzypek <kacper@miuipolska.pl> Co-authored-by: Denys <80550709+ItzDFPlayer@users.noreply.github.com> * Update README with new features and localization info Enhanced features section with new capabilities and improved language support. * Add files * Add Russian localization strings Added Russian localization strings for the application. * Update * Update * Update * Update * Update * Update 2 * Update 2 * Update 2 * Update 2 * Add German localization to strings.xml Added German localization strings for the app. * Korean translation addition * Update 2 * u * Add German translations * Delete app/src/main/res/values-deu directory * Update 2 * Update strings.xml * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml Removed Russian and German language options from the strings. * Update strings.xml Removed Russian and German language options from the strings. * Update strings.xml * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml * -</resources> Updated privacy strings to clarify offline processing and security. * Update Ukrainian Added new strings for privacy settings, backup options, and language selection in the Ukrainian localization. * Update Russian * Update Português Brasileiro Added new strings for privacy, backup, and language settings. * Update polski Added new strings for privacy, language options, backup, and UI updates. * Fix polski Corrected the capitalization of language names in Polish localization. * Update Korean Added Korean localization strings for backup, privacy, and optimization features. * fix español Updated privacy title and description strings in Spanish. * Update Deutsch * fix Polish --------- Co-authored-by: David Df <dominguezfondodavid@gmail.com> Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> Co-authored-by: AlexKoala <alexkoala@alexkoala.com> Co-authored-by: Kacper Skrzypek <kacper@miuipolska.pl> Co-authored-by: Denys <80550709+ItzDFPlayer@users.noreply.github.com> * Added Russian and German to the language selector. Fixed strings tags * Feature/ru de language (#54) * Dev (#47) * Add Brazilian Portuguese translation (#14) (#16) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(nav): add layout customization and fix text alignment (#18) - Added `NavCustomizationScreen` with live preview to configure Navigation Island layout. - Implemented options to customize Left/Right content (Instruction, Distance, ETA) globally or per app. - Fixed text misalignment bug caused by newline characters in notification extras. - Updated `NavTranslator` to sanitize inputs and respect new layout configs. - Added Spanish translations for new settings. Closes #4 * Add Brazilian Portuguese translation (#14) (#22) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(a11y): improve TalkBack support and semantic navigation (#24) - Implemented custom accessibility actions for the App Priority List (Move Up/Down) to allow reordering without drag gestures. - Added dynamic content descriptions to App List switches and buttons (e.g., "Toggle [App Name]" instead of just "Switch"). - Marked settings group titles as Semantic Headings for faster screen reader navigation. - Added state descriptions to the Navigation Layout Preview to describe the current configuration audibly. - Improved labeling for expand/collapse actions in the Version History screen. - Fixed missing content descriptions on navigation and edit icon buttons. Closes #17 * fix(service): ignore notifications showing package name as content (#28) - Implemented strict check in `isJunkNotification` to block notifications where Title or Text equals the Package Name. - This prevents 'placeholder' notifications (e.g. 'com.whatsapp') from overwriting valid content on the Island. - Logs ignored placeholders for debugging. Closes #7 * fix(deps): downgrade DataStore to resolve boot persistence issues (#29) - Downgraded `androidx.datastore:datastore-preferences` from 1.2.0 to 1.1.7. - The 1.2.0 update introduced a regression on HyperOS/MIUI devices where preference files were not readable immediately after boot, causing the app to reset to the Onboarding screen and lose saved configurations. - Reverting to the stable 1.1.x release restores reliable data persistence across reboots. Closes #5 * Updating PTBR translation (#30) Atualização da tradução com a versão mais recente da branch 'dev' * Added Korean translation (#26) * fix(service): ignore placeholder notifications containing package name (#31) - Updated `isJunkNotification` logic in `NotificationReaderService`. - Now filters out notifications where the Title or Text contains the package name (case-insensitive), rather than just exact matches. - This prevents the Dynamic Island from displaying raw package strings (e.g., "com.whatsapp checking...") during background updates. Closes #7 * feat(blocklist): add spoiler and privacy protection and redesign config sheet (#32) - Implemented Blocked Terms logic: Users can now define words to block globally or per-app to prevent spoilers or unwanted notifications. - Redesigned `AppConfigBottomSheet`: Replaced the tabbed layout with a vertical list using expandable cards. This fixes the "bouncy" animation issues when switching sections. - Added `GlobalBlocklistScreen` as a central hub for managing filters. - Added `BlocklistAppListScreen` to configure rules for specific apps, displaying active rule counts per app. - Updated `NotificationReaderService` to filter notifications based on effective blocked terms (Global + App Specific). - Standardized UI: App list items in the blocklist settings now use consistent Card styling. Closes #6 * fix(ui): update library and clarify settings UX - Updated `hyperisland-kit` to 0.3.3 to resolve Issue #9 (Shade visibility bug). - Redesigned `IslandSettingsControl`: - Updated text descriptions to clearly explain 'Float' (Heads-up) vs 'Shade' (System Panel) behavior. - Improved Timeout Slider: Now displays seconds (0-10s) clearly in the header and uses full width for easier adjustment. - Updated English and Spanish translations. Closes #9 * feat(onboarding): enforce HyperOS 3 requirement and improve device info - Updated `CompatibilityPage` to strictly block the "Next" button if the OS is older than HyperOS 3.0. - Added logic to `DeviceUtils` to detect HyperOS 3.0 on Android 15 (API 35) to future-proof against base OS updates. - Implemented `getDeviceMarketName` to display readable model names (e.g., "Xiaomi 14") instead of model codes. - Added a specific UI warning for users on China ROMs regarding potential stability issues. - Updated the Autostart permission description to clarify that the app cannot automatically verify if the permission is granted. Closes #11 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Update PL translation for 0.3.0 (#34) * Add Ukrainian translation (#37) * Updating PTBR translation for v0.3.0 (#38) Atualizando para a versão 0.3.0 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Add missing 0.3.0 Ukrainian strings (#42) (additionally mention Ukrainian translation in changelog) * feat(data): migrate preference storage from DataStore to Room (#43) - Replaced Jetpack DataStore with Room (SQLite) to resolve persistence instability and file locking issues observed on HyperOS devices during boot. - Implemented `AppDatabase`, `SettingsDao`, and `AppSetting` entity to store key-value pairs reliably. - Rewrote `AppPreferences` to interface with the database while maintaining the existing Flow API for the UI. - Added a one-time migration mechanism in `AppPreferences` to automatically transfer existing settings from the legacy DataStore file to the new Room database, ensuring no data loss for current users. - Updated build configuration to include KSP and Room dependencies, and resolved dependency conflicts. Closes #40 * fix(service): enable blocked terms filtering logic - Connected the Blocked Terms data layer to the `NotificationReaderService`. - Previously, terms defined in the UI were saved but ignored by the service. - Implemented Global Blocklist check in `isJunkNotification` (Synchronous) to drop spam immediately. - Implemented App-Specific Blocklist check in `processAndPost` (Asynchronous) to handle per-app spoiler protection. Closes #6, Closes #39 * Updated changelog to add support for Ukrainian * Fixed text buttons and custom actions. --------- Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> Co-authored-by: AlexKoala <alexkoala@alexkoala.com> Co-authored-by: Kacper Skrzypek <kacper@miuipolska.pl> Co-authored-by: Denys <80550709+ItzDFPlayer@users.noreply.github.com> * Update README with new features and localization info Enhanced features section with new capabilities and improved language support. * Add files * Add Russian localization strings Added Russian localization strings for the application. * Update * Update * Update * Update * Update * Update 2 * Update 2 * Update 2 * Update 2 * Add German localization to strings.xml Added German localization strings for the app. * Korean translation addition * Update 2 * u * Add German translations * Delete app/src/main/res/values-deu directory * Update 2 * Update strings.xml * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml Removed Russian and German language options from the strings. * Update strings.xml Removed Russian and German language options from the strings. * Update strings.xml * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml * -</resources> Updated privacy strings to clarify offline processing and security. * Update Ukrainian Added new strings for privacy settings, backup options, and language selection in the Ukrainian localization. * Update Russian * Update Português Brasileiro Added new strings for privacy, backup, and language settings. * Update polski Added new strings for privacy, language options, backup, and UI updates. * Fix polski Corrected the capitalization of language names in Polish localization. * Update Korean Added Korean localization strings for backup, privacy, and optimization features. * fix español Updated privacy title and description strings in Spanish. * Update Deutsch * fix Polish * de fix * ru fix * uk fix --------- Co-authored-by: David Df <dominguezfondodavid@gmail.com> Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> Co-authored-by: AlexKoala <alexkoala@alexkoala.com> Co-authored-by: Kacper Skrzypek <kacper@miuipolska.pl> Co-authored-by: Denys <80550709+ItzDFPlayer@users.noreply.github.com> * fix(app): Fixed bold tags on russian strings.xml and updated the AppListItem.kt behaviour * fix(app): Fixed language * fix(app): fixed log modal --------- Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> Co-authored-by: AlexKoala <alexkoala@alexkoala.com> Co-authored-by: Kacper Skrzypek <kacper@miuipolska.pl> Co-authored-by: Denys <80550709+ItzDFPlayer@users.noreply.github.com> Co-authored-by: kilo3528 <71942463+kilo3528@users.noreply.github.com>
D4vidDf
added a commit
that referenced
this pull request
Dec 15, 2025
* Dev (#47) * Add Brazilian Portuguese translation (#14) (#16) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(nav): add layout customization and fix text alignment (#18) - Added `NavCustomizationScreen` with live preview to configure Navigation Island layout. - Implemented options to customize Left/Right content (Instruction, Distance, ETA) globally or per app. - Fixed text misalignment bug caused by newline characters in notification extras. - Updated `NavTranslator` to sanitize inputs and respect new layout configs. - Added Spanish translations for new settings. Closes #4 * Add Brazilian Portuguese translation (#14) (#22) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(a11y): improve TalkBack support and semantic navigation (#24) - Implemented custom accessibility actions for the App Priority List (Move Up/Down) to allow reordering without drag gestures. - Added dynamic content descriptions to App List switches and buttons (e.g., "Toggle [App Name]" instead of just "Switch"). - Marked settings group titles as Semantic Headings for faster screen reader navigation. - Added state descriptions to the Navigation Layout Preview to describe the current configuration audibly. - Improved labeling for expand/collapse actions in the Version History screen. - Fixed missing content descriptions on navigation and edit icon buttons. Closes #17 * fix(service): ignore notifications showing package name as content (#28) - Implemented strict check in `isJunkNotification` to block notifications where Title or Text equals the Package Name. - This prevents 'placeholder' notifications (e.g. 'com.whatsapp') from overwriting valid content on the Island. - Logs ignored placeholders for debugging. Closes #7 * fix(deps): downgrade DataStore to resolve boot persistence issues (#29) - Downgraded `androidx.datastore:datastore-preferences` from 1.2.0 to 1.1.7. - The 1.2.0 update introduced a regression on HyperOS/MIUI devices where preference files were not readable immediately after boot, causing the app to reset to the Onboarding screen and lose saved configurations. - Reverting to the stable 1.1.x release restores reliable data persistence across reboots. Closes #5 * Updating PTBR translation (#30) Atualização da tradução com a versão mais recente da branch 'dev' * Added Korean translation (#26) * fix(service): ignore placeholder notifications containing package name (#31) - Updated `isJunkNotification` logic in `NotificationReaderService`. - Now filters out notifications where the Title or Text contains the package name (case-insensitive), rather than just exact matches. - This prevents the Dynamic Island from displaying raw package strings (e.g., "com.whatsapp checking...") during background updates. Closes #7 * feat(blocklist): add spoiler and privacy protection and redesign config sheet (#32) - Implemented Blocked Terms logic: Users can now define words to block globally or per-app to prevent spoilers or unwanted notifications. - Redesigned `AppConfigBottomSheet`: Replaced the tabbed layout with a vertical list using expandable cards. This fixes the "bouncy" animation issues when switching sections. - Added `GlobalBlocklistScreen` as a central hub for managing filters. - Added `BlocklistAppListScreen` to configure rules for specific apps, displaying active rule counts per app. - Updated `NotificationReaderService` to filter notifications based on effective blocked terms (Global + App Specific). - Standardized UI: App list items in the blocklist settings now use consistent Card styling. Closes #6 * fix(ui): update library and clarify settings UX - Updated `hyperisland-kit` to 0.3.3 to resolve Issue #9 (Shade visibility bug). - Redesigned `IslandSettingsControl`: - Updated text descriptions to clearly explain 'Float' (Heads-up) vs 'Shade' (System Panel) behavior. - Improved Timeout Slider: Now displays seconds (0-10s) clearly in the header and uses full width for easier adjustment. - Updated English and Spanish translations. Closes #9 * feat(onboarding): enforce HyperOS 3 requirement and improve device info - Updated `CompatibilityPage` to strictly block the "Next" button if the OS is older than HyperOS 3.0. - Added logic to `DeviceUtils` to detect HyperOS 3.0 on Android 15 (API 35) to future-proof against base OS updates. - Implemented `getDeviceMarketName` to display readable model names (e.g., "Xiaomi 14") instead of model codes. - Added a specific UI warning for users on China ROMs regarding potential stability issues. - Updated the Autostart permission description to clarify that the app cannot automatically verify if the permission is granted. Closes #11 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Update PL translation for 0.3.0 (#34) * Add Ukrainian translation (#37) * Updating PTBR translation for v0.3.0 (#38) Atualizando para a versão 0.3.0 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Add missing 0.3.0 Ukrainian strings (#42) (additionally mention Ukrainian translation in changelog) * feat(data): migrate preference storage from DataStore to Room (#43) - Replaced Jetpack DataStore with Room (SQLite) to resolve persistence instability and file locking issues observed on HyperOS devices during boot. - Implemented `AppDatabase`, `SettingsDao`, and `AppSetting` entity to store key-value pairs reliably. - Rewrote `AppPreferences` to interface with the database while maintaining the existing Flow API for the UI. - Added a one-time migration mechanism in `AppPreferences` to automatically transfer existing settings from the legacy DataStore file to the new Room database, ensuring no data loss for current users. - Updated build configuration to include KSP and Room dependencies, and resolved dependency conflicts. Closes #40 * fix(service): enable blocked terms filtering logic - Connected the Blocked Terms data layer to the `NotificationReaderService`. - Previously, terms defined in the UI were saved but ignored by the service. - Implemented Global Blocklist check in `isJunkNotification` (Synchronous) to drop spam immediately. - Implemented App-Specific Blocklist check in `processAndPost` (Asynchronous) to handle per-app spoiler protection. Closes #6, Closes #39 * Updated changelog to add support for Ukrainian * Fixed text buttons and custom actions. --------- Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> Co-authored-by: AlexKoala <alexkoala@alexkoala.com> Co-authored-by: Kacper Skrzypek <kacper@miuipolska.pl> Co-authored-by: Denys <80550709+ItzDFPlayer@users.noreply.github.com> * Update README with new features and localization info Enhanced features section with new capabilities and improved language support. * Dev (#57) * Add Brazilian Portuguese translation (#14) (#16) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(nav): add layout customization and fix text alignment (#18) - Added `NavCustomizationScreen` with live preview to configure Navigation Island layout. - Implemented options to customize Left/Right content (Instruction, Distance, ETA) globally or per app. - Fixed text misalignment bug caused by newline characters in notification extras. - Updated `NavTranslator` to sanitize inputs and respect new layout configs. - Added Spanish translations for new settings. Closes #4 * Add Brazilian Portuguese translation (#14) (#22) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(a11y): improve TalkBack support and semantic navigation (#24) - Implemented custom accessibility actions for the App Priority List (Move Up/Down) to allow reordering without drag gestures. - Added dynamic content descriptions to App List switches and buttons (e.g., "Toggle [App Name]" instead of just "Switch"). - Marked settings group titles as Semantic Headings for faster screen reader navigation. - Added state descriptions to the Navigation Layout Preview to describe the current configuration audibly. - Improved labeling for expand/collapse actions in the Version History screen. - Fixed missing content descriptions on navigation and edit icon buttons. Closes #17 * fix(service): ignore notifications showing package name as content (#28) - Implemented strict check in `isJunkNotification` to block notifications where Title or Text equals the Package Name. - This prevents 'placeholder' notifications (e.g. 'com.whatsapp') from overwriting valid content on the Island. - Logs ignored placeholders for debugging. Closes #7 * fix(deps): downgrade DataStore to resolve boot persistence issues (#29) - Downgraded `androidx.datastore:datastore-preferences` from 1.2.0 to 1.1.7. - The 1.2.0 update introduced a regression on HyperOS/MIUI devices where preference files were not readable immediately after boot, causing the app to reset to the Onboarding screen and lose saved configurations. - Reverting to the stable 1.1.x release restores reliable data persistence across reboots. Closes #5 * Updating PTBR translation (#30) Atualização da tradução com a versão mais recente da branch 'dev' * Added Korean translation (#26) * fix(service): ignore placeholder notifications containing package name (#31) - Updated `isJunkNotification` logic in `NotificationReaderService`. - Now filters out notifications where the Title or Text contains the package name (case-insensitive), rather than just exact matches. - This prevents the Dynamic Island from displaying raw package strings (e.g., "com.whatsapp checking...") during background updates. Closes #7 * feat(blocklist): add spoiler and privacy protection and redesign config sheet (#32) - Implemented Blocked Terms logic: Users can now define words to block globally or per-app to prevent spoilers or unwanted notifications. - Redesigned `AppConfigBottomSheet`: Replaced the tabbed layout with a vertical list using expandable cards. This fixes the "bouncy" animation issues when switching sections. - Added `GlobalBlocklistScreen` as a central hub for managing filters. - Added `BlocklistAppListScreen` to configure rules for specific apps, displaying active rule counts per app. - Updated `NotificationReaderService` to filter notifications based on effective blocked terms (Global + App Specific). - Standardized UI: App list items in the blocklist settings now use consistent Card styling. Closes #6 * fix(ui): update library and clarify settings UX - Updated `hyperisland-kit` to 0.3.3 to resolve Issue #9 (Shade visibility bug). - Redesigned `IslandSettingsControl`: - Updated text descriptions to clearly explain 'Float' (Heads-up) vs 'Shade' (System Panel) behavior. - Improved Timeout Slider: Now displays seconds (0-10s) clearly in the header and uses full width for easier adjustment. - Updated English and Spanish translations. Closes #9 * feat(onboarding): enforce HyperOS 3 requirement and improve device info - Updated `CompatibilityPage` to strictly block the "Next" button if the OS is older than HyperOS 3.0. - Added logic to `DeviceUtils` to detect HyperOS 3.0 on Android 15 (API 35) to future-proof against base OS updates. - Implemented `getDeviceMarketName` to display readable model names (e.g., "Xiaomi 14") instead of model codes. - Added a specific UI warning for users on China ROMs regarding potential stability issues. - Updated the Autostart permission description to clarify that the app cannot automatically verify if the permission is granted. Closes #11 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Update PL translation for 0.3.0 (#34) * Add Ukrainian translation (#37) * Updating PTBR translation for v0.3.0 (#38) Atualizando para a versão 0.3.0 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Add missing 0.3.0 Ukrainian strings (#42) (additionally mention Ukrainian translation in changelog) * feat(data): migrate preference storage from DataStore to Room (#43) - Replaced Jetpack DataStore with Room (SQLite) to resolve persistence instability and file locking issues observed on HyperOS devices during boot. - Implemented `AppDatabase`, `SettingsDao`, and `AppSetting` entity to store key-value pairs reliably. - Rewrote `AppPreferences` to interface with the database while maintaining the existing Flow API for the UI. - Added a one-time migration mechanism in `AppPreferences` to automatically transfer existing settings from the legacy DataStore file to the new Room database, ensuring no data loss for current users. - Updated build configuration to include KSP and Room dependencies, and resolved dependency conflicts. Closes #40 * fix(service): enable blocked terms filtering logic - Connected the Blocked Terms data layer to the `NotificationReaderService`. - Previously, terms defined in the UI were saved but ignored by the service. - Implemented Global Blocklist check in `isJunkNotification` (Synchronous) to drop spam immediately. - Implemented App-Specific Blocklist check in `processAndPost` (Asynchronous) to handle per-app spoiler protection. Closes #6, Closes #39 * Updated changelog to add support for Ukrainian * Fixed text buttons and custom actions. * feat(app): add backup system, language selector, and UI refresh - **Backup & Restore**: Implemented a complete system to export/import settings, blocklists, and priorities via `.hbr` JSON files. - **Localization**: Added an in-app Language Selector and support for German (de) and Russian (ru). - **UI Overhaul**: Updated the entire settings and onboarding experience to **Material 3 Expressive** design (Large Top Bars, increased roundness, surface colors). - **Onboarding**: Added a Privacy Page explaining offline architecture and improved HyperOS 3.0 compatibility checks. - **Fixes**: Resolved Navigation "Exit" button rendering as an icon instead of text, and fixed App Icon loading in the Settings screen. - **Changelog**: Updated release notes for v0.3.1. Closes #41 * Feature/ru de language (#52) * Dev (#47) * Add Brazilian Portuguese translation (#14) (#16) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(nav): add layout customization and fix text alignment (#18) - Added `NavCustomizationScreen` with live preview to configure Navigation Island layout. - Implemented options to customize Left/Right content (Instruction, Distance, ETA) globally or per app. - Fixed text misalignment bug caused by newline characters in notification extras. - Updated `NavTranslator` to sanitize inputs and respect new layout configs. - Added Spanish translations for new settings. Closes #4 * Add Brazilian Portuguese translation (#14) (#22) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(a11y): improve TalkBack support and semantic navigation (#24) - Implemented custom accessibility actions for the App Priority List (Move Up/Down) to allow reordering without drag gestures. - Added dynamic content descriptions to App List switches and buttons (e.g., "Toggle [App Name]" instead of just "Switch"). - Marked settings group titles as Semantic Headings for faster screen reader navigation. - Added state descriptions to the Navigation Layout Preview to describe the current configuration audibly. - Improved labeling for expand/collapse actions in the Version History screen. - Fixed missing content descriptions on navigation and edit icon buttons. Closes #17 * fix(service): ignore notifications showing package name as content (#28) - Implemented strict check in `isJunkNotification` to block notifications where Title or Text equals the Package Name. - This prevents 'placeholder' notifications (e.g. 'com.whatsapp') from overwriting valid content on the Island. - Logs ignored placeholders for debugging. Closes #7 * fix(deps): downgrade DataStore to resolve boot persistence issues (#29) - Downgraded `androidx.datastore:datastore-preferences` from 1.2.0 to 1.1.7. - The 1.2.0 update introduced a regression on HyperOS/MIUI devices where preference files were not readable immediately after boot, causing the app to reset to the Onboarding screen and lose saved configurations. - Reverting to the stable 1.1.x release restores reliable data persistence across reboots. Closes #5 * Updating PTBR translation (#30) Atualização da tradução com a versão mais recente da branch 'dev' * Added Korean translation (#26) * fix(service): ignore placeholder notifications containing package name (#31) - Updated `isJunkNotification` logic in `NotificationReaderService`. - Now filters out notifications where the Title or Text contains the package name (case-insensitive), rather than just exact matches. - This prevents the Dynamic Island from displaying raw package strings (e.g., "com.whatsapp checking...") during background updates. Closes #7 * feat(blocklist): add spoiler and privacy protection and redesign config sheet (#32) - Implemented Blocked Terms logic: Users can now define words to block globally or per-app to prevent spoilers or unwanted notifications. - Redesigned `AppConfigBottomSheet`: Replaced the tabbed layout with a vertical list using expandable cards. This fixes the "bouncy" animation issues when switching sections. - Added `GlobalBlocklistScreen` as a central hub for managing filters. - Added `BlocklistAppListScreen` to configure rules for specific apps, displaying active rule counts per app. - Updated `NotificationReaderService` to filter notifications based on effective blocked terms (Global + App Specific). - Standardized UI: App list items in the blocklist settings now use consistent Card styling. Closes #6 * fix(ui): update library and clarify settings UX - Updated `hyperisland-kit` to 0.3.3 to resolve Issue #9 (Shade visibility bug). - Redesigned `IslandSettingsControl`: - Updated text descriptions to clearly explain 'Float' (Heads-up) vs 'Shade' (System Panel) behavior. - Improved Timeout Slider: Now displays seconds (0-10s) clearly in the header and uses full width for easier adjustment. - Updated English and Spanish translations. Closes #9 * feat(onboarding): enforce HyperOS 3 requirement and improve device info - Updated `CompatibilityPage` to strictly block the "Next" button if the OS is older than HyperOS 3.0. - Added logic to `DeviceUtils` to detect HyperOS 3.0 on Android 15 (API 35) to future-proof against base OS updates. - Implemented `getDeviceMarketName` to display readable model names (e.g., "Xiaomi 14") instead of model codes. - Added a specific UI warning for users on China ROMs regarding potential stability issues. - Updated the Autostart permission description to clarify that the app cannot automatically verify if the permission is granted. Closes #11 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Update PL translation for 0.3.0 (#34) * Add Ukrainian translation (#37) * Updating PTBR translation for v0.3.0 (#38) Atualizando para a versão 0.3.0 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Add missing 0.3.0 Ukrainian strings (#42) (additionally mention Ukrainian translation in changelog) * feat(data): migrate preference storage from DataStore to Room (#43) - Replaced Jetpack DataStore with Room (SQLite) to resolve persistence instability and file locking issues observed on HyperOS devices during boot. - Implemented `AppDatabase`, `SettingsDao`, and `AppSetting` entity to store key-value pairs reliably. - Rewrote `AppPreferences` to interface with the database while maintaining the existing Flow API for the UI. - Added a one-time migration mechanism in `AppPreferences` to automatically transfer existing settings from the legacy DataStore file to the new Room database, ensuring no data loss for current users. - Updated build configuration to include KSP and Room dependencies, and resolved dependency conflicts. Closes #40 * fix(service): enable blocked terms filtering logic - Connected the Blocked Terms data layer to the `NotificationReaderService`. - Previously, terms defined in the UI were saved but ignored by the service. - Implemented Global Blocklist check in `isJunkNotification` (Synchronous) to drop spam immediately. - Implemented App-Specific Blocklist check in `processAndPost` (Asynchronous) to handle per-app spoiler protection. Closes #6, Closes #39 * Updated changelog to add support for Ukrainian * Fixed text buttons and custom actions. --------- Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> Co-authored-by: AlexKoala <alexkoala@alexkoala.com> Co-authored-by: Kacper Skrzypek <kacper@miuipolska.pl> Co-authored-by: Denys <80550709+ItzDFPlayer@users.noreply.github.com> * Update README with new features and localization info Enhanced features section with new capabilities and improved language support. * Add files * Add Russian localization strings Added Russian localization strings for the application. * Update * Update * Update * Update * Update * Update 2 * Update 2 * Update 2 * Update 2 * Add German localization to strings.xml Added German localization strings for the app. * Korean translation addition * Update 2 * u * Add German translations * Delete app/src/main/res/values-deu directory * Update 2 * Update strings.xml * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml Removed Russian and German language options from the strings. * Update strings.xml Removed Russian and German language options from the strings. * Update strings.xml * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml * -</resources> Updated privacy strings to clarify offline processing and security. * Update Ukrainian Added new strings for privacy settings, backup options, and language selection in the Ukrainian localization. * Update Russian * Update Português Brasileiro Added new strings for privacy, backup, and language settings. * Update polski Added new strings for privacy, language options, backup, and UI updates. * Fix polski Corrected the capitalization of language names in Polish localization. * Update Korean Added Korean localization strings for backup, privacy, and optimization features. * fix español Updated privacy title and description strings in Spanish. * Update Deutsch * fix Polish --------- Co-authored-by: David Df <dominguezfondodavid@gmail.com> Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> Co-authored-by: AlexKoala <alexkoala@alexkoala.com> Co-authored-by: Kacper Skrzypek <kacper@miuipolska.pl> Co-authored-by: Denys <80550709+ItzDFPlayer@users.noreply.github.com> * Added Russian and German to the language selector. Fixed strings tags * Feature/ru de language (#54) * Dev (#47) * Add Brazilian Portuguese translation (#14) (#16) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(nav): add layout customization and fix text alignment (#18) - Added `NavCustomizationScreen` with live preview to configure Navigation Island layout. - Implemented options to customize Left/Right content (Instruction, Distance, ETA) globally or per app. - Fixed text misalignment bug caused by newline characters in notification extras. - Updated `NavTranslator` to sanitize inputs and respect new layout configs. - Added Spanish translations for new settings. Closes #4 * Add Brazilian Portuguese translation (#14) (#22) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(a11y): improve TalkBack support and semantic navigation (#24) - Implemented custom accessibility actions for the App Priority List (Move Up/Down) to allow reordering without drag gestures. - Added dynamic content descriptions to App List switches and buttons (e.g., "Toggle [App Name]" instead of just "Switch"). - Marked settings group titles as Semantic Headings for faster screen reader navigation. - Added state descriptions to the Navigation Layout Preview to describe the current configuration audibly. - Improved labeling for expand/collapse actions in the Version History screen. - Fixed missing content descriptions on navigation and edit icon buttons. Closes #17 * fix(service): ignore notifications showing package name as content (#28) - Implemented strict check in `isJunkNotification` to block notifications where Title or Text equals the Package Name. - This prevents 'placeholder' notifications (e.g. 'com.whatsapp') from overwriting valid content on the Island. - Logs ignored placeholders for debugging. Closes #7 * fix(deps): downgrade DataStore to resolve boot persistence issues (#29) - Downgraded `androidx.datastore:datastore-preferences` from 1.2.0 to 1.1.7. - The 1.2.0 update introduced a regression on HyperOS/MIUI devices where preference files were not readable immediately after boot, causing the app to reset to the Onboarding screen and lose saved configurations. - Reverting to the stable 1.1.x release restores reliable data persistence across reboots. Closes #5 * Updating PTBR translation (#30) Atualização da tradução com a versão mais recente da branch 'dev' * Added Korean translation (#26) * fix(service): ignore placeholder notifications containing package name (#31) - Updated `isJunkNotification` logic in `NotificationReaderService`. - Now filters out notifications where the Title or Text contains the package name (case-insensitive), rather than just exact matches. - This prevents the Dynamic Island from displaying raw package strings (e.g., "com.whatsapp checking...") during background updates. Closes #7 * feat(blocklist): add spoiler and privacy protection and redesign config sheet (#32) - Implemented Blocked Terms logic: Users can now define words to block globally or per-app to prevent spoilers or unwanted notifications. - Redesigned `AppConfigBottomSheet`: Replaced the tabbed layout with a vertical list using expandable cards. This fixes the "bouncy" animation issues when switching sections. - Added `GlobalBlocklistScreen` as a central hub for managing filters. - Added `BlocklistAppListScreen` to configure rules for specific apps, displaying active rule counts per app. - Updated `NotificationReaderService` to filter notifications based on effective blocked terms (Global + App Specific). - Standardized UI: App list items in the blocklist settings now use consistent Card styling. Closes #6 * fix(ui): update library and clarify settings UX - Updated `hyperisland-kit` to 0.3.3 to resolve Issue #9 (Shade visibility bug). - Redesigned `IslandSettingsControl`: - Updated text descriptions to clearly explain 'Float' (Heads-up) vs 'Shade' (System Panel) behavior. - Improved Timeout Slider: Now displays seconds (0-10s) clearly in the header and uses full width for easier adjustment. - Updated English and Spanish translations. Closes #9 * feat(onboarding): enforce HyperOS 3 requirement and improve device info - Updated `CompatibilityPage` to strictly block the "Next" button if the OS is older than HyperOS 3.0. - Added logic to `DeviceUtils` to detect HyperOS 3.0 on Android 15 (API 35) to future-proof against base OS updates. - Implemented `getDeviceMarketName` to display readable model names (e.g., "Xiaomi 14") instead of model codes. - Added a specific UI warning for users on China ROMs regarding potential stability issues. - Updated the Autostart permission description to clarify that the app cannot automatically verify if the permission is granted. Closes #11 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Update PL translation for 0.3.0 (#34) * Add Ukrainian translation (#37) * Updating PTBR translation for v0.3.0 (#38) Atualizando para a versão 0.3.0 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Add missing 0.3.0 Ukrainian strings (#42) (additionally mention Ukrainian translation in changelog) * feat(data): migrate preference storage from DataStore to Room (#43) - Replaced Jetpack DataStore with Room (SQLite) to resolve persistence instability and file locking issues observed on HyperOS devices during boot. - Implemented `AppDatabase`, `SettingsDao`, and `AppSetting` entity to store key-value pairs reliably. - Rewrote `AppPreferences` to interface with the database while maintaining the existing Flow API for the UI. - Added a one-time migration mechanism in `AppPreferences` to automatically transfer existing settings from the legacy DataStore file to the new Room database, ensuring no data loss for current users. - Updated build configuration to include KSP and Room dependencies, and resolved dependency conflicts. Closes #40 * fix(service): enable blocked terms filtering logic - Connected the Blocked Terms data layer to the `NotificationReaderService`. - Previously, terms defined in the UI were saved but ignored by the service. - Implemented Global Blocklist check in `isJunkNotification` (Synchronous) to drop spam immediately. - Implemented App-Specific Blocklist check in `processAndPost` (Asynchronous) to handle per-app spoiler protection. Closes #6, Closes #39 * Updated changelog to add support for Ukrainian * Fixed text buttons and custom actions. --------- Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> Co-authored-by: AlexKoala <alexkoala@alexkoala.com> Co-authored-by: Kacper Skrzypek <kacper@miuipolska.pl> Co-authored-by: Denys <80550709+ItzDFPlayer@users.noreply.github.com> * Update README with new features and localization info Enhanced features section with new capabilities and improved language support. * Add files * Add Russian localization strings Added Russian localization strings for the application. * Update * Update * Update * Update * Update * Update 2 * Update 2 * Update 2 * Update 2 * Add German localization to strings.xml Added German localization strings for the app. * Korean translation addition * Update 2 * u * Add German translations * Delete app/src/main/res/values-deu directory * Update 2 * Update strings.xml * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml Removed Russian and German language options from the strings. * Update strings.xml Removed Russian and German language options from the strings. * Update strings.xml * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml * -</resources> Updated privacy strings to clarify offline processing and security. * Update Ukrainian Added new strings for privacy settings, backup options, and language selection in the Ukrainian localization. * Update Russian * Update Português Brasileiro Added new strings for privacy, backup, and language settings. * Update polski Added new strings for privacy, language options, backup, and UI updates. * Fix polski Corrected the capitalization of language names in Polish localization. * Update Korean Added Korean localization strings for backup, privacy, and optimization features. * fix español Updated privacy title and description strings in Spanish. * Update Deutsch * fix Polish * de fix * ru fix * uk fix --------- Co-authored-by: David Df <dominguezfondodavid@gmail.com> Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> Co-authored-by: AlexKoala <alexkoala@alexkoala.com> Co-authored-by: Kacper Skrzypek <kacper@miuipolska.pl> Co-authored-by: Denys <80550709+ItzDFPlayer@users.noreply.github.com> * fix(app): Fixed bold tags on russian strings.xml and updated the AppListItem.kt behaviour * fix(app): Fixed language * fix(app): fixed log modal --------- Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> Co-authored-by: AlexKoala <alexkoala@alexkoala.com> Co-authored-by: Kacper Skrzypek <kacper@miuipolska.pl> Co-authored-by: Denys <80550709+ItzDFPlayer@users.noreply.github.com> Co-authored-by: kilo3528 <71942463+kilo3528@users.noreply.github.com> --------- Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> Co-authored-by: AlexKoala <alexkoala@alexkoala.com> Co-authored-by: Kacper Skrzypek <kacper@miuipolska.pl> Co-authored-by: Denys <80550709+ItzDFPlayer@users.noreply.github.com> Co-authored-by: kilo3528 <71942463+kilo3528@users.noreply.github.com>
D4vidDf
added a commit
that referenced
this pull request
Jan 22, 2026
* Add Brazilian Portuguese translation (#14) (#16) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(nav): add layout customization and fix text alignment (#18) - Added `NavCustomizationScreen` with live preview to configure Navigation Island layout. - Implemented options to customize Left/Right content (Instruction, Distance, ETA) globally or per app. - Fixed text misalignment bug caused by newline characters in notification extras. - Updated `NavTranslator` to sanitize inputs and respect new layout configs. - Added Spanish translations for new settings. Closes #4 * Add Brazilian Portuguese translation (#14) (#22) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(a11y): improve TalkBack support and semantic navigation (#24) - Implemented custom accessibility actions for the App Priority List (Move Up/Down) to allow reordering without drag gestures. - Added dynamic content descriptions to App List switches and buttons (e.g., "Toggle [App Name]" instead of just "Switch"). - Marked settings group titles as Semantic Headings for faster screen reader navigation. - Added state descriptions to the Navigation Layout Preview to describe the current configuration audibly. - Improved labeling for expand/collapse actions in the Version History screen. - Fixed missing content descriptions on navigation and edit icon buttons. Closes #17 * fix(service): ignore notifications showing package name as content (#28) - Implemented strict check in `isJunkNotification` to block notifications where Title or Text equals the Package Name. - This prevents 'placeholder' notifications (e.g. 'com.whatsapp') from overwriting valid content on the Island. - Logs ignored placeholders for debugging. Closes #7 * fix(deps): downgrade DataStore to resolve boot persistence issues (#29) - Downgraded `androidx.datastore:datastore-preferences` from 1.2.0 to 1.1.7. - The 1.2.0 update introduced a regression on HyperOS/MIUI devices where preference files were not readable immediately after boot, causing the app to reset to the Onboarding screen and lose saved configurations. - Reverting to the stable 1.1.x release restores reliable data persistence across reboots. Closes #5 * Updating PTBR translation (#30) Atualização da tradução com a versão mais recente da branch 'dev' * Added Korean translation (#26) * fix(service): ignore placeholder notifications containing package name (#31) - Updated `isJunkNotification` logic in `NotificationReaderService`. - Now filters out notifications where the Title or Text contains the package name (case-insensitive), rather than just exact matches. - This prevents the Dynamic Island from displaying raw package strings (e.g., "com.whatsapp checking...") during background updates. Closes #7 * feat(blocklist): add spoiler and privacy protection and redesign config sheet (#32) - Implemented Blocked Terms logic: Users can now define words to block globally or per-app to prevent spoilers or unwanted notifications. - Redesigned `AppConfigBottomSheet`: Replaced the tabbed layout with a vertical list using expandable cards. This fixes the "bouncy" animation issues when switching sections. - Added `GlobalBlocklistScreen` as a central hub for managing filters. - Added `BlocklistAppListScreen` to configure rules for specific apps, displaying active rule counts per app. - Updated `NotificationReaderService` to filter notifications based on effective blocked terms (Global + App Specific). - Standardized UI: App list items in the blocklist settings now use consistent Card styling. Closes #6 * fix(ui): update library and clarify settings UX - Updated `hyperisland-kit` to 0.3.3 to resolve Issue #9 (Shade visibility bug). - Redesigned `IslandSettingsControl`: - Updated text descriptions to clearly explain 'Float' (Heads-up) vs 'Shade' (System Panel) behavior. - Improved Timeout Slider: Now displays seconds (0-10s) clearly in the header and uses full width for easier adjustment. - Updated English and Spanish translations. Closes #9 * feat(onboarding): enforce HyperOS 3 requirement and improve device info - Updated `CompatibilityPage` to strictly block the "Next" button if the OS is older than HyperOS 3.0. - Added logic to `DeviceUtils` to detect HyperOS 3.0 on Android 15 (API 35) to future-proof against base OS updates. - Implemented `getDeviceMarketName` to display readable model names (e.g., "Xiaomi 14") instead of model codes. - Added a specific UI warning for users on China ROMs regarding potential stability issues. - Updated the Autostart permission description to clarify that the app cannot automatically verify if the permission is granted. Closes #11 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Update PL translation for 0.3.0 (#34) * Add Ukrainian translation (#37) * Updating PTBR translation for v0.3.0 (#38) Atualizando para a versão 0.3.0 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Add missing 0.3.0 Ukrainian strings (#42) (additionally mention Ukrainian translation in changelog) * feat(data): migrate preference storage from DataStore to Room (#43) - Replaced Jetpack DataStore with Room (SQLite) to resolve persistence instability and file locking issues observed on HyperOS devices during boot. - Implemented `AppDatabase`, `SettingsDao`, and `AppSetting` entity to store key-value pairs reliably. - Rewrote `AppPreferences` to interface with the database while maintaining the existing Flow API for the UI. - Added a one-time migration mechanism in `AppPreferences` to automatically transfer existing settings from the legacy DataStore file to the new Room database, ensuring no data loss for current users. - Updated build configuration to include KSP and Room dependencies, and resolved dependency conflicts. Closes #40 * fix(service): enable blocked terms filtering logic - Connected the Blocked Terms data layer to the `NotificationReaderService`. - Previously, terms defined in the UI were saved but ignored by the service. - Implemented Global Blocklist check in `isJunkNotification` (Synchronous) to drop spam immediately. - Implemented App-Specific Blocklist check in `processAndPost` (Asynchronous) to handle per-app spoiler protection. Closes #6, Closes #39 * Updated changelog to add support for Ukrainian * Fixed text buttons and custom actions. * feat(app): add backup system, language selector, and UI refresh - **Backup & Restore**: Implemented a complete system to export/import settings, blocklists, and priorities via `.hbr` JSON files. - **Localization**: Added an in-app Language Selector and support for German (de) and Russian (ru). - **UI Overhaul**: Updated the entire settings and onboarding experience to **Material 3 Expressive** design (Large Top Bars, increased roundness, surface colors). - **Onboarding**: Added a Privacy Page explaining offline architecture and improved HyperOS 3.0 compatibility checks. - **Fixes**: Resolved Navigation "Exit" button rendering as an icon instead of text, and fixed App Icon loading in the Settings screen. - **Changelog**: Updated release notes for v0.3.1. Closes #41 * Feature/ru de language (#52) * Dev (#47) * Add Brazilian Portuguese translation (#14) (#16) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(nav): add layout customization and fix text alignment (#18) - Added `NavCustomizationScreen` with live preview to configure Navigation Island layout. - Implemented options to customize Left/Right content (Instruction, Distance, ETA) globally or per app. - Fixed text misalignment bug caused by newline characters in notification extras. - Updated `NavTranslator` to sanitize inputs and respect new layout configs. - Added Spanish translations for new settings. Closes #4 * Add Brazilian Portuguese translation (#14) (#22) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(a11y): improve TalkBack support and semantic navigation (#24) - Implemented custom accessibility actions for the App Priority List (Move Up/Down) to allow reordering without drag gestures. - Added dynamic content descriptions to App List switches and buttons (e.g., "Toggle [App Name]" instead of just "Switch"). - Marked settings group titles as Semantic Headings for faster screen reader navigation. - Added state descriptions to the Navigation Layout Preview to describe the current configuration audibly. - Improved labeling for expand/collapse actions in the Version History screen. - Fixed missing content descriptions on navigation and edit icon buttons. Closes #17 * fix(service): ignore notifications showing package name as content (#28) - Implemented strict check in `isJunkNotification` to block notifications where Title or Text equals the Package Name. - This prevents 'placeholder' notifications (e.g. 'com.whatsapp') from overwriting valid content on the Island. - Logs ignored placeholders for debugging. Closes #7 * fix(deps): downgrade DataStore to resolve boot persistence issues (#29) - Downgraded `androidx.datastore:datastore-preferences` from 1.2.0 to 1.1.7. - The 1.2.0 update introduced a regression on HyperOS/MIUI devices where preference files were not readable immediately after boot, causing the app to reset to the Onboarding screen and lose saved configurations. - Reverting to the stable 1.1.x release restores reliable data persistence across reboots. Closes #5 * Updating PTBR translation (#30) Atualização da tradução com a versão mais recente da branch 'dev' * Added Korean translation (#26) * fix(service): ignore placeholder notifications containing package name (#31) - Updated `isJunkNotification` logic in `NotificationReaderService`. - Now filters out notifications where the Title or Text contains the package name (case-insensitive), rather than just exact matches. - This prevents the Dynamic Island from displaying raw package strings (e.g., "com.whatsapp checking...") during background updates. Closes #7 * feat(blocklist): add spoiler and privacy protection and redesign config sheet (#32) - Implemented Blocked Terms logic: Users can now define words to block globally or per-app to prevent spoilers or unwanted notifications. - Redesigned `AppConfigBottomSheet`: Replaced the tabbed layout with a vertical list using expandable cards. This fixes the "bouncy" animation issues when switching sections. - Added `GlobalBlocklistScreen` as a central hub for managing filters. - Added `BlocklistAppListScreen` to configure rules for specific apps, displaying active rule counts per app. - Updated `NotificationReaderService` to filter notifications based on effective blocked terms (Global + App Specific). - Standardized UI: App list items in the blocklist settings now use consistent Card styling. Closes #6 * fix(ui): update library and clarify settings UX - Updated `hyperisland-kit` to 0.3.3 to resolve Issue #9 (Shade visibility bug). - Redesigned `IslandSettingsControl`: - Updated text descriptions to clearly explain 'Float' (Heads-up) vs 'Shade' (System Panel) behavior. - Improved Timeout Slider: Now displays seconds (0-10s) clearly in the header and uses full width for easier adjustment. - Updated English and Spanish translations. Closes #9 * feat(onboarding): enforce HyperOS 3 requirement and improve device info - Updated `CompatibilityPage` to strictly block the "Next" button if the OS is older than HyperOS 3.0. - Added logic to `DeviceUtils` to detect HyperOS 3.0 on Android 15 (API 35) to future-proof against base OS updates. - Implemented `getDeviceMarketName` to display readable model names (e.g., "Xiaomi 14") instead of model codes. - Added a specific UI warning for users on China ROMs regarding potential stability issues. - Updated the Autostart permission description to clarify that the app cannot automatically verify if the permission is granted. Closes #11 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Update PL translation for 0.3.0 (#34) * Add Ukrainian translation (#37) * Updating PTBR translation for v0.3.0 (#38) Atualizando para a versão 0.3.0 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Add missing 0.3.0 Ukrainian strings (#42) (additionally mention Ukrainian translation in changelog) * feat(data): migrate preference storage from DataStore to Room (#43) - Replaced Jetpack DataStore with Room (SQLite) to resolve persistence instability and file locking issues observed on HyperOS devices during boot. - Implemented `AppDatabase`, `SettingsDao`, and `AppSetting` entity to store key-value pairs reliably. - Rewrote `AppPreferences` to interface with the database while maintaining the existing Flow API for the UI. - Added a one-time migration mechanism in `AppPreferences` to automatically transfer existing settings from the legacy DataStore file to the new Room database, ensuring no data loss for current users. - Updated build configuration to include KSP and Room dependencies, and resolved dependency conflicts. Closes #40 * fix(service): enable blocked terms filtering logic - Connected the Blocked Terms data layer to the `NotificationReaderService`. - Previously, terms defined in the UI were saved but ignored by the service. - Implemented Global Blocklist check in `isJunkNotification` (Synchronous) to drop spam immediately. - Implemented App-Specific Blocklist check in `processAndPost` (Asynchronous) to handle per-app spoiler protection. Closes #6, Closes #39 * Updated changelog to add support for Ukrainian * Fixed text buttons and custom actions. --------- Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> Co-authored-by: AlexKoala <alexkoala@alexkoala.com> Co-authored-by: Kacper Skrzypek <kacper@miuipolska.pl> Co-authored-by: Denys <80550709+ItzDFPlayer@users.noreply.github.com> * Update README with new features and localization info Enhanced features section with new capabilities and improved language support. * Add files * Add Russian localization strings Added Russian localization strings for the application. * Update * Update * Update * Update * Update * Update 2 * Update 2 * Update 2 * Update 2 * Add German localization to strings.xml Added German localization strings for the app. * Korean translation addition * Update 2 * u * Add German translations * Delete app/src/main/res/values-deu directory * Update 2 * Update strings.xml * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml Removed Russian and German language options from the strings. * Update strings.xml Removed Russian and German language options from the strings. * Update strings.xml * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml * -</resources> Updated privacy strings to clarify offline processing and security. * Update Ukrainian Added new strings for privacy settings, backup options, and language selection in the Ukrainian localization. * Update Russian * Update Português Brasileiro Added new strings for privacy, backup, and language settings. * Update polski Added new strings for privacy, language options, backup, and UI updates. * Fix polski Corrected the capitalization of language names in Polish localization. * Update Korean Added Korean localization strings for backup, privacy, and optimization features. * fix español Updated privacy title and description strings in Spanish. * Update Deutsch * fix Polish --------- Co-authored-by: David Df <dominguezfondodavid@gmail.com> Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> Co-authored-by: AlexKoala <alexkoala@alexkoala.com> Co-authored-by: Kacper Skrzypek <kacper@miuipolska.pl> Co-authored-by: Denys <80550709+ItzDFPlayer@users.noreply.github.com> * Added Russian and German to the language selector. Fixed strings tags * Feature/ru de language (#54) * Dev (#47) * Add Brazilian Portuguese translation (#14) (#16) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(nav): add layout customization and fix text alignment (#18) - Added `NavCustomizationScreen` with live preview to configure Navigation Island layout. - Implemented options to customize Left/Right content (Instruction, Distance, ETA) globally or per app. - Fixed text misalignment bug caused by newline characters in notification extras. - Updated `NavTranslator` to sanitize inputs and respect new layout configs. - Added Spanish translations for new settings. Closes #4 * Add Brazilian Portuguese translation (#14) (#22) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(a11y): improve TalkBack support and semantic navigation (#24) - Implemented custom accessibility actions for the App Priority List (Move Up/Down) to allow reordering without drag gestures. - Added dynamic content descriptions to App List switches and buttons (e.g., "Toggle [App Name]" instead of just "Switch"). - Marked settings group titles as Semantic Headings for faster screen reader navigation. - Added state descriptions to the Navigation Layout Preview to describe the current configuration audibly. - Improved labeling for expand/collapse actions in the Version History screen. - Fixed missing content descriptions on navigation and edit icon buttons. Closes #17 * fix(service): ignore notifications showing package name as content (#28) - Implemented strict check in `isJunkNotification` to block notifications where Title or Text equals the Package Name. - This prevents 'placeholder' notifications (e.g. 'com.whatsapp') from overwriting valid content on the Island. - Logs ignored placeholders for debugging. Closes #7 * fix(deps): downgrade DataStore to resolve boot persistence issues (#29) - Downgraded `androidx.datastore:datastore-preferences` from 1.2.0 to 1.1.7. - The 1.2.0 update introduced a regression on HyperOS/MIUI devices where preference files were not readable immediately after boot, causing the app to reset to the Onboarding screen and lose saved configurations. - Reverting to the stable 1.1.x release restores reliable data persistence across reboots. Closes #5 * Updating PTBR translation (#30) Atualização da tradução com a versão mais recente da branch 'dev' * Added Korean translation (#26) * fix(service): ignore placeholder notifications containing package name (#31) - Updated `isJunkNotification` logic in `NotificationReaderService`. - Now filters out notifications where the Title or Text contains the package name (case-insensitive), rather than just exact matches. - This prevents the Dynamic Island from displaying raw package strings (e.g., "com.whatsapp checking...") during background updates. Closes #7 * feat(blocklist): add spoiler and privacy protection and redesign config sheet (#32) - Implemented Blocked Terms logic: Users can now define words to block globally or per-app to prevent spoilers or unwanted notifications. - Redesigned `AppConfigBottomSheet`: Replaced the tabbed layout with a vertical list using expandable cards. This fixes the "bouncy" animation issues when switching sections. - Added `GlobalBlocklistScreen` as a central hub for managing filters. - Added `BlocklistAppListScreen` to configure rules for specific apps, displaying active rule counts per app. - Updated `NotificationReaderService` to filter notifications based on effective blocked terms (Global + App Specific). - Standardized UI: App list items in the blocklist settings now use consistent Card styling. Closes #6 * fix(ui): update library and clarify settings UX - Updated `hyperisland-kit` to 0.3.3 to resolve Issue #9 (Shade visibility bug). - Redesigned `IslandSettingsControl`: - Updated text descriptions to clearly explain 'Float' (Heads-up) vs 'Shade' (System Panel) behavior. - Improved Timeout Slider: Now displays seconds (0-10s) clearly in the header and uses full width for easier adjustment. - Updated English and Spanish translations. Closes #9 * feat(onboarding): enforce HyperOS 3 requirement and improve device info - Updated `CompatibilityPage` to strictly block the "Next" button if the OS is older than HyperOS 3.0. - Added logic to `DeviceUtils` to detect HyperOS 3.0 on Android 15 (API 35) to future-proof against base OS updates. - Implemented `getDeviceMarketName` to display readable model names (e.g., "Xiaomi 14") instead of model codes. - Added a specific UI warning for users on China ROMs regarding potential stability issues. - Updated the Autostart permission description to clarify that the app cannot automatically verify if the permission is granted. Closes #11 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Update PL translation for 0.3.0 (#34) * Add Ukrainian translation (#37) * Updating PTBR translation for v0.3.0 (#38) Atualizando para a versão 0.3.0 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Add missing 0.3.0 Ukrainian strings (#42) (additionally mention Ukrainian translation in changelog) * feat(data): migrate preference storage from DataStore to Room (#43) - Replaced Jetpack DataStore with Room (SQLite) to resolve persistence instability and file locking issues observed on HyperOS devices during boot. - Implemented `AppDatabase`, `SettingsDao`, and `AppSetting` entity to store key-value pairs reliably. - Rewrote `AppPreferences` to interface with the database while maintaining the existing Flow API for the UI. - Added a one-time migration mechanism in `AppPreferences` to automatically transfer existing settings from the legacy DataStore file to the new Room database, ensuring no data loss for current users. - Updated build configuration to include KSP and Room dependencies, and resolved dependency conflicts. Closes #40 * fix(service): enable blocked terms filtering logic - Connected the Blocked Terms data layer to the `NotificationReaderService`. - Previously, terms defined in the UI were saved but ignored by the service. - Implemented Global Blocklist check in `isJunkNotification` (Synchronous) to drop spam immediately. - Implemented App-Specific Blocklist check in `processAndPost` (Asynchronous) to handle per-app spoiler protection. Closes #6, Closes #39 * Updated changelog to add support for Ukrainian * Fixed text buttons and custom actions. --------- Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> Co-authored-by: AlexKoala <alexkoala@alexkoala.com> Co-authored-by: Kacper Skrzypek <kacper@miuipolska.pl> Co-authored-by: Denys <80550709+ItzDFPlayer@users.noreply.github.com> * Update README with new features and localization info Enhanced features section with new capabilities and improved language support. * Add files * Add Russian localization strings Added Russian localization strings for the application. * Update * Update * Update * Update * Update * Update 2 * Update 2 * Update 2 * Update 2 * Add German localization to strings.xml Added German localization strings for the app. * Korean translation addition * Update 2 * u * Add German translations * Delete app/src/main/res/values-deu directory * Update 2 * Update strings.xml * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml Removed Russian and German language options from the strings. * Update strings.xml Removed Russian and German language options from the strings. * Update strings.xml * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml * -</resources> Updated privacy strings to clarify offline processing and security. * Update Ukrainian Added new strings for privacy settings, backup options, and language selection in the Ukrainian localization. * Update Russian * Update Português Brasileiro Added new strings for privacy, backup, and language settings. * Update polski Added new strings for privacy, language options, backup, and UI updates. * Fix polski Corrected the capitalization of language names in Polish localization. * Update Korean Added Korean localization strings for backup, privacy, and optimization features. * fix español Updated privacy title and description strings in Spanish. * Update Deutsch * fix Polish * de fix * ru fix * uk fix --------- Co-authored-by: David Df <dominguezfondodavid@gmail.com> Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> Co-authored-by: AlexKoala <alexkoala@alexkoala.com> Co-authored-by: Kacper Skrzypek <kacper@miuipolska.pl> Co-authored-by: Denys <80550709+ItzDFPlayer@users.noreply.github.com> * fix(app): Fixed bold tags on russian strings.xml and updated the AppListItem.kt behaviour * fix(app): Fixed language * fix(app): fixed log modal * update dev branch (#59) * Dev (#47) * Add Brazilian Portuguese translation (#14) (#16) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(nav): add layout customization and fix text alignment (#18) - Added `NavCustomizationScreen` with live preview to configure Navigation Island layout. - Implemented options to customize Left/Right content (Instruction, Distance, ETA) globally or per app. - Fixed text misalignment bug caused by newline characters in notification extras. - Updated `NavTranslator` to sanitize inputs and respect new layout configs. - Added Spanish translations for new settings. Closes #4 * Add Brazilian Portuguese translation (#14) (#22) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(a11y): improve TalkBack support and semantic navigation (#24) - Implemented custom accessibility actions for the App Priority List (Move Up/Down) to allow reordering without drag gestures. - Added dynamic content descriptions to App List switches and buttons (e.g., "Toggle [App Name]" instead of just "Switch"). - Marked settings group titles as Semantic Headings for faster screen reader navigation. - Added state descriptions to the Navigation Layout Preview to describe the current configuration audibly. - Improved labeling for expand/collapse actions in the Version History screen. - Fixed missing content descriptions on navigation and edit icon buttons. Closes #17 * fix(service): ignore notifications showing package name as content (#28) - Implemented strict check in `isJunkNotification` to block notifications where Title or Text equals the Package Name. - This prevents 'placeholder' notifications (e.g. 'com.whatsapp') from overwriting valid content on the Island. - Logs ignored placeholders for debugging. Closes #7 * fix(deps): downgrade DataStore to resolve boot persistence issues (#29) - Downgraded `androidx.datastore:datastore-preferences` from 1.2.0 to 1.1.7. - The 1.2.0 update introduced a regression on HyperOS/MIUI devices where preference files were not readable immediately after boot, causing the app to reset to the Onboarding screen and lose saved configurations. - Reverting to the stable 1.1.x release restores reliable data persistence across reboots. Closes #5 * Updating PTBR translation (#30) Atualização da tradução com a versão mais recente da branch 'dev' * Added Korean translation (#26) * fix(service): ignore placeholder notifications containing package name (#31) - Updated `isJunkNotification` logic in `NotificationReaderService`. - Now filters out notifications where the Title or Text contains the package name (case-insensitive), rather than just exact matches. - This prevents the Dynamic Island from displaying raw package strings (e.g., "com.whatsapp checking...") during background updates. Closes #7 * feat(blocklist): add spoiler and privacy protection and redesign config sheet (#32) - Implemented Blocked Terms logic: Users can now define words to block globally or per-app to prevent spoilers or unwanted notifications. - Redesigned `AppConfigBottomSheet`: Replaced the tabbed layout with a vertical list using expandable cards. This fixes the "bouncy" animation issues when switching sections. - Added `GlobalBlocklistScreen` as a central hub for managing filters. - Added `BlocklistAppListScreen` to configure rules for specific apps, displaying active rule counts per app. - Updated `NotificationReaderService` to filter notifications based on effective blocked terms (Global + App Specific). - Standardized UI: App list items in the blocklist settings now use consistent Card styling. Closes #6 * fix(ui): update library and clarify settings UX - Updated `hyperisland-kit` to 0.3.3 to resolve Issue #9 (Shade visibility bug). - Redesigned `IslandSettingsControl`: - Updated text descriptions to clearly explain 'Float' (Heads-up) vs 'Shade' (System Panel) behavior. - Improved Timeout Slider: Now displays seconds (0-10s) clearly in the header and uses full width for easier adjustment. - Updated English and Spanish translations. Closes #9 * feat(onboarding): enforce HyperOS 3 requirement and improve device info - Updated `CompatibilityPage` to strictly block the "Next" button if the OS is older than HyperOS 3.0. - Added logic to `DeviceUtils` to detect HyperOS 3.0 on Android 15 (API 35) to future-proof against base OS updates. - Implemented `getDeviceMarketName` to display readable model names (e.g., "Xiaomi 14") instead of model codes. - Added a specific UI warning for users on China ROMs regarding potential stability issues. - Updated the Autostart permission description to clarify that the app cannot automatically verify if the permission is granted. Closes #11 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Update PL translation for 0.3.0 (#34) * Add Ukrainian translation (#37) * Updating PTBR translation for v0.3.0 (#38) Atualizando para a versão 0.3.0 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Add missing 0.3.0 Ukrainian strings (#42) (additionally mention Ukrainian translation in changelog) * feat(data): migrate preference storage from DataStore to Room (#43) - Replaced Jetpack DataStore with Room (SQLite) to resolve persistence instability and file locking issues observed on HyperOS devices during boot. - Implemented `AppDatabase`, `SettingsDao`, and `AppSetting` entity to store key-value pairs reliably. - Rewrote `AppPreferences` to interface with the database while maintaining the existing Flow API for the UI. - Added a one-time migration mechanism in `AppPreferences` to automatically transfer existing settings from the legacy DataStore file to the new Room database, ensuring no data loss for current users. - Updated build configuration to include KSP and Room dependencies, and resolved dependency conflicts. Closes #40 * fix(service): enable blocked terms filtering logic - Connected the Blocked Terms data layer to the `NotificationReaderService`. - Previously, terms defined in the UI were saved but ignored by the service. - Implemented Global Blocklist check in `isJunkNotification` (Synchronous) to drop spam immediately. - Implemented App-Specific Blocklist check in `processAndPost` (Asynchronous) to handle per-app spoiler protection. Closes #6, Closes #39 * Updated changelog to add support for Ukrainian * Fixed text buttons and custom actions. --------- Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> Co-authored-by: AlexKoala <alexkoala@alexkoala.com> Co-authored-by: Kacper Skrzypek <kacper@miuipolska.pl> Co-authored-by: Denys <80550709+ItzDFPlayer@users.noreply.github.com> * Update README with new features and localization info Enhanced features section with new capabilities and improved language support. * Dev (#57) * Add Brazilian Portuguese translation (#14) (#16) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(nav): add layout customization and fix text alignment (#18) - Added `NavCustomizationScreen` with live preview to configure Navigation Island layout. - Implemented options to customize Left/Right content (Instruction, Distance, ETA) globally or per app. - Fixed text misalignment bug caused by newline characters in notification extras. - Updated `NavTranslator` to sanitize inputs and respect new layout configs. - Added Spanish translations for new settings. Closes #4 * Add Brazilian Portuguese translation (#14) (#22) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(a11y): improve TalkBack support and semantic navigation (#24) - Implemented custom accessibility actions for the App Priority List (Move Up/Down) to allow reordering without drag gestures. - Added dynamic content descriptions to App List switches and buttons (e.g., "Toggle [App Name]" instead of just "Switch"). - Marked settings group titles as Semantic Headings for faster screen reader navigation. - Added state descriptions to the Navigation Layout Preview to describe the current configuration audibly. - Improved labeling for expand/collapse actions in the Version History screen. - Fixed missing content descriptions on navigation and edit icon buttons. Closes #17 * fix(service): ignore notifications showing package name as content (#28) - Implemented strict check in `isJunkNotification` to block notifications where Title or Text equals the Package Name. - This prevents 'placeholder' notifications (e.g. 'com.whatsapp') from overwriting valid content on the Island. - Logs ignored placeholders for debugging. Closes #7 * fix(deps): downgrade DataStore to resolve boot persistence issues (#29) - Downgraded `androidx.datastore:datastore-preferences` from 1.2.0 to 1.1.7. - The 1.2.0 update introduced a regression on HyperOS/MIUI devices where preference files were not readable immediately after boot, causing the app to reset to the Onboarding screen and lose saved configurations. - Reverting to the stable 1.1.x release restores reliable data persistence across reboots. Closes #5 * Updating PTBR translation (#30) Atualização da tradução com a versão mais recente da branch 'dev' * Added Korean translation (#26) * fix(service): ignore placeholder notifications containing package name (#31) - Updated `isJunkNotification` logic in `NotificationReaderService`. - Now filters out notifications where the Title or Text contains the package name (case-insensitive), rather than just exact matches. - This prevents the Dynamic Island from displaying raw package strings (e.g., "com.whatsapp checking...") during background updates. Closes #7 * feat(blocklist): add spoiler and privacy protection and redesign config sheet (#32) - Implemented Blocked Terms logic: Users can now define words to block globally or per-app to prevent spoilers or unwanted notifications. - Redesigned `AppConfigBottomSheet`: Replaced the tabbed layout with a vertical list using expandable cards. This fixes the "bouncy" animation issues when switching sections. - Added `GlobalBlocklistScreen` as a central hub for managing filters. - Added `BlocklistAppListScreen` to configure rules for specific apps, displaying active rule counts per app. - Updated `NotificationReaderService` to filter notifications based on effective blocked terms (Global + App Specific). - Standardized UI: App list items in the blocklist settings now use consistent Card styling. Closes #6 * fix(ui): update library and clarify settings UX - Updated `hyperisland-kit` to 0.3.3 to resolve Issue #9 (Shade visibility bug). - Redesigned `IslandSettingsControl`: - Updated text descriptions to clearly explain 'Float' (Heads-up) vs 'Shade' (System Panel) behavior. - Improved Timeout Slider: Now displays seconds (0-10s) clearly in the header and uses full width for easier adjustment. - Updated English and Spanish translations. Closes #9 * feat(onboarding): enforce HyperOS 3 requirement and improve device info - Updated `CompatibilityPage` to strictly block the "Next" button if the OS is older than HyperOS 3.0. - Added logic to `DeviceUtils` to detect HyperOS 3.0 on Android 15 (API 35) to future-proof against base OS updates. - Implemented `getDeviceMarketName` to display readable model names (e.g., "Xiaomi 14") instead of model codes. - Added a specific UI warning for users on China ROMs regarding potential stability issues. - Updated the Autostart permission description to clarify that the app cannot automatically verify if the permission is granted. Closes #11 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Update PL translation for 0.3.0 (#34) * Add Ukrainian translation (#37) * Updating PTBR translation for v0.3.0 (#38) Atualizando para a versão 0.3.0 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Add missing 0.3.0 Ukrainian strings (#42) (additionally mention Ukrainian translation in changelog) * feat(data): migrate preference storage from DataStore to Room (#43) - Replaced Jetpack DataStore with Room (SQLite) to resolve persistence instability and file locking issues observed on HyperOS devices during boot. - Implemented `AppDatabase`, `SettingsDao`, and `AppSetting` entity to store key-value pairs reliably. - Rewrote `AppPreferences` to interface with the database while maintaining the existing Flow API for the UI. - Added a one-time migration mechanism in `AppPreferences` to automatically transfer existing settings from the legacy DataStore file to the new Room database, ensuring no data loss for current users. - Updated build configuration to include KSP and Room dependencies, and resolved dependency conflicts. Closes #40 * fix(service): enable blocked terms filtering logic - Connected the Blocked Terms data layer to the `NotificationReaderService`. - Previously, terms defined in the UI were saved but ignored by the service. - Implemented Global Blocklist check in `isJunkNotification` (Synchronous) to drop spam immediately. - Implemented App-Specific Blocklist check in `processAndPost` (Asynchronous) to handle per-app spoiler protection. Closes #6, Closes #39 * Updated changelog to add support for Ukrainian * Fixed text buttons and custom actions. * feat(app): add backup system, language selector, and UI refresh - **Backup & Restore**: Implemented a complete system to export/import settings, blocklists, and priorities via `.hbr` JSON files. - **Localization**: Added an in-app Language Selector and support for German (de) and Russian (ru). - **UI Overhaul**: Updated the entire settings and onboarding experience to **Material 3 Expressive** design (Large Top Bars, increased roundness, surface colors). - **Onboarding**: Added a Privacy Page explaining offline architecture and improved HyperOS 3.0 compatibility checks. - **Fixes**: Resolved Navigation "Exit" button rendering as an icon instead of text, and fixed App Icon loading in the Settings screen. - **Changelog**: Updated release notes for v0.3.1. Closes #41 * Feature/ru de language (#52) * Dev (#47) * Add Brazilian Portuguese translation (#14) (#16) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(nav): add layout customization and fix text alignment (#18) - Added `NavCustomizationScreen` with live preview to configure Navigation Island layout. - Implemented options to customize Left/Right content (Instruction, Distance, ETA) globally or per app. - Fixed text misalignment bug caused by newline characters in notification extras. - Updated `NavTranslator` to sanitize inputs and respect new layout configs. - Added Spanish translations for new settings. Closes #4 * Add Brazilian Portuguese translation (#14) (#22) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(a11y): improve TalkBack support and semantic navigation (#24) - Implemented custom accessibility actions for the App Priority List (Move Up/Down) to allow reordering without drag gestures. - Added dynamic content descriptions to App List switches and buttons (e.g., "Toggle [App Name]" instead of just "Switch"). - Marked settings group titles as Semantic Headings for faster screen reader navigation. - Added state descriptions to the Navigation Layout Preview to describe the current configuration audibly. - Improved labeling for expand/collapse actions in the Version History screen. - Fixed missing content descriptions on navigation and edit icon buttons. Closes #17 * fix(service): ignore notifications showing package name as content (#28) - Implemented strict check in `isJunkNotification` to block notifications where Title or Text equals the Package Name. - This prevents 'placeholder' notifications (e.g. 'com.whatsapp') from overwriting valid content on the Island. - Logs ignored placeholders for debugging. Closes #7 * fix(deps): downgrade DataStore to resolve boot persistence issues (#29) - Downgraded `androidx.datastore:datastore-preferences` from 1.2.0 to 1.1.7. - The 1.2.0 update introduced a regression on HyperOS/MIUI devices where preference files were not readable immediately after boot, causing the app to reset to the Onboarding screen and lose saved configurations. - Reverting to the stable 1.1.x release restores reliable data persistence across reboots. Closes #5 * Updating PTBR translation (#30) Atualização da tradução com a versão mais recente da branch 'dev' * Added Korean translation (#26) * fix(service): ignore placeholder notifications containing package name (#31) - Updated `isJunkNotification` logic in `NotificationReaderService`. - Now filters out notifications where the Title or Text contains the package name (case-insensitive), rather than just exact matches. - This prevents the Dynamic Island from displaying raw package strings (e.g., "com.whatsapp checking...") during background updates. Closes #7 * feat(blocklist): add spoiler and privacy protection and redesign config sheet (#32) - Implemented Blocked Terms logic: Users can now define words to block globally or per-app to prevent spoilers or unwanted notifications. - Redesigned `AppConfigBottomSheet`: Replaced the tabbed layout with a vertical list using expandable cards. This fixes the "bouncy" animation issues when switching sections. - Added `GlobalBlocklistScreen` as a central hub for managing filters. - Added `BlocklistAppListScreen` to configure rules for specific apps, displaying active rule counts per app. - Updated `NotificationReaderService` to filter notifications based on effective blocked terms (Global + App Specific). - Standardized UI: App list items in the blocklist settings now use consistent Card styling. Closes #6 * fix(ui): update library and clarify settings UX - Updated `hyperisland-kit` to 0.3.3 to resolve Issue #9 (Shade visibility bug). - Redesigned `IslandSettingsControl`: - Updated text descriptions to clearly explain 'Float' (Heads-up) vs 'Shade' (System Panel) behavior. - Improved Timeout Slider: Now displays seconds (0-10s) clearly in the header and uses full width for easier adjustment. - Updated English and Spanish translations. Closes #9 * feat(onboarding): enforce HyperOS 3 requirement and improve device info - Updated `CompatibilityPage` to strictly block the "Next" button if the OS is older than HyperOS 3.0. - Added logic to `DeviceUtils` to detect HyperOS 3.0 on Android 15 (API 35) to future-proof against base OS updates. - Implemented `getDeviceMarketName` to display readable model names (e.g., "Xiaomi 14") instead of model codes. - Added a specific UI warning for users on China ROMs regarding potential stability issues. - Updated the Autostart permission description to clarify that the app cannot automatically verify if the permission is granted. Closes #11 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Update PL translation for 0.3.0 (#34) * Add Ukrainian translation (#37) * Updating PTBR translation for v0.3.0 (#38) Atualizando para a versão 0.3.0 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Add missing 0.3.0 Ukrainian strings (#42) (additionally mention Ukrainian translation in changelog) * feat(data): migrate preference storage from DataStore to Room (#43) - Replaced Jetpack DataStore with Room (SQLite) to resolve persistence instability and file locking issues observed on HyperOS devices during boot. - Implemented `AppDatabase`, `SettingsDao`, and `AppSetting` entity to store key-value pairs reliably. - Rewrote `AppPreferences` to interface with the database while maintaining the existing Flow API for the UI. - Added a one-time migration mechanism in `AppPreferences` to automatically transfer existing settings from the legacy DataStore file to the new Room database, ensuring no data loss for current users. - Updated build configuration to include KSP and Room dependencies, and resolved dependency conflicts. Closes #40 * fix(service): enable blocked terms filtering logic - Connected the Blocked Terms data layer to the `NotificationReaderService`. - Previously, terms defined in the UI were saved but ignored by the service. - Implemented Global Blocklist check in `isJunkNotification` (Synchronous) to drop spam immediately. - Implemented App-Specific Blocklist check in `processAndPost` (Asynchronous) to handle per-app spoiler protection. Closes #6, Closes #39 * Updated changelog to add support for Ukrainian * Fixed text buttons and custom actions. --------- Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> Co-authored-by: AlexKoala <alexkoala@alexkoala.com> Co-authored-by: Kacper Skrzypek <kacper@miuipolska.pl> Co-authored-by: Denys <80550709+ItzDFPlayer@users.noreply.github.com> * Update README with new features and localization info Enhanced features section with new capabilities and improved language support. * Add files * Add Russian localization strings Added Russian localization strings for the application. * Update * Update * Update * Update * Update * Update 2 * Update 2 * Update 2 * Update 2 * Add German localization to strings.xml Added German localization strings for the app. * Korean translation addition * Update 2 * u * Add German translations * Delete app/src/main/res/values-deu directory * Update 2 * Update strings.xml * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml Removed Russian and German language options from the strings. * Update strings.xml Removed Russian and German language options from the strings. * Update strings.xml * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml * -</resources> Updated privacy strings to clarify offline processing and security. * Update Ukrainian Added new strings for privacy settings, backup options, and language selection in the Ukrainian localization. * Update Russian * Update Português Brasileiro Added new strings for privacy, backup, and language settings. * Update polski Added new strings for privacy, language options, backup, and UI updates. * Fix polski Corrected the capitalization of language names in Polish localization. * Update Korean Added Korean localization strings for backup, privacy, and optimization features. * fix español Updated privacy title and description strings in Spanish. * Update Deutsch * fix Polish --------- Co-authored-by: David Df <dominguezfondodavid@gmail.com> Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> Co-authored-by: AlexKoala <alexkoala@alexkoala.com> Co-authored-by: Kacper Skrzypek <kacper@miuipolska.pl> Co-authored-by: Denys <80550709+ItzDFPlayer@users.noreply.github.com> * Added Russian and German to the language selector. Fixed strings tags * Feature/ru de language (#54) * Dev (#47) * Add Brazilian Portuguese translation (#14) (#16) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(nav): add layout customization and fix text alignment (#18) - Added `NavCustomizationScreen` with live preview to configure Navigation Island layout. - Implemented options to customize Left/Right content (Instruction, Distance, ETA) globally or per app. - Fixed text misalignment bug caused by newline characters in notification extras. - Updated `NavTranslator` to sanitize inputs and respect new layout configs. - Added Spanish translations for new settings. Closes #4 * Add Brazilian Portuguese translation (#14) (#22) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(a11y): improve TalkBack support and semantic navigation (#24) - Implemented custom accessibility actions for the App Priority List (Move Up/Down) to allow reordering without drag gestures. - Added dynamic content descriptions to App List switches and buttons (e.g., "Toggle [App Name]" instead of just "Switch"). - Marked settings group titles as Semantic Headings for faster screen reader navigation. - Added state descriptions to the Navigation Layout Preview to describe the current configuration audibly. - Improved labeling for expand/collapse actions in the Version History screen. - Fixed missing content descriptions on navigation and edit icon buttons. Closes #17 * fix(service): ignore notifications showing package name as content (#28) - Implemented strict check in `isJunkNotification` to block notifications where Title or Text equals the Package Name. - This prevents 'placeholder' notifications (e.g. 'com.whatsapp') from overwriting valid content on the Island. - Logs ignored placeholders for debugging. Closes #7 * fix(deps): downgrade DataStore to resolve boot persistence issues (#29) - Downgraded `androidx.datastore:datastore-preferences` from 1.2.0 to 1.1.7. - The 1.2.0 update introduced a regression on HyperOS/MIUI devices where preference files were not readable immediately after boot, causing the app to reset to the Onboarding screen and lose saved configurations. - Reverting to the stable 1.1.x release restores reliable data persistence across reboots. Closes #5 * Updating PTBR translation (#30) Atualização da tradução com a versão mais recente da branch 'dev' * Added Korean translation (#26) * fix(service): ignore placeholder notifications containing package name (#31) - Updated `isJunkNotification` logic in `NotificationReaderService`. - Now filters out notifications where the Title or Text contains the package name (case-insensitive), rather than just exact matches. - This prevents the Dynamic Island from displaying raw package strings (e.g., "com.whatsapp checking...") during background updates. Closes #7 * feat(blocklist): add spoiler and privacy protection and redesign config sheet (#32) - Implemented Blocked Terms logic: Users can now define words to block globally or per-app to prevent spoilers or unwanted notifications. - Redesigned `AppConfigBottomSheet`: Replaced the tabbed layout with a vertical list using expandable cards. This fixes the "bouncy" animation issues when switching sections. - Added `GlobalBlocklistScreen` as a central hub for managing filters. - Added `BlocklistAppListScreen` to configure rules for specific apps, displaying active rule counts per app. - Updated `NotificationReaderService` to filter notifications based on effective blocked terms (Global + App Specific). - Standardized UI: App list items in the blocklist settings now use consistent Card styling. Closes #6 * fix(ui): update library and clarify settings UX - Updated `hyperisland-kit` to 0.3.3 to resolve Issue #9 (Shade visibility bug). - Redesigned `IslandSettingsControl`: - Updated text descriptions to clearly explain 'Float' (Heads-up) vs 'Shade' (System Panel) behavior. - Improved Timeout Slider: Now displays seconds (0-10s) clearly in the header and uses full width for easier adjustment. - Updated English and Spanish translations. Closes #9 * feat(onboarding): enforce HyperOS 3 requirement and improve device info - Updated `CompatibilityPage` to strictly block the "Next" button if the OS is older than HyperOS 3.0. - Added logic to `DeviceUtils` to detect HyperOS 3.0 on Android 15 (API 35) to future-proof against base OS updates. - Implemented `getDeviceMarketName` to display readable model names (e.g., "Xiaomi 14") instead of model codes. - Added a specific UI warning for users on China ROMs regarding potential stability issues. - Updated the Autostart permission description to clarify that the app cannot automatically verify if the permission is granted. Closes #11 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Update PL translation for 0.3.0 (#34) * Add Ukrainian translation (#37) * Updating PTBR translation for v0.3.0 (#38) Atualizando para a versão 0.3.0 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Add missing 0.3.0 Ukrainian strings (#42) (additionally mention Ukrainian translation in changelog) * feat(data): migrate preference storage from DataStore to Room (#43) - Replaced Jetpack DataStore with Room (SQLite) to resolve persistence instability and file locking issues observed on HyperOS devices during boot. - Implemented `AppDatabase`, `SettingsDao`, and `AppSetting` entity to store key-value pairs reliably. - Rewrote `AppPreferences` to interface with the database while maintaining the existing Flow API for the UI. - Added a one-time migration mechanism in `AppPreferences` to automatically transfer existing settings from the legacy DataStore file to the new Room database, ensuring no data loss for current users. - Updated build configuration to include KSP and Room dependencies, and resolved dependency conflicts. Closes #40 * fix(service): enable blocked terms filtering logic - Connected the Blocked Terms data layer to the `NotificationReaderService`. - Previously, terms defined in the UI were saved but ignored by the service. - Implemented Global Blocklist check in `isJunkNotification` (Synchronous) to drop spam immediately. - Implemented App-Specific Blocklist check in `processAndPost` (Asynchronous) to handle per-app spoiler protection. Closes #6, Closes #39 * Updated changelog to add support for Ukrainian * Fixed text buttons and custom actions. --------- Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> Co-authored-by: AlexKoala <alexkoala@alexkoala.com> Co-authored-by: Kacper Skrzypek <kacper@miuipolska.pl> Co-authored-by: Denys <80550709+ItzDFPlayer@users.noreply.github.com> * Update README with new features and localization info Enhanced features section with new capabilities and improved language support. * Add files * Add Russian localization strings Added Russian localization strings for the application. * Update * Update * Update * Update * Update * Update 2 * Update 2 * Update 2 * Update 2 * Add German localization to strings.xml Added German localization strings for the app. * Korean translation addition * Update 2 * u * Add German translations * Delete app/src/main/res/values-deu directory * Update 2 * Update strings.xml * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml Removed Russian and German language options from the strings. * Update strings.xml Removed Russian and German language options from the strings. * Update strings.xml * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml * -</resources> Updated privacy strings to clarify offline processing and security. * Update Ukrainian Added new strings for privacy settings, backup options, and language selection in the Ukrainian localization. * Update Russian * Update Português Brasileiro Added new strings for privacy, backup, and language settings. * Update polski Added new strings for privacy, language options, backup, and UI updates. * Fix polski Corrected the capitalization of language names in Polish localization. * Update Korean Added Korean localization strings for backup, privacy, and optimization features. * fix español Updated privacy title and description strings in Spanish. * Update Deutsch * fix Polish * de fix * ru fix * uk fix --------- Co-authored-by: David Df <dominguezfondodavid@gmail.com> Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> Co-authored-by: AlexKoala <alexkoala@alexkoala.com> Co-authored-by: Kacper Skrzypek <kacper@miuipolska.pl> Co-authored-by: Denys <80550709+ItzDFPlayer@users.noreply.github.com> * fix(app): Fixed bold tags on russian strings.xml and updated the AppListItem.kt behaviour * fix(app): Fixed language * fix(app): fixed log modal --------- Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> Co-authored-by: AlexKoala <alexkoala@alexkoala.com> Co-authored-by: Kacper Skrzypek <kacper@miuipolska.pl> Co-authored-by: Denys <80550709+ItzDFPlayer@users.noreply.github.com> Co-authored-by: kilo3528 <71942463+kilo3528@users.noreply.github.com> --------- Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> Co-authored-by: AlexKoala <alexkoala@alexkoala.com> Co-authored-by: Kacper Skrzypek <kacper@miuipolska.pl> Co-authored-by: Denys <80550709+ItzDFPlayer@users.noreply.github.com> Co-authored-by: kilo3528 <71942463+kilo3528@users.noreply.github.com> * feat(app): Updated library to version 0.4.3 Added support for Widgets inside notifications and HyperIsland. Updated colored icons for calls. Added timer to call islands. * fix(app): Show firstisland expand * feat: add snapshot mode, per-widget settings, and revamp design screen - Implement `WidgetRenderMode` (Snapshot vs. Interactive) to fix empty lists in RemoteViews. - Refactor `AppPreferences` to store configuration per widget ID using dynamic keys. - Revamp `DesignScreen` UI: grouped category cards and restored FAB bottom sheet. - Implement nested navigation for Design tab (Dashboard -> App List -> Widget Detail). - Fix `SecurityException` crash by safely handling non-exported widget config activities. - Remove illegal `ACTION_APPWIDGET_UPDATE` broadcast causing `DeadObjectException`. - Add `getWidgetBitmap` to `WidgetManager` for capturing view-based snapshots. - Update `WidgetConfigScreen` with scrollable layout, live preview updates, and M3 styling. * feat(widget): overhaul config UI, add search, and improve performance - Redesign `WidgetConfigScreen` with tabbed settings (Appearance/Behavior), live preview, and floating toolbar. - Revamp `WidgetPickerScreen` with app search, expandable groups, and async preview loading. - Implement `WidgetConfig` data model to centralize settings (Size, Render Mode, Timeout, Auto Update). - Add "Auto Refresh" capability for Snapshot mode to periodically update static views. - Optimize `NotificationReaderService` by caching app labels and moving junk checks to IO dispatcher. - Fix service initialization crash by ensuring translators load before `WidgetManager`. - Improve `WidgetManager` bitmap capture quality and refactor `RemoteViews` caching mechanism. - Add English and Spanish translat…
D4vidDf
added a commit
that referenced
this pull request
Jan 22, 2026
* Add Brazilian Portuguese translation (#14) (#16) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(nav): add layout customization and fix text alignment (#18) - Added `NavCustomizationScreen` with live preview to configure Navigation Island layout. - Implemented options to customize Left/Right content (Instruction, Distance, ETA) globally or per app. - Fixed text misalignment bug caused by newline characters in notification extras. - Updated `NavTranslator` to sanitize inputs and respect new layout configs. - Added Spanish translations for new settings. Closes #4 * Add Brazilian Portuguese translation (#14) (#22) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(a11y): improve TalkBack support and semantic navigation (#24) - Implemented custom accessibility actions for the App Priority List (Move Up/Down) to allow reordering without drag gestures. - Added dynamic content descriptions to App List switches and buttons (e.g., "Toggle [App Name]" instead of just "Switch"). - Marked settings group titles as Semantic Headings for faster screen reader navigation. - Added state descriptions to the Navigation Layout Preview to describe the current configuration audibly. - Improved labeling for expand/collapse actions in the Version History screen. - Fixed missing content descriptions on navigation and edit icon buttons. Closes #17 * fix(service): ignore notifications showing package name as content (#28) - Implemented strict check in `isJunkNotification` to block notifications where Title or Text equals the Package Name. - This prevents 'placeholder' notifications (e.g. 'com.whatsapp') from overwriting valid content on the Island. - Logs ignored placeholders for debugging. Closes #7 * fix(deps): downgrade DataStore to resolve boot persistence issues (#29) - Downgraded `androidx.datastore:datastore-preferences` from 1.2.0 to 1.1.7. - The 1.2.0 update introduced a regression on HyperOS/MIUI devices where preference files were not readable immediately after boot, causing the app to reset to the Onboarding screen and lose saved configurations. - Reverting to the stable 1.1.x release restores reliable data persistence across reboots. Closes #5 * Updating PTBR translation (#30) Atualização da tradução com a versão mais recente da branch 'dev' * Added Korean translation (#26) * fix(service): ignore placeholder notifications containing package name (#31) - Updated `isJunkNotification` logic in `NotificationReaderService`. - Now filters out notifications where the Title or Text contains the package name (case-insensitive), rather than just exact matches. - This prevents the Dynamic Island from displaying raw package strings (e.g., "com.whatsapp checking...") during background updates. Closes #7 * feat(blocklist): add spoiler and privacy protection and redesign config sheet (#32) - Implemented Blocked Terms logic: Users can now define words to block globally or per-app to prevent spoilers or unwanted notifications. - Redesigned `AppConfigBottomSheet`: Replaced the tabbed layout with a vertical list using expandable cards. This fixes the "bouncy" animation issues when switching sections. - Added `GlobalBlocklistScreen` as a central hub for managing filters. - Added `BlocklistAppListScreen` to configure rules for specific apps, displaying active rule counts per app. - Updated `NotificationReaderService` to filter notifications based on effective blocked terms (Global + App Specific). - Standardized UI: App list items in the blocklist settings now use consistent Card styling. Closes #6 * fix(ui): update library and clarify settings UX - Updated `hyperisland-kit` to 0.3.3 to resolve Issue #9 (Shade visibility bug). - Redesigned `IslandSettingsControl`: - Updated text descriptions to clearly explain 'Float' (Heads-up) vs 'Shade' (System Panel) behavior. - Improved Timeout Slider: Now displays seconds (0-10s) clearly in the header and uses full width for easier adjustment. - Updated English and Spanish translations. Closes #9 * feat(onboarding): enforce HyperOS 3 requirement and improve device info - Updated `CompatibilityPage` to strictly block the "Next" button if the OS is older than HyperOS 3.0. - Added logic to `DeviceUtils` to detect HyperOS 3.0 on Android 15 (API 35) to future-proof against base OS updates. - Implemented `getDeviceMarketName` to display readable model names (e.g., "Xiaomi 14") instead of model codes. - Added a specific UI warning for users on China ROMs regarding potential stability issues. - Updated the Autostart permission description to clarify that the app cannot automatically verify if the permission is granted. Closes #11 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Update PL translation for 0.3.0 (#34) * Add Ukrainian translation (#37) * Updating PTBR translation for v0.3.0 (#38) Atualizando para a versão 0.3.0 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Add missing 0.3.0 Ukrainian strings (#42) (additionally mention Ukrainian translation in changelog) * feat(data): migrate preference storage from DataStore to Room (#43) - Replaced Jetpack DataStore with Room (SQLite) to resolve persistence instability and file locking issues observed on HyperOS devices during boot. - Implemented `AppDatabase`, `SettingsDao`, and `AppSetting` entity to store key-value pairs reliably. - Rewrote `AppPreferences` to interface with the database while maintaining the existing Flow API for the UI. - Added a one-time migration mechanism in `AppPreferences` to automatically transfer existing settings from the legacy DataStore file to the new Room database, ensuring no data loss for current users. - Updated build configuration to include KSP and Room dependencies, and resolved dependency conflicts. Closes #40 * fix(service): enable blocked terms filtering logic - Connected the Blocked Terms data layer to the `NotificationReaderService`. - Previously, terms defined in the UI were saved but ignored by the service. - Implemented Global Blocklist check in `isJunkNotification` (Synchronous) to drop spam immediately. - Implemented App-Specific Blocklist check in `processAndPost` (Asynchronous) to handle per-app spoiler protection. Closes #6, Closes #39 * Updated changelog to add support for Ukrainian * Fixed text buttons and custom actions. * feat(app): add backup system, language selector, and UI refresh - **Backup & Restore**: Implemented a complete system to export/import settings, blocklists, and priorities via `.hbr` JSON files. - **Localization**: Added an in-app Language Selector and support for German (de) and Russian (ru). - **UI Overhaul**: Updated the entire settings and onboarding experience to **Material 3 Expressive** design (Large Top Bars, increased roundness, surface colors). - **Onboarding**: Added a Privacy Page explaining offline architecture and improved HyperOS 3.0 compatibility checks. - **Fixes**: Resolved Navigation "Exit" button rendering as an icon instead of text, and fixed App Icon loading in the Settings screen. - **Changelog**: Updated release notes for v0.3.1. Closes #41 * Feature/ru de language (#52) * Dev (#47) * Add Brazilian Portuguese translation (#14) (#16) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(nav): add layout customization and fix text alignment (#18) - Added `NavCustomizationScreen` with live preview to configure Navigation Island layout. - Implemented options to customize Left/Right content (Instruction, Distance, ETA) globally or per app. - Fixed text misalignment bug caused by newline characters in notification extras. - Updated `NavTranslator` to sanitize inputs and respect new layout configs. - Added Spanish translations for new settings. Closes #4 * Add Brazilian Portuguese translation (#14) (#22) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(a11y): improve TalkBack support and semantic navigation (#24) - Implemented custom accessibility actions for the App Priority List (Move Up/Down) to allow reordering without drag gestures. - Added dynamic content descriptions to App List switches and buttons (e.g., "Toggle [App Name]" instead of just "Switch"). - Marked settings group titles as Semantic Headings for faster screen reader navigation. - Added state descriptions to the Navigation Layout Preview to describe the current configuration audibly. - Improved labeling for expand/collapse actions in the Version History screen. - Fixed missing content descriptions on navigation and edit icon buttons. Closes #17 * fix(service): ignore notifications showing package name as content (#28) - Implemented strict check in `isJunkNotification` to block notifications where Title or Text equals the Package Name. - This prevents 'placeholder' notifications (e.g. 'com.whatsapp') from overwriting valid content on the Island. - Logs ignored placeholders for debugging. Closes #7 * fix(deps): downgrade DataStore to resolve boot persistence issues (#29) - Downgraded `androidx.datastore:datastore-preferences` from 1.2.0 to 1.1.7. - The 1.2.0 update introduced a regression on HyperOS/MIUI devices where preference files were not readable immediately after boot, causing the app to reset to the Onboarding screen and lose saved configurations. - Reverting to the stable 1.1.x release restores reliable data persistence across reboots. Closes #5 * Updating PTBR translation (#30) Atualização da tradução com a versão mais recente da branch 'dev' * Added Korean translation (#26) * fix(service): ignore placeholder notifications containing package name (#31) - Updated `isJunkNotification` logic in `NotificationReaderService`. - Now filters out notifications where the Title or Text contains the package name (case-insensitive), rather than just exact matches. - This prevents the Dynamic Island from displaying raw package strings (e.g., "com.whatsapp checking...") during background updates. Closes #7 * feat(blocklist): add spoiler and privacy protection and redesign config sheet (#32) - Implemented Blocked Terms logic: Users can now define words to block globally or per-app to prevent spoilers or unwanted notifications. - Redesigned `AppConfigBottomSheet`: Replaced the tabbed layout with a vertical list using expandable cards. This fixes the "bouncy" animation issues when switching sections. - Added `GlobalBlocklistScreen` as a central hub for managing filters. - Added `BlocklistAppListScreen` to configure rules for specific apps, displaying active rule counts per app. - Updated `NotificationReaderService` to filter notifications based on effective blocked terms (Global + App Specific). - Standardized UI: App list items in the blocklist settings now use consistent Card styling. Closes #6 * fix(ui): update library and clarify settings UX - Updated `hyperisland-kit` to 0.3.3 to resolve Issue #9 (Shade visibility bug). - Redesigned `IslandSettingsControl`: - Updated text descriptions to clearly explain 'Float' (Heads-up) vs 'Shade' (System Panel) behavior. - Improved Timeout Slider: Now displays seconds (0-10s) clearly in the header and uses full width for easier adjustment. - Updated English and Spanish translations. Closes #9 * feat(onboarding): enforce HyperOS 3 requirement and improve device info - Updated `CompatibilityPage` to strictly block the "Next" button if the OS is older than HyperOS 3.0. - Added logic to `DeviceUtils` to detect HyperOS 3.0 on Android 15 (API 35) to future-proof against base OS updates. - Implemented `getDeviceMarketName` to display readable model names (e.g., "Xiaomi 14") instead of model codes. - Added a specific UI warning for users on China ROMs regarding potential stability issues. - Updated the Autostart permission description to clarify that the app cannot automatically verify if the permission is granted. Closes #11 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Update PL translation for 0.3.0 (#34) * Add Ukrainian translation (#37) * Updating PTBR translation for v0.3.0 (#38) Atualizando para a versão 0.3.0 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Add missing 0.3.0 Ukrainian strings (#42) (additionally mention Ukrainian translation in changelog) * feat(data): migrate preference storage from DataStore to Room (#43) - Replaced Jetpack DataStore with Room (SQLite) to resolve persistence instability and file locking issues observed on HyperOS devices during boot. - Implemented `AppDatabase`, `SettingsDao`, and `AppSetting` entity to store key-value pairs reliably. - Rewrote `AppPreferences` to interface with the database while maintaining the existing Flow API for the UI. - Added a one-time migration mechanism in `AppPreferences` to automatically transfer existing settings from the legacy DataStore file to the new Room database, ensuring no data loss for current users. - Updated build configuration to include KSP and Room dependencies, and resolved dependency conflicts. Closes #40 * fix(service): enable blocked terms filtering logic - Connected the Blocked Terms data layer to the `NotificationReaderService`. - Previously, terms defined in the UI were saved but ignored by the service. - Implemented Global Blocklist check in `isJunkNotification` (Synchronous) to drop spam immediately. - Implemented App-Specific Blocklist check in `processAndPost` (Asynchronous) to handle per-app spoiler protection. Closes #6, Closes #39 * Updated changelog to add support for Ukrainian * Fixed text buttons and custom actions. --------- Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> Co-authored-by: AlexKoala <alexkoala@alexkoala.com> Co-authored-by: Kacper Skrzypek <kacper@miuipolska.pl> Co-authored-by: Denys <80550709+ItzDFPlayer@users.noreply.github.com> * Update README with new features and localization info Enhanced features section with new capabilities and improved language support. * Add files * Add Russian localization strings Added Russian localization strings for the application. * Update * Update * Update * Update * Update * Update 2 * Update 2 * Update 2 * Update 2 * Add German localization to strings.xml Added German localization strings for the app. * Korean translation addition * Update 2 * u * Add German translations * Delete app/src/main/res/values-deu directory * Update 2 * Update strings.xml * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml Removed Russian and German language options from the strings. * Update strings.xml Removed Russian and German language options from the strings. * Update strings.xml * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml * -</resources> Updated privacy strings to clarify offline processing and security. * Update Ukrainian Added new strings for privacy settings, backup options, and language selection in the Ukrainian localization. * Update Russian * Update Português Brasileiro Added new strings for privacy, backup, and language settings. * Update polski Added new strings for privacy, language options, backup, and UI updates. * Fix polski Corrected the capitalization of language names in Polish localization. * Update Korean Added Korean localization strings for backup, privacy, and optimization features. * fix español Updated privacy title and description strings in Spanish. * Update Deutsch * fix Polish --------- Co-authored-by: David Df <dominguezfondodavid@gmail.com> Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> Co-authored-by: AlexKoala <alexkoala@alexkoala.com> Co-authored-by: Kacper Skrzypek <kacper@miuipolska.pl> Co-authored-by: Denys <80550709+ItzDFPlayer@users.noreply.github.com> * Added Russian and German to the language selector. Fixed strings tags * Feature/ru de language (#54) * Dev (#47) * Add Brazilian Portuguese translation (#14) (#16) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(nav): add layout customization and fix text alignment (#18) - Added `NavCustomizationScreen` with live preview to configure Navigation Island layout. - Implemented options to customize Left/Right content (Instruction, Distance, ETA) globally or per app. - Fixed text misalignment bug caused by newline characters in notification extras. - Updated `NavTranslator` to sanitize inputs and respect new layout configs. - Added Spanish translations for new settings. Closes #4 * Add Brazilian Portuguese translation (#14) (#22) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(a11y): improve TalkBack support and semantic navigation (#24) - Implemented custom accessibility actions for the App Priority List (Move Up/Down) to allow reordering without drag gestures. - Added dynamic content descriptions to App List switches and buttons (e.g., "Toggle [App Name]" instead of just "Switch"). - Marked settings group titles as Semantic Headings for faster screen reader navigation. - Added state descriptions to the Navigation Layout Preview to describe the current configuration audibly. - Improved labeling for expand/collapse actions in the Version History screen. - Fixed missing content descriptions on navigation and edit icon buttons. Closes #17 * fix(service): ignore notifications showing package name as content (#28) - Implemented strict check in `isJunkNotification` to block notifications where Title or Text equals the Package Name. - This prevents 'placeholder' notifications (e.g. 'com.whatsapp') from overwriting valid content on the Island. - Logs ignored placeholders for debugging. Closes #7 * fix(deps): downgrade DataStore to resolve boot persistence issues (#29) - Downgraded `androidx.datastore:datastore-preferences` from 1.2.0 to 1.1.7. - The 1.2.0 update introduced a regression on HyperOS/MIUI devices where preference files were not readable immediately after boot, causing the app to reset to the Onboarding screen and lose saved configurations. - Reverting to the stable 1.1.x release restores reliable data persistence across reboots. Closes #5 * Updating PTBR translation (#30) Atualização da tradução com a versão mais recente da branch 'dev' * Added Korean translation (#26) * fix(service): ignore placeholder notifications containing package name (#31) - Updated `isJunkNotification` logic in `NotificationReaderService`. - Now filters out notifications where the Title or Text contains the package name (case-insensitive), rather than just exact matches. - This prevents the Dynamic Island from displaying raw package strings (e.g., "com.whatsapp checking...") during background updates. Closes #7 * feat(blocklist): add spoiler and privacy protection and redesign config sheet (#32) - Implemented Blocked Terms logic: Users can now define words to block globally or per-app to prevent spoilers or unwanted notifications. - Redesigned `AppConfigBottomSheet`: Replaced the tabbed layout with a vertical list using expandable cards. This fixes the "bouncy" animation issues when switching sections. - Added `GlobalBlocklistScreen` as a central hub for managing filters. - Added `BlocklistAppListScreen` to configure rules for specific apps, displaying active rule counts per app. - Updated `NotificationReaderService` to filter notifications based on effective blocked terms (Global + App Specific). - Standardized UI: App list items in the blocklist settings now use consistent Card styling. Closes #6 * fix(ui): update library and clarify settings UX - Updated `hyperisland-kit` to 0.3.3 to resolve Issue #9 (Shade visibility bug). - Redesigned `IslandSettingsControl`: - Updated text descriptions to clearly explain 'Float' (Heads-up) vs 'Shade' (System Panel) behavior. - Improved Timeout Slider: Now displays seconds (0-10s) clearly in the header and uses full width for easier adjustment. - Updated English and Spanish translations. Closes #9 * feat(onboarding): enforce HyperOS 3 requirement and improve device info - Updated `CompatibilityPage` to strictly block the "Next" button if the OS is older than HyperOS 3.0. - Added logic to `DeviceUtils` to detect HyperOS 3.0 on Android 15 (API 35) to future-proof against base OS updates. - Implemented `getDeviceMarketName` to display readable model names (e.g., "Xiaomi 14") instead of model codes. - Added a specific UI warning for users on China ROMs regarding potential stability issues. - Updated the Autostart permission description to clarify that the app cannot automatically verify if the permission is granted. Closes #11 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Update PL translation for 0.3.0 (#34) * Add Ukrainian translation (#37) * Updating PTBR translation for v0.3.0 (#38) Atualizando para a versão 0.3.0 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Add missing 0.3.0 Ukrainian strings (#42) (additionally mention Ukrainian translation in changelog) * feat(data): migrate preference storage from DataStore to Room (#43) - Replaced Jetpack DataStore with Room (SQLite) to resolve persistence instability and file locking issues observed on HyperOS devices during boot. - Implemented `AppDatabase`, `SettingsDao`, and `AppSetting` entity to store key-value pairs reliably. - Rewrote `AppPreferences` to interface with the database while maintaining the existing Flow API for the UI. - Added a one-time migration mechanism in `AppPreferences` to automatically transfer existing settings from the legacy DataStore file to the new Room database, ensuring no data loss for current users. - Updated build configuration to include KSP and Room dependencies, and resolved dependency conflicts. Closes #40 * fix(service): enable blocked terms filtering logic - Connected the Blocked Terms data layer to the `NotificationReaderService`. - Previously, terms defined in the UI were saved but ignored by the service. - Implemented Global Blocklist check in `isJunkNotification` (Synchronous) to drop spam immediately. - Implemented App-Specific Blocklist check in `processAndPost` (Asynchronous) to handle per-app spoiler protection. Closes #6, Closes #39 * Updated changelog to add support for Ukrainian * Fixed text buttons and custom actions. --------- Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> Co-authored-by: AlexKoala <alexkoala@alexkoala.com> Co-authored-by: Kacper Skrzypek <kacper@miuipolska.pl> Co-authored-by: Denys <80550709+ItzDFPlayer@users.noreply.github.com> * Update README with new features and localization info Enhanced features section with new capabilities and improved language support. * Add files * Add Russian localization strings Added Russian localization strings for the application. * Update * Update * Update * Update * Update * Update 2 * Update 2 * Update 2 * Update 2 * Add German localization to strings.xml Added German localization strings for the app. * Korean translation addition * Update 2 * u * Add German translations * Delete app/src/main/res/values-deu directory * Update 2 * Update strings.xml * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml Removed Russian and German language options from the strings. * Update strings.xml Removed Russian and German language options from the strings. * Update strings.xml * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml * -</resources> Updated privacy strings to clarify offline processing and security. * Update Ukrainian Added new strings for privacy settings, backup options, and language selection in the Ukrainian localization. * Update Russian * Update Português Brasileiro Added new strings for privacy, backup, and language settings. * Update polski Added new strings for privacy, language options, backup, and UI updates. * Fix polski Corrected the capitalization of language names in Polish localization. * Update Korean Added Korean localization strings for backup, privacy, and optimization features. * fix español Updated privacy title and description strings in Spanish. * Update Deutsch * fix Polish * de fix * ru fix * uk fix --------- Co-authored-by: David Df <dominguezfondodavid@gmail.com> Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> Co-authored-by: AlexKoala <alexkoala@alexkoala.com> Co-authored-by: Kacper Skrzypek <kacper@miuipolska.pl> Co-authored-by: Denys <80550709+ItzDFPlayer@users.noreply.github.com> * fix(app): Fixed bold tags on russian strings.xml and updated the AppListItem.kt behaviour * fix(app): Fixed language * fix(app): fixed log modal * update dev branch (#59) * Dev (#47) * Add Brazilian Portuguese translation (#14) (#16) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(nav): add layout customization and fix text alignment (#18) - Added `NavCustomizationScreen` with live preview to configure Navigation Island layout. - Implemented options to customize Left/Right content (Instruction, Distance, ETA) globally or per app. - Fixed text misalignment bug caused by newline characters in notification extras. - Updated `NavTranslator` to sanitize inputs and respect new layout configs. - Added Spanish translations for new settings. Closes #4 * Add Brazilian Portuguese translation (#14) (#22) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(a11y): improve TalkBack support and semantic navigation (#24) - Implemented custom accessibility actions for the App Priority List (Move Up/Down) to allow reordering without drag gestures. - Added dynamic content descriptions to App List switches and buttons (e.g., "Toggle [App Name]" instead of just "Switch"). - Marked settings group titles as Semantic Headings for faster screen reader navigation. - Added state descriptions to the Navigation Layout Preview to describe the current configuration audibly. - Improved labeling for expand/collapse actions in the Version History screen. - Fixed missing content descriptions on navigation and edit icon buttons. Closes #17 * fix(service): ignore notifications showing package name as content (#28) - Implemented strict check in `isJunkNotification` to block notifications where Title or Text equals the Package Name. - This prevents 'placeholder' notifications (e.g. 'com.whatsapp') from overwriting valid content on the Island. - Logs ignored placeholders for debugging. Closes #7 * fix(deps): downgrade DataStore to resolve boot persistence issues (#29) - Downgraded `androidx.datastore:datastore-preferences` from 1.2.0 to 1.1.7. - The 1.2.0 update introduced a regression on HyperOS/MIUI devices where preference files were not readable immediately after boot, causing the app to reset to the Onboarding screen and lose saved configurations. - Reverting to the stable 1.1.x release restores reliable data persistence across reboots. Closes #5 * Updating PTBR translation (#30) Atualização da tradução com a versão mais recente da branch 'dev' * Added Korean translation (#26) * fix(service): ignore placeholder notifications containing package name (#31) - Updated `isJunkNotification` logic in `NotificationReaderService`. - Now filters out notifications where the Title or Text contains the package name (case-insensitive), rather than just exact matches. - This prevents the Dynamic Island from displaying raw package strings (e.g., "com.whatsapp checking...") during background updates. Closes #7 * feat(blocklist): add spoiler and privacy protection and redesign config sheet (#32) - Implemented Blocked Terms logic: Users can now define words to block globally or per-app to prevent spoilers or unwanted notifications. - Redesigned `AppConfigBottomSheet`: Replaced the tabbed layout with a vertical list using expandable cards. This fixes the "bouncy" animation issues when switching sections. - Added `GlobalBlocklistScreen` as a central hub for managing filters. - Added `BlocklistAppListScreen` to configure rules for specific apps, displaying active rule counts per app. - Updated `NotificationReaderService` to filter notifications based on effective blocked terms (Global + App Specific). - Standardized UI: App list items in the blocklist settings now use consistent Card styling. Closes #6 * fix(ui): update library and clarify settings UX - Updated `hyperisland-kit` to 0.3.3 to resolve Issue #9 (Shade visibility bug). - Redesigned `IslandSettingsControl`: - Updated text descriptions to clearly explain 'Float' (Heads-up) vs 'Shade' (System Panel) behavior. - Improved Timeout Slider: Now displays seconds (0-10s) clearly in the header and uses full width for easier adjustment. - Updated English and Spanish translations. Closes #9 * feat(onboarding): enforce HyperOS 3 requirement and improve device info - Updated `CompatibilityPage` to strictly block the "Next" button if the OS is older than HyperOS 3.0. - Added logic to `DeviceUtils` to detect HyperOS 3.0 on Android 15 (API 35) to future-proof against base OS updates. - Implemented `getDeviceMarketName` to display readable model names (e.g., "Xiaomi 14") instead of model codes. - Added a specific UI warning for users on China ROMs regarding potential stability issues. - Updated the Autostart permission description to clarify that the app cannot automatically verify if the permission is granted. Closes #11 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Update PL translation for 0.3.0 (#34) * Add Ukrainian translation (#37) * Updating PTBR translation for v0.3.0 (#38) Atualizando para a versão 0.3.0 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Add missing 0.3.0 Ukrainian strings (#42) (additionally mention Ukrainian translation in changelog) * feat(data): migrate preference storage from DataStore to Room (#43) - Replaced Jetpack DataStore with Room (SQLite) to resolve persistence instability and file locking issues observed on HyperOS devices during boot. - Implemented `AppDatabase`, `SettingsDao`, and `AppSetting` entity to store key-value pairs reliably. - Rewrote `AppPreferences` to interface with the database while maintaining the existing Flow API for the UI. - Added a one-time migration mechanism in `AppPreferences` to automatically transfer existing settings from the legacy DataStore file to the new Room database, ensuring no data loss for current users. - Updated build configuration to include KSP and Room dependencies, and resolved dependency conflicts. Closes #40 * fix(service): enable blocked terms filtering logic - Connected the Blocked Terms data layer to the `NotificationReaderService`. - Previously, terms defined in the UI were saved but ignored by the service. - Implemented Global Blocklist check in `isJunkNotification` (Synchronous) to drop spam immediately. - Implemented App-Specific Blocklist check in `processAndPost` (Asynchronous) to handle per-app spoiler protection. Closes #6, Closes #39 * Updated changelog to add support for Ukrainian * Fixed text buttons and custom actions. --------- Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> Co-authored-by: AlexKoala <alexkoala@alexkoala.com> Co-authored-by: Kacper Skrzypek <kacper@miuipolska.pl> Co-authored-by: Denys <80550709+ItzDFPlayer@users.noreply.github.com> * Update README with new features and localization info Enhanced features section with new capabilities and improved language support. * Dev (#57) * Add Brazilian Portuguese translation (#14) (#16) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(nav): add layout customization and fix text alignment (#18) - Added `NavCustomizationScreen` with live preview to configure Navigation Island layout. - Implemented options to customize Left/Right content (Instruction, Distance, ETA) globally or per app. - Fixed text misalignment bug caused by newline characters in notification extras. - Updated `NavTranslator` to sanitize inputs and respect new layout configs. - Added Spanish translations for new settings. Closes #4 * Add Brazilian Portuguese translation (#14) (#22) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(a11y): improve TalkBack support and semantic navigation (#24) - Implemented custom accessibility actions for the App Priority List (Move Up/Down) to allow reordering without drag gestures. - Added dynamic content descriptions to App List switches and buttons (e.g., "Toggle [App Name]" instead of just "Switch"). - Marked settings group titles as Semantic Headings for faster screen reader navigation. - Added state descriptions to the Navigation Layout Preview to describe the current configuration audibly. - Improved labeling for expand/collapse actions in the Version History screen. - Fixed missing content descriptions on navigation and edit icon buttons. Closes #17 * fix(service): ignore notifications showing package name as content (#28) - Implemented strict check in `isJunkNotification` to block notifications where Title or Text equals the Package Name. - This prevents 'placeholder' notifications (e.g. 'com.whatsapp') from overwriting valid content on the Island. - Logs ignored placeholders for debugging. Closes #7 * fix(deps): downgrade DataStore to resolve boot persistence issues (#29) - Downgraded `androidx.datastore:datastore-preferences` from 1.2.0 to 1.1.7. - The 1.2.0 update introduced a regression on HyperOS/MIUI devices where preference files were not readable immediately after boot, causing the app to reset to the Onboarding screen and lose saved configurations. - Reverting to the stable 1.1.x release restores reliable data persistence across reboots. Closes #5 * Updating PTBR translation (#30) Atualização da tradução com a versão mais recente da branch 'dev' * Added Korean translation (#26) * fix(service): ignore placeholder notifications containing package name (#31) - Updated `isJunkNotification` logic in `NotificationReaderService`. - Now filters out notifications where the Title or Text contains the package name (case-insensitive), rather than just exact matches. - This prevents the Dynamic Island from displaying raw package strings (e.g., "com.whatsapp checking...") during background updates. Closes #7 * feat(blocklist): add spoiler and privacy protection and redesign config sheet (#32) - Implemented Blocked Terms logic: Users can now define words to block globally or per-app to prevent spoilers or unwanted notifications. - Redesigned `AppConfigBottomSheet`: Replaced the tabbed layout with a vertical list using expandable cards. This fixes the "bouncy" animation issues when switching sections. - Added `GlobalBlocklistScreen` as a central hub for managing filters. - Added `BlocklistAppListScreen` to configure rules for specific apps, displaying active rule counts per app. - Updated `NotificationReaderService` to filter notifications based on effective blocked terms (Global + App Specific). - Standardized UI: App list items in the blocklist settings now use consistent Card styling. Closes #6 * fix(ui): update library and clarify settings UX - Updated `hyperisland-kit` to 0.3.3 to resolve Issue #9 (Shade visibility bug). - Redesigned `IslandSettingsControl`: - Updated text descriptions to clearly explain 'Float' (Heads-up) vs 'Shade' (System Panel) behavior. - Improved Timeout Slider: Now displays seconds (0-10s) clearly in the header and uses full width for easier adjustment. - Updated English and Spanish translations. Closes #9 * feat(onboarding): enforce HyperOS 3 requirement and improve device info - Updated `CompatibilityPage` to strictly block the "Next" button if the OS is older than HyperOS 3.0. - Added logic to `DeviceUtils` to detect HyperOS 3.0 on Android 15 (API 35) to future-proof against base OS updates. - Implemented `getDeviceMarketName` to display readable model names (e.g., "Xiaomi 14") instead of model codes. - Added a specific UI warning for users on China ROMs regarding potential stability issues. - Updated the Autostart permission description to clarify that the app cannot automatically verify if the permission is granted. Closes #11 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Update PL translation for 0.3.0 (#34) * Add Ukrainian translation (#37) * Updating PTBR translation for v0.3.0 (#38) Atualizando para a versão 0.3.0 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Add missing 0.3.0 Ukrainian strings (#42) (additionally mention Ukrainian translation in changelog) * feat(data): migrate preference storage from DataStore to Room (#43) - Replaced Jetpack DataStore with Room (SQLite) to resolve persistence instability and file locking issues observed on HyperOS devices during boot. - Implemented `AppDatabase`, `SettingsDao`, and `AppSetting` entity to store key-value pairs reliably. - Rewrote `AppPreferences` to interface with the database while maintaining the existing Flow API for the UI. - Added a one-time migration mechanism in `AppPreferences` to automatically transfer existing settings from the legacy DataStore file to the new Room database, ensuring no data loss for current users. - Updated build configuration to include KSP and Room dependencies, and resolved dependency conflicts. Closes #40 * fix(service): enable blocked terms filtering logic - Connected the Blocked Terms data layer to the `NotificationReaderService`. - Previously, terms defined in the UI were saved but ignored by the service. - Implemented Global Blocklist check in `isJunkNotification` (Synchronous) to drop spam immediately. - Implemented App-Specific Blocklist check in `processAndPost` (Asynchronous) to handle per-app spoiler protection. Closes #6, Closes #39 * Updated changelog to add support for Ukrainian * Fixed text buttons and custom actions. * feat(app): add backup system, language selector, and UI refresh - **Backup & Restore**: Implemented a complete system to export/import settings, blocklists, and priorities via `.hbr` JSON files. - **Localization**: Added an in-app Language Selector and support for German (de) and Russian (ru). - **UI Overhaul**: Updated the entire settings and onboarding experience to **Material 3 Expressive** design (Large Top Bars, increased roundness, surface colors). - **Onboarding**: Added a Privacy Page explaining offline architecture and improved HyperOS 3.0 compatibility checks. - **Fixes**: Resolved Navigation "Exit" button rendering as an icon instead of text, and fixed App Icon loading in the Settings screen. - **Changelog**: Updated release notes for v0.3.1. Closes #41 * Feature/ru de language (#52) * Dev (#47) * Add Brazilian Portuguese translation (#14) (#16) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(nav): add layout customization and fix text alignment (#18) - Added `NavCustomizationScreen` with live preview to configure Navigation Island layout. - Implemented options to customize Left/Right content (Instruction, Distance, ETA) globally or per app. - Fixed text misalignment bug caused by newline characters in notification extras. - Updated `NavTranslator` to sanitize inputs and respect new layout configs. - Added Spanish translations for new settings. Closes #4 * Add Brazilian Portuguese translation (#14) (#22) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(a11y): improve TalkBack support and semantic navigation (#24) - Implemented custom accessibility actions for the App Priority List (Move Up/Down) to allow reordering without drag gestures. - Added dynamic content descriptions to App List switches and buttons (e.g., "Toggle [App Name]" instead of just "Switch"). - Marked settings group titles as Semantic Headings for faster screen reader navigation. - Added state descriptions to the Navigation Layout Preview to describe the current configuration audibly. - Improved labeling for expand/collapse actions in the Version History screen. - Fixed missing content descriptions on navigation and edit icon buttons. Closes #17 * fix(service): ignore notifications showing package name as content (#28) - Implemented strict check in `isJunkNotification` to block notifications where Title or Text equals the Package Name. - This prevents 'placeholder' notifications (e.g. 'com.whatsapp') from overwriting valid content on the Island. - Logs ignored placeholders for debugging. Closes #7 * fix(deps): downgrade DataStore to resolve boot persistence issues (#29) - Downgraded `androidx.datastore:datastore-preferences` from 1.2.0 to 1.1.7. - The 1.2.0 update introduced a regression on HyperOS/MIUI devices where preference files were not readable immediately after boot, causing the app to reset to the Onboarding screen and lose saved configurations. - Reverting to the stable 1.1.x release restores reliable data persistence across reboots. Closes #5 * Updating PTBR translation (#30) Atualização da tradução com a versão mais recente da branch 'dev' * Added Korean translation (#26) * fix(service): ignore placeholder notifications containing package name (#31) - Updated `isJunkNotification` logic in `NotificationReaderService`. - Now filters out notifications where the Title or Text contains the package name (case-insensitive), rather than just exact matches. - This prevents the Dynamic Island from displaying raw package strings (e.g., "com.whatsapp checking...") during background updates. Closes #7 * feat(blocklist): add spoiler and privacy protection and redesign config sheet (#32) - Implemented Blocked Terms logic: Users can now define words to block globally or per-app to prevent spoilers or unwanted notifications. - Redesigned `AppConfigBottomSheet`: Replaced the tabbed layout with a vertical list using expandable cards. This fixes the "bouncy" animation issues when switching sections. - Added `GlobalBlocklistScreen` as a central hub for managing filters. - Added `BlocklistAppListScreen` to configure rules for specific apps, displaying active rule counts per app. - Updated `NotificationReaderService` to filter notifications based on effective blocked terms (Global + App Specific). - Standardized UI: App list items in the blocklist settings now use consistent Card styling. Closes #6 * fix(ui): update library and clarify settings UX - Updated `hyperisland-kit` to 0.3.3 to resolve Issue #9 (Shade visibility bug). - Redesigned `IslandSettingsControl`: - Updated text descriptions to clearly explain 'Float' (Heads-up) vs 'Shade' (System Panel) behavior. - Improved Timeout Slider: Now displays seconds (0-10s) clearly in the header and uses full width for easier adjustment. - Updated English and Spanish translations. Closes #9 * feat(onboarding): enforce HyperOS 3 requirement and improve device info - Updated `CompatibilityPage` to strictly block the "Next" button if the OS is older than HyperOS 3.0. - Added logic to `DeviceUtils` to detect HyperOS 3.0 on Android 15 (API 35) to future-proof against base OS updates. - Implemented `getDeviceMarketName` to display readable model names (e.g., "Xiaomi 14") instead of model codes. - Added a specific UI warning for users on China ROMs regarding potential stability issues. - Updated the Autostart permission description to clarify that the app cannot automatically verify if the permission is granted. Closes #11 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Update PL translation for 0.3.0 (#34) * Add Ukrainian translation (#37) * Updating PTBR translation for v0.3.0 (#38) Atualizando para a versão 0.3.0 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Add missing 0.3.0 Ukrainian strings (#42) (additionally mention Ukrainian translation in changelog) * feat(data): migrate preference storage from DataStore to Room (#43) - Replaced Jetpack DataStore with Room (SQLite) to resolve persistence instability and file locking issues observed on HyperOS devices during boot. - Implemented `AppDatabase`, `SettingsDao`, and `AppSetting` entity to store key-value pairs reliably. - Rewrote `AppPreferences` to interface with the database while maintaining the existing Flow API for the UI. - Added a one-time migration mechanism in `AppPreferences` to automatically transfer existing settings from the legacy DataStore file to the new Room database, ensuring no data loss for current users. - Updated build configuration to include KSP and Room dependencies, and resolved dependency conflicts. Closes #40 * fix(service): enable blocked terms filtering logic - Connected the Blocked Terms data layer to the `NotificationReaderService`. - Previously, terms defined in the UI were saved but ignored by the service. - Implemented Global Blocklist check in `isJunkNotification` (Synchronous) to drop spam immediately. - Implemented App-Specific Blocklist check in `processAndPost` (Asynchronous) to handle per-app spoiler protection. Closes #6, Closes #39 * Updated changelog to add support for Ukrainian * Fixed text buttons and custom actions. --------- Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> Co-authored-by: AlexKoala <alexkoala@alexkoala.com> Co-authored-by: Kacper Skrzypek <kacper@miuipolska.pl> Co-authored-by: Denys <80550709+ItzDFPlayer@users.noreply.github.com> * Update README with new features and localization info Enhanced features section with new capabilities and improved language support. * Add files * Add Russian localization strings Added Russian localization strings for the application. * Update * Update * Update * Update * Update * Update 2 * Update 2 * Update 2 * Update 2 * Add German localization to strings.xml Added German localization strings for the app. * Korean translation addition * Update 2 * u * Add German translations * Delete app/src/main/res/values-deu directory * Update 2 * Update strings.xml * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml Removed Russian and German language options from the strings. * Update strings.xml Removed Russian and German language options from the strings. * Update strings.xml * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml * -</resources> Updated privacy strings to clarify offline processing and security. * Update Ukrainian Added new strings for privacy settings, backup options, and language selection in the Ukrainian localization. * Update Russian * Update Português Brasileiro Added new strings for privacy, backup, and language settings. * Update polski Added new strings for privacy, language options, backup, and UI updates. * Fix polski Corrected the capitalization of language names in Polish localization. * Update Korean Added Korean localization strings for backup, privacy, and optimization features. * fix español Updated privacy title and description strings in Spanish. * Update Deutsch * fix Polish --------- Co-authored-by: David Df <dominguezfondodavid@gmail.com> Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> Co-authored-by: AlexKoala <alexkoala@alexkoala.com> Co-authored-by: Kacper Skrzypek <kacper@miuipolska.pl> Co-authored-by: Denys <80550709+ItzDFPlayer@users.noreply.github.com> * Added Russian and German to the language selector. Fixed strings tags * Feature/ru de language (#54) * Dev (#47) * Add Brazilian Portuguese translation (#14) (#16) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(nav): add layout customization and fix text alignment (#18) - Added `NavCustomizationScreen` with live preview to configure Navigation Island layout. - Implemented options to customize Left/Right content (Instruction, Distance, ETA) globally or per app. - Fixed text misalignment bug caused by newline characters in notification extras. - Updated `NavTranslator` to sanitize inputs and respect new layout configs. - Added Spanish translations for new settings. Closes #4 * Add Brazilian Portuguese translation (#14) (#22) Primeiro commit para adicionar a tradução para português brasileiro Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> * feat(a11y): improve TalkBack support and semantic navigation (#24) - Implemented custom accessibility actions for the App Priority List (Move Up/Down) to allow reordering without drag gestures. - Added dynamic content descriptions to App List switches and buttons (e.g., "Toggle [App Name]" instead of just "Switch"). - Marked settings group titles as Semantic Headings for faster screen reader navigation. - Added state descriptions to the Navigation Layout Preview to describe the current configuration audibly. - Improved labeling for expand/collapse actions in the Version History screen. - Fixed missing content descriptions on navigation and edit icon buttons. Closes #17 * fix(service): ignore notifications showing package name as content (#28) - Implemented strict check in `isJunkNotification` to block notifications where Title or Text equals the Package Name. - This prevents 'placeholder' notifications (e.g. 'com.whatsapp') from overwriting valid content on the Island. - Logs ignored placeholders for debugging. Closes #7 * fix(deps): downgrade DataStore to resolve boot persistence issues (#29) - Downgraded `androidx.datastore:datastore-preferences` from 1.2.0 to 1.1.7. - The 1.2.0 update introduced a regression on HyperOS/MIUI devices where preference files were not readable immediately after boot, causing the app to reset to the Onboarding screen and lose saved configurations. - Reverting to the stable 1.1.x release restores reliable data persistence across reboots. Closes #5 * Updating PTBR translation (#30) Atualização da tradução com a versão mais recente da branch 'dev' * Added Korean translation (#26) * fix(service): ignore placeholder notifications containing package name (#31) - Updated `isJunkNotification` logic in `NotificationReaderService`. - Now filters out notifications where the Title or Text contains the package name (case-insensitive), rather than just exact matches. - This prevents the Dynamic Island from displaying raw package strings (e.g., "com.whatsapp checking...") during background updates. Closes #7 * feat(blocklist): add spoiler and privacy protection and redesign config sheet (#32) - Implemented Blocked Terms logic: Users can now define words to block globally or per-app to prevent spoilers or unwanted notifications. - Redesigned `AppConfigBottomSheet`: Replaced the tabbed layout with a vertical list using expandable cards. This fixes the "bouncy" animation issues when switching sections. - Added `GlobalBlocklistScreen` as a central hub for managing filters. - Added `BlocklistAppListScreen` to configure rules for specific apps, displaying active rule counts per app. - Updated `NotificationReaderService` to filter notifications based on effective blocked terms (Global + App Specific). - Standardized UI: App list items in the blocklist settings now use consistent Card styling. Closes #6 * fix(ui): update library and clarify settings UX - Updated `hyperisland-kit` to 0.3.3 to resolve Issue #9 (Shade visibility bug). - Redesigned `IslandSettingsControl`: - Updated text descriptions to clearly explain 'Float' (Heads-up) vs 'Shade' (System Panel) behavior. - Improved Timeout Slider: Now displays seconds (0-10s) clearly in the header and uses full width for easier adjustment. - Updated English and Spanish translations. Closes #9 * feat(onboarding): enforce HyperOS 3 requirement and improve device info - Updated `CompatibilityPage` to strictly block the "Next" button if the OS is older than HyperOS 3.0. - Added logic to `DeviceUtils` to detect HyperOS 3.0 on Android 15 (API 35) to future-proof against base OS updates. - Implemented `getDeviceMarketName` to display readable model names (e.g., "Xiaomi 14") instead of model codes. - Added a specific UI warning for users on China ROMs regarding potential stability issues. - Updated the Autostart permission description to clarify that the app cannot automatically verify if the permission is granted. Closes #11 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Update PL translation for 0.3.0 (#34) * Add Ukrainian translation (#37) * Updating PTBR translation for v0.3.0 (#38) Atualizando para a versão 0.3.0 * docs(release): update changelog resources for v0.3.0 "The Global Update" - Added comprehensive release notes for version 0.3.0 in English and Spanish. - Highlighted key features: "Hidden Notification" (Shade toggle), Navigation Customization, and Spoiler Protection. - Added acknowledgments for community contributions regarding new language support (Portuguese, Polish, Korean). - Updated version title to "The Global Update". * Add missing 0.3.0 Ukrainian strings (#42) (additionally mention Ukrainian translation in changelog) * feat(data): migrate preference storage from DataStore to Room (#43) - Replaced Jetpack DataStore with Room (SQLite) to resolve persistence instability and file locking issues observed on HyperOS devices during boot. - Implemented `AppDatabase`, `SettingsDao`, and `AppSetting` entity to store key-value pairs reliably. - Rewrote `AppPreferences` to interface with the database while maintaining the existing Flow API for the UI. - Added a one-time migration mechanism in `AppPreferences` to automatically transfer existing settings from the legacy DataStore file to the new Room database, ensuring no data loss for current users. - Updated build configuration to include KSP and Room dependencies, and resolved dependency conflicts. Closes #40 * fix(service): enable blocked terms filtering logic - Connected the Blocked Terms data layer to the `NotificationReaderService`. - Previously, terms defined in the UI were saved but ignored by the service. - Implemented Global Blocklist check in `isJunkNotification` (Synchronous) to drop spam immediately. - Implemented App-Specific Blocklist check in `processAndPost` (Asynchronous) to handle per-app spoiler protection. Closes #6, Closes #39 * Updated changelog to add support for Ukrainian * Fixed text buttons and custom actions. --------- Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> Co-authored-by: AlexKoala <alexkoala@alexkoala.com> Co-authored-by: Kacper Skrzypek <kacper@miuipolska.pl> Co-authored-by: Denys <80550709+ItzDFPlayer@users.noreply.github.com> * Update README with new features and localization info Enhanced features section with new capabilities and improved language support. * Add files * Add Russian localization strings Added Russian localization strings for the application. * Update * Update * Update * Update * Update * Update 2 * Update 2 * Update 2 * Update 2 * Add German localization to strings.xml Added German localization strings for the app. * Korean translation addition * Update 2 * u * Add German translations * Delete app/src/main/res/values-deu directory * Update 2 * Update strings.xml * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml Removed Russian and German language options from the strings. * Update strings.xml Removed Russian and German language options from the strings. * Update strings.xml * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml Removed Russian and German language options from the list. * Update strings.xml * -</resources> Updated privacy strings to clarify offline processing and security. * Update Ukrainian Added new strings for privacy settings, backup options, and language selection in the Ukrainian localization. * Update Russian * Update Português Brasileiro Added new strings for privacy, backup, and language settings. * Update polski Added new strings for privacy, language options, backup, and UI updates. * Fix polski Corrected the capitalization of language names in Polish localization. * Update Korean Added Korean localization strings for backup, privacy, and optimization features. * fix español Updated privacy title and description strings in Spanish. * Update Deutsch * fix Polish * de fix * ru fix * uk fix --------- Co-authored-by: David Df <dominguezfondodavid@gmail.com> Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> Co-authored-by: AlexKoala <alexkoala@alexkoala.com> Co-authored-by: Kacper Skrzypek <kacper@miuipolska.pl> Co-authored-by: Denys <80550709+ItzDFPlayer@users.noreply.github.com> * fix(app): Fixed bold tags on russian strings.xml and updated the AppListItem.kt behaviour * fix(app): Fixed language * fix(app): fixed log modal --------- Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> Co-authored-by: AlexKoala <alexkoala@alexkoala.com> Co-authored-by: Kacper Skrzypek <kacper@miuipolska.pl> Co-authored-by: Denys <80550709+ItzDFPlayer@users.noreply.github.com> Co-authored-by: kilo3528 <71942463+kilo3528@users.noreply.github.com> --------- Co-authored-by: Daniel Ramos <69496904+NIICKTCHUNS@users.noreply.github.com> Co-authored-by: AlexKoala <alexkoala@alexkoala.com> Co-authored-by: Kacper Skrzypek <kacper@miuipolska.pl> Co-authored-by: Denys <80550709+ItzDFPlayer@users.noreply.github.com> Co-authored-by: kilo3528 <71942463+kilo3528@users.noreply.github.com> * feat(app): Updated library to version 0.4.3 Added support for Widgets inside notifications and HyperIsland. Updated colored icons for calls. Added timer to call islands. * fix(app): Show firstisland expand * feat: add snapshot mode, per-widget settings, and revamp design screen - Implement `WidgetRenderMode` (Snapshot vs. Interactive) to fix empty lists in RemoteViews. - Refactor `AppPreferences` to store configuration per widget ID using dynamic keys. - Revamp `DesignScreen` UI: grouped category cards and restored FAB bottom sheet. - Implement nested navigation for Design tab (Dashboard -> App List -> Widget Detail). - Fix `SecurityException` crash by safely handling non-exported widget config activities. - Remove illegal `ACTION_APPWIDGET_UPDATE` broadcast causing `DeadObjectException`. - Add `getWidgetBitmap` to `WidgetManager` for capturing view-based snapshots. - Update `WidgetConfigScreen` with scrollable layout, live preview updates, and M3 styling. * feat(widget): overhaul config UI, add search, and improve performance - Redesign `WidgetConfigScreen` with tabbed settings (Appearance/Behavior), live preview, and floating toolbar. - Revamp `WidgetPickerScreen` with app search, expandable groups, and async preview loading. - Implement `WidgetConfig` data model to centralize settings (Size, Render Mode, Timeout, Auto Update). - Add "Auto Refresh" capability for Snapshot mode to periodically update static views. - Optimize `NotificationReaderService` by caching app labels and moving junk checks to IO dispatcher. - Fix service initialization crash by ensuring translators load before `WidgetManager`. - Improve `WidgetManager` bitmap capture quality and refactor `RemoteViews` caching mechanism. - Add English and Spanish translations for …
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.
Primeiro commit para adicionar a tradução para português brasileiro