Repository navigation
Develop - OTP in island, customizable battery levels for Duo, Camera position based island improvements, fix battery alerts, balance island option, fix background conscious gate haptics, fix island notification reply text, prioritize progress over timer for island, keep island notifications always, fix calls in island, secondary island bubble toggle, local network permission, watch face is live, fix search input persistency and more - #1426
Merged
Conversation
…plugin_handler # Conflicts: # app/src/main/java/com/sameerasw/essentials/island/plugins/notifications/NotificationsPlugin.kt # app/src/main/java/com/sameerasw/essentials/ui/features/display/IslandSubSettingsUI.kt
…h grant state on resume, re-allow listener if lost, test queue reindexing
…gate enabling on it
## Description <!-- Describe what this PR changes and why. If it resolves an issue, link it here: e.g. Closes #123 --> Given any code that matches the regex for a OTP code or Single Code sign in, show island with copy and dismiss info with the code on the island. That way if the user have the android heads up turn off via app, the Island gracefully show it to the user with different option to show from. _If the user enables this feature, in case that the app still don't have the Shizuku permission, once enable the user will be prompted to grant permission since android censors this types of notification since Android 14 afaik, granting access with ADB, shizuku ~or root obvs~ will enable island to show this info._ ## Type of change - [ ] Bug fix - [x] New feature - [ ] UI / visual update - [ ] Performance improvement - [ ] Refactoring / cleanup - [ ] Translations - [ ] Build / CI tooling ## UI changes <!-- Required if this PR changes or adds UI. Please attach screenshots or a screen recording. --> Showing island and code with default options and line peek mode: https://github.com/user-attachments/assets/e8d81328-c06a-41e3-87b2-a1dfbee5287b _while OTP testing can be difficult, this was tested using a real device using adb commands to mimick different cases of codes, arranging from 3 to 8 char codes, google OTPS like G-12345 and also depending on the email, long text still sometimes will match the logic, this depends on the notification data and it's preview to see if it's contain this._ ## Checklist Before submitting, please make sure: - [x] The base branch is set to `develop` (not `main`). - [x] The app builds cleanly locally with `./gradlew assembleDebug`. - [x] Unit tests pass with `./gradlew testDebugUnitTest`. - [x] You tested the changes on a device or emulator (including Shizuku or Root if applicable). - [x] New preferences use `SettingsRepository` for keys and getter/setter methods. - [x] New user-facing settings are registered in `FeatureRegistry.kt` for search indexing. - [x] New UI follows the design system in `ui/core/` (`RoundedCardContainer`, `IconToggleItem`, etc.). - [x] Strings are added to `res/values/strings.xml` and drawables use rounded variants (`R.drawable.rounded_*`).
…ve or screen is off
…l network permission flow
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.
Description
This pull request introduces several new features and improvements, primarily focusing on enhanced notification and battery alert options, as well as expanded app permission handling. It also includes updates to the app version and minor codebase enhancements for better maintainability.
New features and settings:
SettingsRepository, including options for enabling OTP, tap-to-copy, dismiss after copy, bypass filter, and timeout. Corresponding getters/setters were implemented. (app/src/main/java/com/sameerasw/essentials/data/repository/SettingsRepository.kt[1] [2]app/src/main/java/com/sameerasw/essentials/data/repository/SettingsRepository.kt[1] [2]app/src/main/java/com/sameerasw/essentials/data/repository/SettingsRepository.kt[1] [2]Permission and feature registry updates:
app/src/main/java/com/sameerasw/essentials/domain/model/AppPermission.kt[1] [2];app/src/main/java/com/sameerasw/essentials/domain/registry/PermissionRegistry.kt[3]app/src/main/java/com/sameerasw/essentials/domain/registry/FeatureRegistry.kt[1] [2] [3]Battery alerts and notification improvements:
BatteryAlertsPluginto better handle enabling/disabling alerts, peeking behavior, and rendering updates. (app/src/main/java/com/sameerasw/essentials/island/plugins/batteryalerts/BatteryAlertsPlugin.kt[1] [2] [3] [4] [5]otpCodefield toActiveNotificationAlertto support OTP extraction. (app/src/main/java/com/sameerasw/essentials/domain/model/ActiveNotificationAlert.ktapp/src/main/java/com/sameerasw/essentials/domain/model/ActiveNotificationAlert.ktR31)App version and manifest updates:
20.0and incremented thewhatsNewCounter. (app/build.gradle.ktsapp/build.gradle.ktsL118-R121)ACCESS_LOCAL_NETWORKpermission to the Android manifest. (app/src/main/AndroidManifest.xmlapp/src/main/AndroidManifest.xmlR6)Codebase enhancements:
app/src/main/java/com/sameerasw/essentials/island/model/IslandModels.kt[1];app/src/main/java/com/sameerasw/essentials/island/model/IslandPlugin.kt[2]app/src/main/java/com/sameerasw/essentials/data/repository/SettingsRepository.kt[1];app/src/main/java/com/sameerasw/essentials/domain/model/AppPermission.kt[2];app/src/main/java/com/sameerasw/essentials/island/plugins/call/CallPlugin.kt[3]Type of change