Conversation
…e read in updateScroll; the other warnings predate this change. - Added a persistent scrollBackBuffer: Bitmap? field. - updateScroll now reuses that spare (validated against current width/height/config) instead of createBitmap on every event, and ping-pongs: the outgoing windowedBitmap becomes the next spare.
…flation and improved observer management.
### Sync & Core
- **EditorControlTower**:
- Replaced immediate scroll processing with a non-blocking `requestScroll` system using `MutableStateFlow` to accumulate deltas.
- Introduced a `scrollConsumerJob` that conflates high-frequency touch events into a single render pass per frame, improving performance during fast scrolls.
- **einkHelper**:
- Added a dedicated `screenFreezeScope` and `screenFreezeResetJob` to `resetScreenFreeze`.
- Implemented job cancellation to coalesce overlapping resume calls, preventing timer stacking and log flooding during continuous interaction.
### UI & Canvas
- **CanvasObserverRegistry**:
- Implemented a dedicated `observerScope` and static `activeObserverJob` tracking to ensure previous observers are cancelled when a new registry is created, preventing memory leaks and duplicate refreshes.
- Optimized `observeRefreshUiImmediately` by adding `conflate()` and manual deduplication of scroll and zoom values to avoid redundant EPD refreshes when content hasn't changed.
- Migrated all internal observers to the managed `observerScope`.
### Gestures
- **EditorGestureReceiver**:
- Simplified gesture handling by removing manual `overdueScroll` tracking.
- Updated touch, drag, and zoom handlers to use the new asynchronous `requestScroll` API.
### Build
- **app/build.gradle**: Updated `versionCode` to 36 and `versionName` to 0.2.2.
### UI & UX
- **Settings.kt**:
- Commented out the "Sync" tab from the settings menu.
- Updated tab navigation logic to skip the Sync settings view and re-indexed the Debug settings tab.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.