-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Automatic "safe display mode" for e-ink devices #17618
Comments
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
@david-allison There is no method present in the Display class to check the display type, but the refresh rate of an e-ink display is very low, and Android provides a method to fetch the screen refresh rate. https://stackoverflow.com/questions/15221787/android-how-to-detect-an-e-ink-screen |
@Aditya13s Check the comments on the answer:
|
We can show an option on the onboarding screen to check if the display is e-ink or not |
Don't ask the user anything during onboarding which they don't need. They're already facing information overload and it should be due to high-value knowledge. Question 1: Is there a library which already exists?
|
seems like a "likely e-ink device" list from some mix of android.os.Build items is reasonable It will likely be small. I haven't seen any library, I imagine just a lookup table in our repo is fine What's the feature look like?
That way on first install on e-ink we get the user into the right mode, or if there is some backup/restore and the setting no longer seems appropriate in either direction we prompt again Testing the feature could be done with an advanced prefs developer options toggle that sets a preference indicating the Android emulator should be detected as e-ink or not. That way a tester could check "altering the hardware" to switch from e-ink and back to see how the dialog shows up ? |
@david-allison can you assign this issue to me ? |
@Scapesfear what's your plan of action here? |
and anything more that will be wanted |
As discussed above. 1 isn't feasible |
okay so we have few options then
|
or maybe a hybrid of all of these , first lookup table if not found , try to track , if not clear form that ask , and if user says its e-ink save that to the lookup or database |
How much impactful are animations under displays with higher refresh rates? Is it enough for people to prefer having them disabled? Are the app animations disabled when the system global animations setting is disabled? |
@BrayanDSO speaking from user prespective , i think animation make the user expierience better for high end devices and it feels smooth |
Anecdotally, and from memory: yes. I'd also be concerned that the OS is misreporting the value here. e-ink doesn't have a refresh rate in the same way that an LCD would. You're not going to get 60/90 FPS on an e-ink and this these values are reported above Longer-term: I want to push for a few e-ink specific improvements to the whiteboard/drawing, which will further increase the utility of this setting
Some: navigation drawer still opens and closes with animation regardless of the system setting. It opens better with safe display, but still closes with an animation |
Hi @david-allison , I’ve been reflecting on this issue, and I wanted to check if you think the hybrid approach I suggested—using a lookup table first, attempting to infer attributes like refresh rate, DPI, or manufacturer, and prompting the user as a fallback—is practical and aligns with your vision. Would you recommend refining this idea further, or do you have specific guidance or areas you think I should explore to make this solution more robust? I’d love to hear your thoughts and improve on this! |
IMO, just make a list of eink devices based on the manufacturer and/or model and set the preference to true after installing the app. AFAIK, it's the most reliable approach, since Android apparently doesn't provide any kind of API for knowing that (and manufacturers may not comply to one if there was one). I'm still against any kind of prompt. 99.9% of people don't use a Eink device, and the eink users may not even get bothered enough with the animations |
okay so i will make a list of eink devices based on the manufaturer and model set the the preference true , so can you assign me this issue to work on ? |
Copied my thoughts from Discord: Ok... list of Boox models: https://github.com/Hagb/decryptBooxUpdateUpx/blob/162c29f99bc6b725d1be265cfc17359aa5b55150/BooxKeys.csv#L46 Now we have:
If I were a betting man...
This also seems like a goldmine to bootstrap our list of devices: https://github.com/koreader/android-luajit-launcher/blob/6bba3f4bb4da8073d0f4ea4f270828c8603aa54d/app/src/main/java/org/koreader/launcher/device/DeviceInfo.kt#L427 |
There is a growing number of e-ink devices which are Android based, and AnkiDroid is a common use-case for these devices.
We should look into a library (or roll our own) to detect e-ink devices, and enable "safe display mode" by default
We should take care around backing up this preference, as restores from phone <-> e-ink would produce undesired functionality
Sample - Viwoods AiPaper
The text was updated successfully, but these errors were encountered: