Loading packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromLockscreenTransitionInteractor.kt +7 −1 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.systemui.keyguard.domain.interactor import android.animation.ValueAnimator import android.util.Log import android.util.MathUtils import com.android.app.animation.Interpolators import com.android.app.tracing.coroutines.launchTraced as launch Loading Loading @@ -52,6 +53,7 @@ import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.flow.filter import kotlinx.coroutines.flow.filterNotNull import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.onStart @SysUISingleton Loading Loading @@ -301,8 +303,12 @@ constructor( // When the refactor is enabled, we no longer use isKeyguardGoingAway. scope.launch("$TAG#listenForLockscreenToGoneDragging") { swipeToDismissInteractor.dismissFling .onEach { Log.d(TAG, "Dismiss fling emitting - filtering.") } .filterNotNull() .filterRelevantKeyguardState() .filterRelevantKeyguardStateAnd { Log.d(TAG, "dismissFling emitting - elevant keyguard state, proceeding.") true } .collect { _ -> startTransitionTo(KeyguardState.GONE, ownerReason = "dismissFling != null") } Loading packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/SwipeToDismissInteractor.kt +19 −2 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.systemui.keyguard.domain.interactor import android.util.Log import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.keyguard.shared.model.KeyguardState Loading @@ -29,6 +30,8 @@ import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.stateIn private const val TAG = "SwipeToDismissInteractor" /** * Handles logic around the swipe to dismiss gesture, where the user swipes up on the dismissable * lockscreen to unlock the device. Loading @@ -53,14 +56,28 @@ constructor( val dismissFling: StateFlow<FlingInfo?> = shadeRepository.currentFling .map { flingInfo -> if ( val isDismiss = flingInfo != null && !flingInfo.expand && keyguardInteractor.statusBarState.value != StatusBarState.SHADE_LOCKED && transitionInteractor.startedKeyguardTransitionStep.value.to == KeyguardState.LOCKSCREEN && keyguardInteractor.isKeyguardDismissible.value ) { // Extra verbose logging to help debug a < 1% test flake that seemingly only repros // in presubmit. We can remove this after that's figured out. Log.d( TAG, "Received fling $flingInfo, isDismiss: $isDismiss." + "expand: ${flingInfo?.expand}, " + "statusBarState: ${keyguardInteractor.statusBarState.value}, " + "startedKeyguardTransitionStep: " + "${transitionInteractor.startedKeyguardTransitionStep.value.to == KeyguardState.LOCKSCREEN}, " + "isKeyguardDismissible: ${keyguardInteractor.isKeyguardDismissible.value}", ) if (isDismiss) { flingInfo } else { null Loading packages/SystemUI/src/com/android/systemui/shade/data/repository/ShadeRepository.kt +2 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.systemui.shade.data.repository import android.annotation.SuppressLint import android.util.Log import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Background import javax.inject.Inject Loading Loading @@ -312,6 +313,7 @@ class ShadeRepositoryImpl @Inject constructor(@Background val backgroundScope: C } override fun setCurrentFling(info: FlingInfo?) { Log.d(TAG, "setCurrentFling: $info") backgroundScope.launch { currentFling.emit(info) } } Loading Loading
packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromLockscreenTransitionInteractor.kt +7 −1 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.systemui.keyguard.domain.interactor import android.animation.ValueAnimator import android.util.Log import android.util.MathUtils import com.android.app.animation.Interpolators import com.android.app.tracing.coroutines.launchTraced as launch Loading Loading @@ -52,6 +53,7 @@ import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.flow.filter import kotlinx.coroutines.flow.filterNotNull import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.onStart @SysUISingleton Loading Loading @@ -301,8 +303,12 @@ constructor( // When the refactor is enabled, we no longer use isKeyguardGoingAway. scope.launch("$TAG#listenForLockscreenToGoneDragging") { swipeToDismissInteractor.dismissFling .onEach { Log.d(TAG, "Dismiss fling emitting - filtering.") } .filterNotNull() .filterRelevantKeyguardState() .filterRelevantKeyguardStateAnd { Log.d(TAG, "dismissFling emitting - elevant keyguard state, proceeding.") true } .collect { _ -> startTransitionTo(KeyguardState.GONE, ownerReason = "dismissFling != null") } Loading
packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/SwipeToDismissInteractor.kt +19 −2 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.systemui.keyguard.domain.interactor import android.util.Log import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.keyguard.shared.model.KeyguardState Loading @@ -29,6 +30,8 @@ import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.stateIn private const val TAG = "SwipeToDismissInteractor" /** * Handles logic around the swipe to dismiss gesture, where the user swipes up on the dismissable * lockscreen to unlock the device. Loading @@ -53,14 +56,28 @@ constructor( val dismissFling: StateFlow<FlingInfo?> = shadeRepository.currentFling .map { flingInfo -> if ( val isDismiss = flingInfo != null && !flingInfo.expand && keyguardInteractor.statusBarState.value != StatusBarState.SHADE_LOCKED && transitionInteractor.startedKeyguardTransitionStep.value.to == KeyguardState.LOCKSCREEN && keyguardInteractor.isKeyguardDismissible.value ) { // Extra verbose logging to help debug a < 1% test flake that seemingly only repros // in presubmit. We can remove this after that's figured out. Log.d( TAG, "Received fling $flingInfo, isDismiss: $isDismiss." + "expand: ${flingInfo?.expand}, " + "statusBarState: ${keyguardInteractor.statusBarState.value}, " + "startedKeyguardTransitionStep: " + "${transitionInteractor.startedKeyguardTransitionStep.value.to == KeyguardState.LOCKSCREEN}, " + "isKeyguardDismissible: ${keyguardInteractor.isKeyguardDismissible.value}", ) if (isDismiss) { flingInfo } else { null Loading
packages/SystemUI/src/com/android/systemui/shade/data/repository/ShadeRepository.kt +2 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.systemui.shade.data.repository import android.annotation.SuppressLint import android.util.Log import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Background import javax.inject.Inject Loading Loading @@ -312,6 +313,7 @@ class ShadeRepositoryImpl @Inject constructor(@Background val backgroundScope: C } override fun setCurrentFling(info: FlingInfo?) { Log.d(TAG, "setCurrentFling: $info") backgroundScope.launch { currentFling.emit(info) } } Loading