Repository navigation
Conversation
… and best-split optimization
…te_outline_from_expanded # Conflicts: # app/src/main/java/com/sameerasw/essentials/data/repository/SettingsRepository.kt # app/src/main/java/com/sameerasw/essentials/island/service/IslandCoordinator.kt # app/src/main/java/com/sameerasw/essentials/island/state/CompactCellWidths.kt # app/src/main/java/com/sameerasw/essentials/island/state/CompactLayoutEngine.kt # app/src/main/java/com/sameerasw/essentials/island/state/IslandController.kt # app/src/main/res/values-fr/strings.xml # app/src/main/res/values-ru/strings.xml # app/src/main/res/values-si/strings.xml # app/src/main/res/values-uk/strings.xml # app/src/main/res/values-vi/strings.xml
…te_outline_from_expanded # Conflicts: # app/src/main/java/com/sameerasw/essentials/island/ui/IslandRoot.kt
…rement recording to active targets
…igation (#1767) <!-- New features need an issue labeled `approved` and assigned to you before you open a PR. Feature PRs without one will be closed. See CONTRIBUTING.md. --> ## Linked issue Closes #1765 ## Description <!-- What does this PR change and why? --> Fixes the reported issue of navigation and music playing loop on island to not show any content itself. The error was that the island was measuring the navigation rendering as a whole chip, while the music or any live notification using width since the new options to double it's width. **Root cause** `CompactTemplate` measures a chip as one unit. `CompactCellWidths.record()` stored that unit's whole width under its first cell key. Which cell comes first depends on the arrangement: - On the left side of the camera the cell order is reversed, so the width jumped between the `icon` and `value` keys whenever the chip changed sides. This caused phantom width changes, or double counting when the old value was kept. - Content animating out in `AnimatedContent` kept measuring with its old grouping. It overwrote the widths the incoming content had just reported, and each write triggered another relayout. Because the measured widths depended on the arrangement, and the arrangement depended on the widths, the balancer never settled. **Fix** - `CompactCellWidths.record()` splits a unit's width evenly across its cells, in sorted key order. An item's total width now stays the same on either side of the camera and whether it's grouped or split. `onChange` fires only when a cell's width changes by more than the jitter threshold. - `CompactTemplate` only records widths from the content a slot is animating to (`k == target`), so outgoing content can't overwrite current measurements. ## Type of change - [x] Bug fix - [ ] New feature - [ ] Translations - [ ] Documentation - [ ] Build / CI tooling ## UI changes <!-- Required if this PR changes or adds UI. Please attach screenshots or a screen recording. --> _Sorry if the video is really laggy, for some reason it lags on logcat recordings and didn't have a better way to demostrate using the emulator_ [Screen_recording_20261112_030033.webm](https://github.com/user-attachments/assets/4d26fa76-3e18-4dde-8861-d9eacb9cb860) ## Checklist - [x] For new features: the linked issue is labeled `approved` and assigned to me. - [x] This PR covers a single feature or fix and is under ~1,000 changed lines (or the size was agreed in the issue). - [x] The base branch is `develop`. - [x] `./gradlew assembleDebug` and `./gradlew testDebugUnitTest` pass. - [x] I tested the changes on a device or emulator (including Shizuku or Root if applicable). - [x] I understand every line of this change and can explain it in review, including any AI-assisted code. - [x] The code follows the [Development Guide](https://github.com/sameerasw/essentials/blob/develop/docs/DEVELOPMENT_GUIDE.md).
…arge limit is holding
) <!-- New features need an issue labeled `approved` and assigned to you before you open a PR. Feature PRs without one will be closed. See CONTRIBUTING.md. --> ## Linked issue N/A ## Description <!-- What does this PR change and why? --> Small enhancement and follow up of current android battery icon with indicators. This PR adds the missing lightning icon and + glyph on the battery icon on island. Also fixes and implements current text color contrast. ## Type of change - [x] Bug fix - [ ] New feature - [ ] Translations - [ ] Documentation - [ ] Build / CI tooling ## UI changes <!-- Required if this PR changes or adds UI. Please attach screenshots or a screen recording. --> <img width="1344" height="352" alt="Screenshot_20261110-010938" src="https://github.com/user-attachments/assets/e9a8732b-1162-4250-baa8-20f60e823307" /> <img width="1344" height="352" alt="Screenshot_20261110-010954" src="https://github.com/user-attachments/assets/d5da46a0-2c4b-44de-802c-250057631a27" /> <img width="1344" height="352" alt="Screenshot_20261110-011004" src="https://github.com/user-attachments/assets/3ae9be67-0ad6-4fd0-a760-e323ed60dca3" /> <img width="1343" height="352" alt="Screenshot_20261110-011031" src="https://github.com/user-attachments/assets/72a6b90f-7eaa-4e6a-9f63-9bdb52b6bcfe" /> <img width="824" height="162" alt="Image" src="https://github.com/user-attachments/assets/bc558e7d-f99a-46d5-89dd-33ecdd8b4f07" /> ## Checklist - [x] For new features: the linked issue is labeled `approved` and assigned to me. - [x] This PR covers a single feature or fix and is under ~1,000 changed lines (or the size was agreed in the issue). - [x] The base branch is `develop`. - [x] `./gradlew assembleDebug` and `./gradlew testDebugUnitTest` pass. - [x] I tested the changes on a device or emulator (including Shizuku or Root if applicable). - [x] I understand every line of this change and can explain it in review, including any AI-assisted code. - [x] The code follows the [Development Guide](https://github.com/sameerasw/essentials/blob/develop/docs/DEVELOPMENT_GUIDE.md).
## Description <!-- Describe what this PR changes and why. If it resolves an issue, link it here: e.g. Closes #123 --> Small quick fix, current outline doesnt animate when the transition of expanded and outline off is enabled leaving to a pop of the outline render. This PR just adds a quick animation/transition to it. ## Type of change - [x] Bug fix - [ ] 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. --> slow and manual expanded/collapsed transition leaving how the outline changes opacity given the transition between states. <img width="586" height="280" alt="outline" src="https://github.com/user-attachments/assets/9399c9b5-8c00-4033-b690-fa616075dd27" /> ## 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). - [ ] New preferences use `SettingsRepository` for keys and getter/setter methods. - [ ] 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.). - [ ] Strings are added to `res/values/strings.xml` and drawables use rounded variants (`R.drawable.rounded_*`).
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.
Type of change