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