Loading packages/SystemUI/src/com/android/systemui/biometrics/SidefpsController.kt +3 −1 Original line number Diff line number Diff line Loading @@ -43,6 +43,8 @@ import android.view.View.AccessibilityDelegate import android.view.ViewPropertyAnimator import android.view.WindowInsets import android.view.WindowManager import android.view.WindowManager.LayoutParams.PRIVATE_FLAG_NO_MOVE_ANIMATION import android.view.WindowManager.LayoutParams.PRIVATE_FLAG_TRUSTED_OVERLAY import android.view.accessibility.AccessibilityEvent import androidx.annotation.RawRes import com.airbnb.lottie.LottieAnimationView Loading Loading @@ -130,7 +132,7 @@ class SidefpsController @Inject constructor( fitInsetsTypes = 0 // overrides default, avoiding status bars during layout gravity = Gravity.TOP or Gravity.LEFT layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS privateFlags = WindowManager.LayoutParams.PRIVATE_FLAG_TRUSTED_OVERLAY privateFlags = PRIVATE_FLAG_TRUSTED_OVERLAY or PRIVATE_FLAG_NO_MOVE_ANIMATION } init { Loading packages/SystemUI/tests/src/com/android/systemui/biometrics/SidefpsControllerTest.kt +40 −0 Original line number Diff line number Diff line Loading @@ -45,6 +45,8 @@ import android.view.View import android.view.ViewPropertyAnimator import android.view.WindowInsets import android.view.WindowManager import android.view.WindowManager.LayoutParams.PRIVATE_FLAG_NO_MOVE_ANIMATION import android.view.WindowManager.LayoutParams.PRIVATE_FLAG_TRUSTED_OVERLAY import android.view.WindowMetrics import androidx.test.filters.SmallTest import com.airbnb.lottie.LottieAnimationView Loading Loading @@ -438,6 +440,44 @@ class SidefpsControllerTest : SysuiTestCase() { assertThat(fingerprintManager.hasSideFpsSensor()).isFalse() } @Test fun testLayoutParams_hasNoMoveAnimationWindowFlag() = testWithDisplay( deviceConfig = DeviceConfig.Y_ALIGNED_UNFOLDED ) { sideFpsController.overlayOffsets = sensorLocation sideFpsController.updateOverlayParams( windowManager.defaultDisplay, indicatorBounds ) overlayController.show(SENSOR_ID, REASON_UNKNOWN) executor.runAllReady() verify(windowManager).updateViewLayout(any(), overlayViewParamsCaptor.capture()) val lpFlags = overlayViewParamsCaptor.value.privateFlags assertThat((lpFlags and PRIVATE_FLAG_NO_MOVE_ANIMATION) != 0).isTrue() } @Test fun testLayoutParams_hasTrustedOverlayWindowFlag() = testWithDisplay( deviceConfig = DeviceConfig.Y_ALIGNED_UNFOLDED ) { sideFpsController.overlayOffsets = sensorLocation sideFpsController.updateOverlayParams( windowManager.defaultDisplay, indicatorBounds ) overlayController.show(SENSOR_ID, REASON_UNKNOWN) executor.runAllReady() verify(windowManager).updateViewLayout(any(), overlayViewParamsCaptor.capture()) val lpFlags = overlayViewParamsCaptor.value.privateFlags assertThat((lpFlags and PRIVATE_FLAG_TRUSTED_OVERLAY) != 0).isTrue() } } private fun insetsForSmallNavbar() = insetsWithBottom(60) Loading Loading
packages/SystemUI/src/com/android/systemui/biometrics/SidefpsController.kt +3 −1 Original line number Diff line number Diff line Loading @@ -43,6 +43,8 @@ import android.view.View.AccessibilityDelegate import android.view.ViewPropertyAnimator import android.view.WindowInsets import android.view.WindowManager import android.view.WindowManager.LayoutParams.PRIVATE_FLAG_NO_MOVE_ANIMATION import android.view.WindowManager.LayoutParams.PRIVATE_FLAG_TRUSTED_OVERLAY import android.view.accessibility.AccessibilityEvent import androidx.annotation.RawRes import com.airbnb.lottie.LottieAnimationView Loading Loading @@ -130,7 +132,7 @@ class SidefpsController @Inject constructor( fitInsetsTypes = 0 // overrides default, avoiding status bars during layout gravity = Gravity.TOP or Gravity.LEFT layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS privateFlags = WindowManager.LayoutParams.PRIVATE_FLAG_TRUSTED_OVERLAY privateFlags = PRIVATE_FLAG_TRUSTED_OVERLAY or PRIVATE_FLAG_NO_MOVE_ANIMATION } init { Loading
packages/SystemUI/tests/src/com/android/systemui/biometrics/SidefpsControllerTest.kt +40 −0 Original line number Diff line number Diff line Loading @@ -45,6 +45,8 @@ import android.view.View import android.view.ViewPropertyAnimator import android.view.WindowInsets import android.view.WindowManager import android.view.WindowManager.LayoutParams.PRIVATE_FLAG_NO_MOVE_ANIMATION import android.view.WindowManager.LayoutParams.PRIVATE_FLAG_TRUSTED_OVERLAY import android.view.WindowMetrics import androidx.test.filters.SmallTest import com.airbnb.lottie.LottieAnimationView Loading Loading @@ -438,6 +440,44 @@ class SidefpsControllerTest : SysuiTestCase() { assertThat(fingerprintManager.hasSideFpsSensor()).isFalse() } @Test fun testLayoutParams_hasNoMoveAnimationWindowFlag() = testWithDisplay( deviceConfig = DeviceConfig.Y_ALIGNED_UNFOLDED ) { sideFpsController.overlayOffsets = sensorLocation sideFpsController.updateOverlayParams( windowManager.defaultDisplay, indicatorBounds ) overlayController.show(SENSOR_ID, REASON_UNKNOWN) executor.runAllReady() verify(windowManager).updateViewLayout(any(), overlayViewParamsCaptor.capture()) val lpFlags = overlayViewParamsCaptor.value.privateFlags assertThat((lpFlags and PRIVATE_FLAG_NO_MOVE_ANIMATION) != 0).isTrue() } @Test fun testLayoutParams_hasTrustedOverlayWindowFlag() = testWithDisplay( deviceConfig = DeviceConfig.Y_ALIGNED_UNFOLDED ) { sideFpsController.overlayOffsets = sensorLocation sideFpsController.updateOverlayParams( windowManager.defaultDisplay, indicatorBounds ) overlayController.show(SENSOR_ID, REASON_UNKNOWN) executor.runAllReady() verify(windowManager).updateViewLayout(any(), overlayViewParamsCaptor.capture()) val lpFlags = overlayViewParamsCaptor.value.privateFlags assertThat((lpFlags and PRIVATE_FLAG_TRUSTED_OVERLAY) != 0).isTrue() } } private fun insetsForSmallNavbar() = insetsWithBottom(60) Loading