I want to know the HDR capabilities on Android, so I write the following code to check this.
Display display = getWindowManager().getDefaultDisplay();
Display.HdrCapabilities hdrCapabilities = display.getHdrCapabilities();
int[] types = hdrCapabilities.getSupportedHdrTypes();
for (int i=0; i<types.length; i++) {
Log.d(TAG, "Support HDR TYPE " + types[i]);
}
float maxAverage = hdrCapabilities.getDesiredMaxAverageLuminance();
float maxLum = hdrCapabilities.getDesiredMaxLuminance();
float minLum = hdrCapabilities.getDesiredMinLuminance();
Log.d(TAG, "Max Average " + maxAverage + " maxLum " + maxLum + " minLum " + minLum);
Configuration configuration = new Configuration();
boolean isWideColor = configuration.isScreenWideColorGamut();
boolean isHDR = configuration.isScreenHdr();
Log.d(TAG,"Configuration wide color " + isWideColor + " hdr " + isHDR);
On my Pixel2 phone, the result is
Support HDR TYPE 2 //HDR_TYPE_HDR10
Support HDR TYPE 3 //HDR_TYPE_HLG
Max Average 500.0 maxLum 500.0 minLum 0.0
Configuration wide color false hdr false
I am confused by this, I know the Pixel2 can actually play HDR10 content, but why the configuration say it does not support HDR and wide color gamut.
reference: https://source.android.com/devices/tech/display/hdr