Android: How to detect an e-ink screen?

android, e-ink, screen

Solution

Current ePaper displays have a very slow refresh speed compared to LCD and OLED displays, therefore it should be possible to detect them using the value provided by Display.getRefreshRate().

boolean isEInk() { 
  return getWindowManager().getDefaultDisplay().getRefreshRate() < 5.0; 
}

However on some fairs video capable ePaper display prototypes has already been shown. Therefore I assume that the refresh rate may increase in the next time above the 5.0 value selected in the example code.

Problem

I'd like to make my app more friendly for e-ink screens, i.e. reducing gradients, removing animations etc. Before I can add separate layouts for those screen types, I first need a way to detect them. Did somebody find a good way to do this? The Display class doesn't look like it's providing a way to detect the display type... Edit: By e-ink screen, I mean a screen that works with the e-paper technology.

Original source