mirror of
https://github.com/libre-tube/LibreTube.git
synced 2024-12-16 07:10:29 +05:30
7d58a71d27
Create interface `PlayerGestureOptions` that defines all controlles. `PlayerGestureController` takes this as listner and call apropriate method. Double tap events are also called from this class.
39 lines
1.1 KiB
Kotlin
39 lines
1.1 KiB
Kotlin
package com.github.libretube.util
|
|
|
|
import android.app.Activity
|
|
import android.view.WindowManager
|
|
import com.github.libretube.extensions.normalize
|
|
|
|
class BrightnessHelper(activity: Activity) {
|
|
|
|
private val window = activity.window
|
|
private val minBrightness = 0.0f
|
|
private val maxBrightness = 1.0f
|
|
|
|
/**
|
|
* Wrapper for the current screen brightness
|
|
*/
|
|
var brightness: Float
|
|
get() = window.attributes.screenBrightness
|
|
private set(value) {
|
|
val lp = window.attributes
|
|
lp.screenBrightness = value
|
|
window.attributes = lp
|
|
}
|
|
|
|
/**
|
|
* Restore screen brightness to device system brightness.
|
|
*/
|
|
fun resetToSystemBrightness() {
|
|
brightness = WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_NONE
|
|
}
|
|
|
|
fun setBrightnessWithScale(value: Float, maxValue: Float, minValue: Float = 0.0f) {
|
|
brightness = value.normalize(minValue, maxValue, minBrightness, maxBrightness)
|
|
}
|
|
|
|
fun getBrightnessWithScale(maxValue: Float, minValue: Float = 0.0f): Float {
|
|
return brightness.normalize(minBrightness, maxBrightness, minValue, maxValue)
|
|
}
|
|
}
|