Merge "Add dynamic color to side fps overlay." into sc-v2-dev am: 3e68fa4904
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15900527 Change-Id: Ic85d1a479e48431e1e094e73776023096c4ba6ae
This commit is contained in:
@@ -17,6 +17,8 @@ package com.android.systemui.biometrics
|
|||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.graphics.PixelFormat
|
import android.graphics.PixelFormat
|
||||||
|
import android.graphics.PorterDuff
|
||||||
|
import android.graphics.PorterDuffColorFilter
|
||||||
import android.graphics.Rect
|
import android.graphics.Rect
|
||||||
import android.hardware.biometrics.BiometricOverlayConstants
|
import android.hardware.biometrics.BiometricOverlayConstants
|
||||||
import android.hardware.biometrics.BiometricOverlayConstants.REASON_AUTH_KEYGUARD
|
import android.hardware.biometrics.BiometricOverlayConstants.REASON_AUTH_KEYGUARD
|
||||||
@@ -34,6 +36,8 @@ import android.view.View
|
|||||||
import android.view.WindowManager
|
import android.view.WindowManager
|
||||||
import androidx.annotation.RawRes
|
import androidx.annotation.RawRes
|
||||||
import com.airbnb.lottie.LottieAnimationView
|
import com.airbnb.lottie.LottieAnimationView
|
||||||
|
import com.airbnb.lottie.LottieProperty
|
||||||
|
import com.airbnb.lottie.model.KeyPath
|
||||||
import com.android.internal.annotations.VisibleForTesting
|
import com.android.internal.annotations.VisibleForTesting
|
||||||
import com.android.systemui.R
|
import com.android.systemui.R
|
||||||
import com.android.systemui.dagger.SysUISingleton
|
import com.android.systemui.dagger.SysUISingleton
|
||||||
@@ -140,6 +144,7 @@ class SidefpsController @Inject constructor(
|
|||||||
windowManager.updateViewLayout(overlayView, overlayViewParams)
|
windowManager.updateViewLayout(overlayView, overlayViewParams)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
lottie.addOverlayDynamicColor(context)
|
||||||
|
|
||||||
return view
|
return view
|
||||||
}
|
}
|
||||||
@@ -194,3 +199,21 @@ private fun Display.asSideFpsAnimationRotation(): Float = when (rotation) {
|
|||||||
|
|
||||||
private fun Display.isPortrait(): Boolean =
|
private fun Display.isPortrait(): Boolean =
|
||||||
rotation == Surface.ROTATION_0 || rotation == Surface.ROTATION_180
|
rotation == Surface.ROTATION_0 || rotation == Surface.ROTATION_180
|
||||||
|
|
||||||
|
private fun LottieAnimationView.addOverlayDynamicColor(context: Context) {
|
||||||
|
fun update() {
|
||||||
|
val c = context.getColor(R.color.biometric_dialog_accent)
|
||||||
|
for (key in listOf(".blue600", ".blue400")) {
|
||||||
|
addValueCallback(
|
||||||
|
KeyPath(key, "**"),
|
||||||
|
LottieProperty.COLOR_FILTER
|
||||||
|
) { PorterDuffColorFilter(c, PorterDuff.Mode.SRC_ATOP) }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (composition != null) {
|
||||||
|
update()
|
||||||
|
} else {
|
||||||
|
addLottieOnCompositionLoadedListener { update() }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user