Loading packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardBottomAreaViewBinder.kt +28 −3 Original line number Diff line number Diff line Loading @@ -49,6 +49,7 @@ import kotlin.math.pow import kotlin.math.sqrt import kotlin.time.Duration.Companion.milliseconds import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.flatMapLatest Loading Loading @@ -163,11 +164,25 @@ object KeyguardBottomAreaViewBinder { ambientIndicationArea?.alpha = alpha indicationArea.alpha = alpha startButton.alpha = alpha endButton.alpha = alpha } } launch { updateButtonAlpha( view = startButton, viewModel = viewModel.startButton, alphaFlow = viewModel.alpha, ) } launch { updateButtonAlpha( view = endButton, viewModel = viewModel.endButton, alphaFlow = viewModel.alpha, ) } launch { viewModel.indicationAreaTranslationX.collect { translationX -> indicationArea.translationX = translationX Loading Loading @@ -321,7 +336,6 @@ object KeyguardBottomAreaViewBinder { .animate() .scaleX(if (viewModel.isSelected) SCALE_SELECTED_BUTTON else 1f) .scaleY(if (viewModel.isSelected) SCALE_SELECTED_BUTTON else 1f) .alpha(if (viewModel.isDimmed) DIM_ALPHA else 1f) .start() view.isClickable = viewModel.isClickable Loading @@ -341,6 +355,17 @@ object KeyguardBottomAreaViewBinder { view.isSelected = viewModel.isSelected } private suspend fun updateButtonAlpha( view: View, viewModel: Flow<KeyguardQuickAffordanceViewModel>, alphaFlow: Flow<Float>, ) { combine(viewModel.map { it.isDimmed }, alphaFlow) { isDimmed, alpha -> if (isDimmed) DIM_ALPHA else alpha } .collect { view.alpha = it } } private class OnTouchListener( private val view: View, private val viewModel: KeyguardQuickAffordanceViewModel, Loading Loading
packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardBottomAreaViewBinder.kt +28 −3 Original line number Diff line number Diff line Loading @@ -49,6 +49,7 @@ import kotlin.math.pow import kotlin.math.sqrt import kotlin.time.Duration.Companion.milliseconds import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.flatMapLatest Loading Loading @@ -163,11 +164,25 @@ object KeyguardBottomAreaViewBinder { ambientIndicationArea?.alpha = alpha indicationArea.alpha = alpha startButton.alpha = alpha endButton.alpha = alpha } } launch { updateButtonAlpha( view = startButton, viewModel = viewModel.startButton, alphaFlow = viewModel.alpha, ) } launch { updateButtonAlpha( view = endButton, viewModel = viewModel.endButton, alphaFlow = viewModel.alpha, ) } launch { viewModel.indicationAreaTranslationX.collect { translationX -> indicationArea.translationX = translationX Loading Loading @@ -321,7 +336,6 @@ object KeyguardBottomAreaViewBinder { .animate() .scaleX(if (viewModel.isSelected) SCALE_SELECTED_BUTTON else 1f) .scaleY(if (viewModel.isSelected) SCALE_SELECTED_BUTTON else 1f) .alpha(if (viewModel.isDimmed) DIM_ALPHA else 1f) .start() view.isClickable = viewModel.isClickable Loading @@ -341,6 +355,17 @@ object KeyguardBottomAreaViewBinder { view.isSelected = viewModel.isSelected } private suspend fun updateButtonAlpha( view: View, viewModel: Flow<KeyguardQuickAffordanceViewModel>, alphaFlow: Flow<Float>, ) { combine(viewModel.map { it.isDimmed }, alphaFlow) { isDimmed, alpha -> if (isDimmed) DIM_ALPHA else alpha } .collect { view.alpha = it } } private class OnTouchListener( private val view: View, private val viewModel: KeyguardQuickAffordanceViewModel, Loading