翰林优商.apk(点击下载) / KwaiDisplayHdrCapabilitiesDetector.java
package com.kwai.player;
import android.content.Context;
import android.hardware.display.DisplayManager;
import android.view.Display;
public class KwaiDisplayHdrCapabilitiesDetector {
private static KwaiDisplayHdrCapabilitiesDetector sHdrCapabilitiesUtil;
private Context mContext;
private float mDesiredMaxAverageLuminance;
private float mDesiredMaxLuminance;
private float mDesiredMinLuminance;
private DisplayManager mDisplayManager;
private Display.HdrCapabilities mHdrCapabilities;
private String mHdrTypes = "";
private boolean misInited = false;
public static synchronized KwaiDisplayHdrCapabilitiesDetector getInstance() {
KwaiDisplayHdrCapabilitiesDetector kwaiDisplayHdrCapabilitiesDetector;
synchronized (KwaiDisplayHdrCapabilitiesDetector.class) {
if (sHdrCapabilitiesUtil == null) {
sHdrCapabilitiesUtil = new KwaiDisplayHdrCapabilitiesDetector();
}
kwaiDisplayHdrCapabilitiesDetector = sHdrCapabilitiesUtil;
}
return kwaiDisplayHdrCapabilitiesDetector;
}
public String getHdrCapabilitiesTypes() {
return this.mHdrTypes;
}
public float getHdrMaxAverageLuminance() {
return this.mDesiredMaxAverageLuminance;
}
public float getHdrMaxLuminance() {
return this.mDesiredMaxLuminance;
}
public float getHdrMinLuminance() {
return this.mDesiredMinLuminance;
}
public synchronized void init(Context context) {
String str;
if (!this.misInited) {
this.mContext = context;
DisplayManager displayManager = (DisplayManager) context.getSystemService("display");
this.mDisplayManager = displayManager;
Display.HdrCapabilities hdrCapabilities = displayManager.getDisplay(0).getHdrCapabilities();
this.mHdrCapabilities = hdrCapabilities;
int[] supportedHdrTypes = hdrCapabilities.getSupportedHdrTypes();
for (int i : supportedHdrTypes) {
if (i == 1) {
str = this.mHdrTypes + "HDR_TYPE_DOLBY_VISION,";
} else if (i == 2) {
str = this.mHdrTypes + "HDR_TYPE_HDR10,";
} else if (i == 3) {
str = this.mHdrTypes + "HDR_TYPE_HLG";
}
this.mHdrTypes = str;
}
this.mDesiredMaxAverageLuminance = this.mHdrCapabilities.getDesiredMaxAverageLuminance();
this.mDesiredMaxLuminance = this.mHdrCapabilities.getDesiredMaxLuminance();
this.mDesiredMinLuminance = this.mHdrCapabilities.getDesiredMinLuminance();
this.misInited = true;
}
}
}