Updates AuthBiometricFingerprintIconController for reverse default orientation devices
Updates AuthBiometricFingerprintIconController to translate system reported rotation values for reverse default orientation devices. This fixes an issue where the wrong orientation assets were being shown in BiometricPrompt Test: (manual) Checking BP assets in all orientations in x-aligned and y-aligned sfps devices Fixes: 266550908 Change-Id: If4c9c469d7be2c1ee406a87521e712902a1f0f0e
This commit is contained in:
@@ -46,6 +46,8 @@ open class AuthBiometricFingerprintIconController(
|
||||
|
||||
private var isDeviceFolded: Boolean = false
|
||||
private val isSideFps: Boolean
|
||||
private val isReverseDefaultRotation =
|
||||
context.resources.getBoolean(com.android.internal.R.bool.config_reverseDefaultRotation)
|
||||
private val screenSizeFoldProvider: ScreenSizeFoldProvider = ScreenSizeFoldProvider(context)
|
||||
var iconLayoutParamSize: Pair<Int, Int> = Pair(1, 1)
|
||||
set(value) {
|
||||
@@ -76,7 +78,7 @@ open class AuthBiometricFingerprintIconController(
|
||||
isSideFps = sideFps
|
||||
val displayInfo = DisplayInfo()
|
||||
context.display?.getDisplayInfo(displayInfo)
|
||||
if (isSideFps && displayInfo.rotation == Surface.ROTATION_180) {
|
||||
if (isSideFps && getRotationFromDefault(displayInfo.rotation) == Surface.ROTATION_180) {
|
||||
iconView.rotation = 180f
|
||||
}
|
||||
screenSizeFoldProvider.registerCallback(this, context.mainExecutor)
|
||||
@@ -86,7 +88,7 @@ open class AuthBiometricFingerprintIconController(
|
||||
private fun updateIconSideFps(@BiometricState lastState: Int, @BiometricState newState: Int) {
|
||||
val displayInfo = DisplayInfo()
|
||||
context.display?.getDisplayInfo(displayInfo)
|
||||
val rotation = displayInfo.rotation
|
||||
val rotation = getRotationFromDefault(displayInfo.rotation)
|
||||
val iconAnimation = getSideFpsAnimationForTransition(rotation)
|
||||
val iconViewOverlayAnimation =
|
||||
getSideFpsOverlayAnimationForTransition(lastState, newState, rotation) ?: return
|
||||
@@ -217,6 +219,9 @@ open class AuthBiometricFingerprintIconController(
|
||||
return if (id != null) return id else null
|
||||
}
|
||||
|
||||
private fun getRotationFromDefault(rotation: Int): Int =
|
||||
if (isReverseDefaultRotation) (rotation + 1) % 4 else rotation
|
||||
|
||||
@RawRes
|
||||
private fun getSideFpsAnimationForTransition(rotation: Int): Int = when (rotation) {
|
||||
Surface.ROTATION_90 -> if (isDeviceFolded) {
|
||||
|
||||
Reference in New Issue
Block a user