Skip to content

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
sameerasw merged 32 commits into
mainfrom
develop
Oct 18, 2026

Conversation

@sameerasw

Copy link
Copy Markdown
Owner

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:

  • Added new notification OTP (One-Time Password) settings and related keys to 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]
  • Introduced new battery level thresholds for Duo devices, with configurable low and critical levels and associated methods. (app/src/main/java/com/sameerasw/essentials/data/repository/SettingsRepository.kt [1] [2]
  • Added new "balance compact" and "secondary bubble" options for the Island feature, including settings keys and accessors. (app/src/main/java/com/sameerasw/essentials/data/repository/SettingsRepository.kt [1] [2]

Permission and feature registry updates:

  • Added support for new app permissions: "SENSITIVE_NOTIFICATIONS" and "LOCAL_NETWORK", including permission checks and registry entries. (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]
  • Registered new settings in the feature registry for the above features, making them searchable and configurable. (app/src/main/java/com/sameerasw/essentials/domain/registry/FeatureRegistry.kt [1] [2] [3]

Battery alerts and notification improvements:

  • Improved the logic in BatteryAlertsPlugin to 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]
  • Added an optional otpCode field to ActiveNotificationAlert to support OTP extraction. (app/src/main/java/com/sameerasw/essentials/domain/model/ActiveNotificationAlert.kt app/src/main/java/com/sameerasw/essentials/domain/model/ActiveNotificationAlert.ktR31)

App version and manifest updates:

Codebase enhancements:

  • Added new interaction and plugin callback hooks for improved extensibility. (app/src/main/java/com/sameerasw/essentials/island/model/IslandModels.kt [1]; app/src/main/java/com/sameerasw/essentials/island/model/IslandPlugin.kt [2]
  • Minor import and dependency additions for utility classes and Android APIs. (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

  • Bug fix
  • New feature
  • UI / visual update
  • Performance improvement
  • Refactoring / cleanup
  • Translations
  • Build / CI tooling

isaacsa51 and others added 30 commits October 14, 2026 13:16
…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
## 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_*`).
@sameerasw sameerasw self-assigned this Oct 18, 2026
@sameerasw sameerasw added bug Something isn't working enhancement New feature or request labels Oct 18, 2026
@sameerasw
sameerasw merged commit dec2a96 into main Oct 18, 2026
1 check passed
@github-project-automation github-project-automation Bot moved this from Backlog to Done in Essentials Progress Oct 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working enhancement New feature or request

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants