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

calibrate android brightness

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