Merge "Animate sideFpsIndicator alpha-in on the primary bouncer" into udc-qpr-dev
This commit is contained in:
@@ -50,7 +50,9 @@ import androidx.annotation.RawRes
|
|||||||
import com.airbnb.lottie.LottieAnimationView
|
import com.airbnb.lottie.LottieAnimationView
|
||||||
import com.airbnb.lottie.LottieProperty
|
import com.airbnb.lottie.LottieProperty
|
||||||
import com.airbnb.lottie.model.KeyPath
|
import com.airbnb.lottie.model.KeyPath
|
||||||
|
import com.android.app.animation.Interpolators
|
||||||
import com.android.internal.annotations.VisibleForTesting
|
import com.android.internal.annotations.VisibleForTesting
|
||||||
|
import com.android.keyguard.KeyguardPINView
|
||||||
import com.android.systemui.Dumpable
|
import com.android.systemui.Dumpable
|
||||||
import com.android.systemui.R
|
import com.android.systemui.R
|
||||||
import com.android.systemui.biometrics.domain.interactor.DisplayStateInteractor
|
import com.android.systemui.biometrics.domain.interactor.DisplayStateInteractor
|
||||||
@@ -112,7 +114,7 @@ constructor(
|
|||||||
private val isReverseDefaultRotation =
|
private val isReverseDefaultRotation =
|
||||||
context.resources.getBoolean(com.android.internal.R.bool.config_reverseDefaultRotation)
|
context.resources.getBoolean(com.android.internal.R.bool.config_reverseDefaultRotation)
|
||||||
|
|
||||||
private var overlayHideAnimator: ViewPropertyAnimator? = null
|
private var overlayShowAnimator: ViewPropertyAnimator? = null
|
||||||
|
|
||||||
private var overlayView: View? = null
|
private var overlayView: View? = null
|
||||||
set(value) {
|
set(value) {
|
||||||
@@ -122,13 +124,23 @@ constructor(
|
|||||||
windowManager.removeView(oldView)
|
windowManager.removeView(oldView)
|
||||||
orientationListener.disable()
|
orientationListener.disable()
|
||||||
}
|
}
|
||||||
overlayHideAnimator?.cancel()
|
overlayShowAnimator?.cancel()
|
||||||
overlayHideAnimator = null
|
overlayShowAnimator = null
|
||||||
|
|
||||||
field = value
|
field = value
|
||||||
field?.let { newView ->
|
field?.let { newView ->
|
||||||
|
if (requests.contains(SideFpsUiRequestSource.PRIMARY_BOUNCER)) {
|
||||||
|
newView.alpha = 0f
|
||||||
|
overlayShowAnimator =
|
||||||
|
newView
|
||||||
|
.animate()
|
||||||
|
.alpha(1f)
|
||||||
|
.setDuration(KeyguardPINView.ANIMATION_DURATION)
|
||||||
|
.setInterpolator(Interpolators.ALPHA_IN)
|
||||||
|
}
|
||||||
windowManager.addView(newView, overlayViewParams)
|
windowManager.addView(newView, overlayViewParams)
|
||||||
orientationListener.enable()
|
orientationListener.enable()
|
||||||
|
overlayShowAnimator?.start()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@VisibleForTesting var overlayOffsets: SensorLocationInternal = SensorLocationInternal.DEFAULT
|
@VisibleForTesting var overlayOffsets: SensorLocationInternal = SensorLocationInternal.DEFAULT
|
||||||
|
|||||||
@@ -840,6 +840,27 @@ class SideFpsControllerTest : SysuiTestCase() {
|
|||||||
|
|
||||||
assertThat((lpFlags and PRIVATE_FLAG_TRUSTED_OVERLAY) != 0).isTrue()
|
assertThat((lpFlags and PRIVATE_FLAG_TRUSTED_OVERLAY) != 0).isTrue()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun primaryBouncerRequestAnimatesAlphaIn() = testWithDisplay {
|
||||||
|
sideFpsController.show(SideFpsUiRequestSource.PRIMARY_BOUNCER, REASON_AUTH_KEYGUARD)
|
||||||
|
executor.runAllReady()
|
||||||
|
verify(sideFpsView).animate()
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun alternateBouncerRequestsDoesNotAnimateAlphaIn() = testWithDisplay {
|
||||||
|
sideFpsController.show(SideFpsUiRequestSource.ALTERNATE_BOUNCER, REASON_AUTH_KEYGUARD)
|
||||||
|
executor.runAllReady()
|
||||||
|
verify(sideFpsView, never()).animate()
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun autoShowRequestsDoesNotAnimateAlphaIn() = testWithDisplay {
|
||||||
|
sideFpsController.show(SideFpsUiRequestSource.AUTO_SHOW, REASON_AUTH_KEYGUARD)
|
||||||
|
executor.runAllReady()
|
||||||
|
verify(sideFpsView, never()).animate()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun insetsForSmallNavbar() = insetsWithBottom(60)
|
private fun insetsForSmallNavbar() = insetsWithBottom(60)
|
||||||
|
|||||||
Reference in New Issue
Block a user