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

calibrate android brightness

上级 c854ade5
...@@ -102,11 +102,9 @@ public class SuperPlayerPlugin implements FlutterPlugin, ActivityAware, ...@@ -102,11 +102,9 @@ 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);
} }
}
}; };
@Override @Override
...@@ -303,7 +301,9 @@ public class SuperPlayerPlugin implements FlutterPlugin, ActivityAware, ...@@ -303,7 +301,9 @@ 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();
if (null != mActivityPluginBinding && !mActivityPluginBinding.getActivity().isDestroyed()) {
Window window = mActivityPluginBinding.getActivity().getWindow(); Window window = mActivityPluginBinding.getActivity().getWindow();
if (null != window) {
WindowManager.LayoutParams params = window.getAttributes(); WindowManager.LayoutParams params = window.getAttributes();
params.screenBrightness = Float.parseFloat(String.valueOf(brightness)); params.screenBrightness = Float.parseFloat(String.valueOf(brightness));
if (params.screenBrightness > 1.0f) { if (params.screenBrightness > 1.0f) {
...@@ -317,6 +317,8 @@ public class SuperPlayerPlugin implements FlutterPlugin, ActivityAware, ...@@ -317,6 +317,8 @@ public class SuperPlayerPlugin implements FlutterPlugin, ActivityAware,
mEventSink.success(getParams(FTXEvent.EVENT_BRIGHTNESS_CHANGED, null)); mEventSink.success(getParams(FTXEvent.EVENT_BRIGHTNESS_CHANGED, null));
} }
} }
}
}
/** /**
* Get the current window brightness. If the current window brightness is not assigned, * Get the current window brightness. If the current window brightness is not assigned,
...@@ -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 {
if (null != mActivityPluginBinding && !mActivityPluginBinding.getActivity().isDestroyed()) {
ContentResolver resolver = mActivityPluginBinding.getActivity().getContentResolver(); ContentResolver resolver = mActivityPluginBinding.getActivity().getContentResolver();
final int brightnessInt = Settings.System.getInt(resolver, Settings.System.SCREEN_BRIGHTNESS); final int brightnessInt = Settings.System.getInt(resolver, Settings.System.SCREEN_BRIGHTNESS);
final float maxBrightness = CommonUtil.getBrightnessMax(); final float maxBrightness = CommonUtil.getBrightnessMax();
screenBrightness = brightnessInt / maxBrightness; 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 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论