Merge "Fix redundant move animation on Side-FPS indicator" into tm-qpr-dev
This commit is contained in:
@@ -43,6 +43,8 @@ import android.view.View.AccessibilityDelegate
|
|||||||
import android.view.ViewPropertyAnimator
|
import android.view.ViewPropertyAnimator
|
||||||
import android.view.WindowInsets
|
import android.view.WindowInsets
|
||||||
import android.view.WindowManager
|
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 android.view.accessibility.AccessibilityEvent
|
||||||
import androidx.annotation.RawRes
|
import androidx.annotation.RawRes
|
||||||
import com.airbnb.lottie.LottieAnimationView
|
import com.airbnb.lottie.LottieAnimationView
|
||||||
@@ -130,7 +132,7 @@ class SidefpsController @Inject constructor(
|
|||||||
fitInsetsTypes = 0 // overrides default, avoiding status bars during layout
|
fitInsetsTypes = 0 // overrides default, avoiding status bars during layout
|
||||||
gravity = Gravity.TOP or Gravity.LEFT
|
gravity = Gravity.TOP or Gravity.LEFT
|
||||||
layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS
|
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 {
|
init {
|
||||||
|
|||||||
@@ -45,6 +45,8 @@ import android.view.View
|
|||||||
import android.view.ViewPropertyAnimator
|
import android.view.ViewPropertyAnimator
|
||||||
import android.view.WindowInsets
|
import android.view.WindowInsets
|
||||||
import android.view.WindowManager
|
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 android.view.WindowMetrics
|
||||||
import androidx.test.filters.SmallTest
|
import androidx.test.filters.SmallTest
|
||||||
import com.airbnb.lottie.LottieAnimationView
|
import com.airbnb.lottie.LottieAnimationView
|
||||||
@@ -438,6 +440,44 @@ class SidefpsControllerTest : SysuiTestCase() {
|
|||||||
|
|
||||||
assertThat(fingerprintManager.hasSideFpsSensor()).isFalse()
|
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)
|
private fun insetsForSmallNavbar() = insetsWithBottom(60)
|
||||||
|
|||||||
Reference in New Issue
Block a user