提交 034be03d authored 作者: kongdywang's avatar kongdywang

calibrate android brightness

上级 c854ade5
......@@ -102,11 +102,9 @@ public class SuperPlayerPlugin implements FlutterPlugin, ActivityAware,
@Override
public void onChange(boolean selfChange, @NonNull Collection<Uri> uris, int flags) {
super.onChange(selfChange, uris, flags);
if (mEngineHolder.isInForeground()) {
double systemBrightness = getSystemScreenBrightness();
setWindowBrightness(systemBrightness);
}
}
};
@Override
......@@ -303,7 +301,9 @@ public class SuperPlayerPlugin implements FlutterPlugin, ActivityAware,
// 保留两位小数
BigDecimal bigDecimal = new BigDecimal(brightness);
brightness = bigDecimal.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
if (null != mActivityPluginBinding && !mActivityPluginBinding.getActivity().isDestroyed()) {
Window window = mActivityPluginBinding.getActivity().getWindow();
if (null != window) {
WindowManager.LayoutParams params = window.getAttributes();
params.screenBrightness = Float.parseFloat(String.valueOf(brightness));
if (params.screenBrightness > 1.0f) {
......@@ -317,6 +317,8 @@ public class SuperPlayerPlugin implements FlutterPlugin, ActivityAware,
mEventSink.success(getParams(FTXEvent.EVENT_BRIGHTNESS_CHANGED, null));
}
}
}
}
/**
* Get the current window brightness. If the current window brightness is not assigned,
......@@ -340,10 +342,12 @@ public class SuperPlayerPlugin implements FlutterPlugin, ActivityAware,
private float getSystemScreenBrightness() {
float screenBrightness = -1;
try {
if (null != mActivityPluginBinding && !mActivityPluginBinding.getActivity().isDestroyed()) {
ContentResolver resolver = mActivityPluginBinding.getActivity().getContentResolver();
final int brightnessInt = Settings.System.getInt(resolver, Settings.System.SCREEN_BRIGHTNESS);
final float maxBrightness = CommonUtil.getBrightnessMax();
screenBrightness = brightnessInt / maxBrightness;
}
} catch (SettingNotFoundException e) {
e.printStackTrace();
}
......
......@@ -417,8 +417,6 @@ class _DemoSuperPlayerState extends State<DemoSuperPlayer> with TXPipPlayerResto
// must invoke when page exit.
_controller.releasePlayer();
simpleEventSubscription?.cancel();
// restore page brightness
SuperPlayerPlugin.restorePageBrightness();
super.dispose();
}
......
......@@ -300,6 +300,7 @@ class _SuperPlayerMoreViewState extends State<SuperPlayerMoreView> {
void dispose() {
super.dispose();
eventSubscription?.cancel();
SuperPlayerPlugin.restorePageBrightness();
}
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论