mirror of
https://gitlab.futo.org/videostreaming/grayjay.git
synced 2025-04-29 22:24:29 +02:00
restore brightness when leaving app while a video is full screen
Changelog: changed
This commit is contained in:
parent
d10026acd1
commit
1a061268de
@ -455,6 +455,10 @@ class VideoDetailFragment() : MainFragment() {
|
|||||||
activity?.enterPictureInPictureMode(params);
|
activity?.enterPictureInPictureMode(params);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (isFullscreen) {
|
||||||
|
viewDetail?.restoreBrightness()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun forcePictureInPicture() {
|
fun forcePictureInPicture() {
|
||||||
@ -487,6 +491,10 @@ class VideoDetailFragment() : MainFragment() {
|
|||||||
_isActive = true;
|
_isActive = true;
|
||||||
_leavingPiP = false;
|
_leavingPiP = false;
|
||||||
|
|
||||||
|
if (isFullscreen) {
|
||||||
|
_viewDetail?.saveBrightness()
|
||||||
|
}
|
||||||
|
|
||||||
_viewDetail?.let {
|
_viewDetail?.let {
|
||||||
Logger.v(TAG, "onResume preventPictureInPicture=false");
|
Logger.v(TAG, "onResume preventPictureInPicture=false");
|
||||||
it.preventPictureInPicture = false;
|
it.preventPictureInPicture = false;
|
||||||
|
@ -2485,6 +2485,13 @@ class VideoDetailView : ConstraintLayout {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun saveBrightness() {
|
||||||
|
_player.gestureControl.saveBrightness()
|
||||||
|
}
|
||||||
|
fun restoreBrightness() {
|
||||||
|
_player.gestureControl.restoreBrightness()
|
||||||
|
}
|
||||||
|
|
||||||
fun setFullscreen(fullscreen : Boolean) {
|
fun setFullscreen(fullscreen : Boolean) {
|
||||||
Logger.i(TAG, "setFullscreen(fullscreen=$fullscreen)")
|
Logger.i(TAG, "setFullscreen(fullscreen=$fullscreen)")
|
||||||
_player.setFullScreen(fullscreen)
|
_player.setFullScreen(fullscreen)
|
||||||
|
@ -735,24 +735,43 @@ class GestureControlView : LinearLayout {
|
|||||||
_animatorBrightness?.start();
|
_animatorBrightness?.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun saveBrightness() {
|
||||||
|
try {
|
||||||
|
_originalBrightnessMode = android.provider.Settings.System.getInt(context.contentResolver, android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE)
|
||||||
|
|
||||||
|
val brightness = android.provider.Settings.System.getInt(context.contentResolver, android.provider.Settings.System.SCREEN_BRIGHTNESS)
|
||||||
|
_brightnessFactor = brightness / 255.0f;
|
||||||
|
Log.i(TAG, "Starting brightness brightness: $brightness, _brightnessFactor: $_brightnessFactor, _originalBrightnessMode: $_originalBrightnessMode")
|
||||||
|
|
||||||
|
_originalBrightnessFactor = _brightnessFactor
|
||||||
|
} catch (e: Throwable) {
|
||||||
|
Settings.instance.gestureControls.useSystemBrightness = false
|
||||||
|
Settings.instance.save()
|
||||||
|
UIDialogs.toast(context, "useSystemBrightness disabled due to an error")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fun restoreBrightness() {
|
||||||
|
if (Settings.instance.gestureControls.restoreSystemBrightness) {
|
||||||
|
onBrightnessAdjusted.emit(_originalBrightnessFactor)
|
||||||
|
|
||||||
|
if (android.provider.Settings.System.canWrite(context)) {
|
||||||
|
Log.i(TAG, "Restoring system brightness mode _originalBrightnessMode: $_originalBrightnessMode")
|
||||||
|
|
||||||
|
android.provider.Settings.System.putInt(
|
||||||
|
context.contentResolver,
|
||||||
|
android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE,
|
||||||
|
_originalBrightnessMode
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fun setFullscreen(isFullScreen: Boolean) {
|
fun setFullscreen(isFullScreen: Boolean) {
|
||||||
resetZoomPan()
|
resetZoomPan()
|
||||||
|
|
||||||
if (isFullScreen) {
|
if (isFullScreen) {
|
||||||
if (Settings.instance.gestureControls.useSystemBrightness) {
|
if (Settings.instance.gestureControls.useSystemBrightness) {
|
||||||
try {
|
saveBrightness()
|
||||||
_originalBrightnessMode = android.provider.Settings.System.getInt(context.contentResolver, android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE)
|
|
||||||
|
|
||||||
val brightness = android.provider.Settings.System.getInt(context.contentResolver, android.provider.Settings.System.SCREEN_BRIGHTNESS)
|
|
||||||
_brightnessFactor = brightness / 255.0f;
|
|
||||||
Log.i(TAG, "Starting brightness brightness: $brightness, _brightnessFactor: $_brightnessFactor, _originalBrightnessMode: $_originalBrightnessMode")
|
|
||||||
|
|
||||||
_originalBrightnessFactor = _brightnessFactor
|
|
||||||
} catch (e: Throwable) {
|
|
||||||
Settings.instance.gestureControls.useSystemBrightness = false
|
|
||||||
Settings.instance.save()
|
|
||||||
UIDialogs.toast(context, "useSystemBrightness disabled due to an error")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Settings.instance.gestureControls.useSystemVolume) {
|
if (Settings.instance.gestureControls.useSystemVolume) {
|
||||||
@ -766,19 +785,7 @@ class GestureControlView : LinearLayout {
|
|||||||
onSoundAdjusted.emit(_soundFactor);
|
onSoundAdjusted.emit(_soundFactor);
|
||||||
} else {
|
} else {
|
||||||
if (Settings.instance.gestureControls.useSystemBrightness) {
|
if (Settings.instance.gestureControls.useSystemBrightness) {
|
||||||
if (Settings.instance.gestureControls.restoreSystemBrightness) {
|
restoreBrightness()
|
||||||
onBrightnessAdjusted.emit(_originalBrightnessFactor)
|
|
||||||
|
|
||||||
if (android.provider.Settings.System.canWrite(context)) {
|
|
||||||
Log.i(TAG, "Restoring system brightness mode _originalBrightnessMode: $_originalBrightnessMode")
|
|
||||||
|
|
||||||
android.provider.Settings.System.putInt(
|
|
||||||
context.contentResolver,
|
|
||||||
android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE,
|
|
||||||
_originalBrightnessMode
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
onBrightnessAdjusted.emit(1.0f);
|
onBrightnessAdjusted.emit(1.0f);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user