Remove full screen refresh after a hold-select that selects nothing

Open Beginner friendly
#396 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
70/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
android, kotlin

Research direction

Start at EpdRefreshArbiter.kt around line 86 and trace the acquire("gesture") / release path to see where a hold-select ends without a selection. Find the gesture handler that knows the selection rectangle bounds, then change the no-selection end to clearTransientUpdate(false) and refresh only that area. Done means no full-screen flash after an empty hold-select and no ghosting when checked on a BOOX device.

Written by the indexing model from the issue text.

Description

A hold-select that selects nothing ends with a full-screen refresh (flash) -- it could be removed.

### Cause The gesture holds the fast animation refresh mode (`EpdRefreshArbiter.acquire("gesture")`) and releases it 500 ms after lift. With no selection to keep the mode on, it is the last release, so `EpdController.clearTransientUpdate(true)` runs (`EpdRefreshArbiter.kt:86`), which does a full clean refresh. A real selection gets the same flash later, when it is dismissed.
Possible fix

When the mode ends after a gesture with no selection, use clearTransientUpdate(false) and refresh only the area the selection rectangle covered. Check on a device that this leaves no ghosting.
</details?

Dominant language
Kotlin
Stars
269
Forks
44
Avg merge
1d 17h
Merged PRs (30d)
22

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Ethran/notable

All issues in Ethran/notable

Similar issues

More Kotlin issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.