diff options
6 files changed, 20 insertions, 20 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/charging/WiredChargingRippleController.kt b/packages/SystemUI/src/com/android/systemui/charging/WiredChargingRippleController.kt index da675de2b9ec..dec3d6b679c2 100644 --- a/packages/SystemUI/src/com/android/systemui/charging/WiredChargingRippleController.kt +++ b/packages/SystemUI/src/com/android/systemui/charging/WiredChargingRippleController.kt @@ -200,8 +200,7 @@ class WiredChargingRippleController @Inject constructor( } private fun updateRippleColor() { - rippleView.setColor( - Utils.getColorAttr(context, android.R.attr.colorAccent).defaultColor) + rippleView.setColor(Utils.getColorAttr(context, android.R.attr.colorAccent).defaultColor) } inner class ChargingRippleCommand : Command { diff --git a/packages/SystemUI/src/com/android/systemui/charging/WirelessChargingLayout.java b/packages/SystemUI/src/com/android/systemui/charging/WirelessChargingLayout.java index 08393386c27f..c0cc6b41aafd 100644 --- a/packages/SystemUI/src/com/android/systemui/charging/WirelessChargingLayout.java +++ b/packages/SystemUI/src/com/android/systemui/charging/WirelessChargingLayout.java @@ -30,13 +30,12 @@ import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.TextView; -import androidx.core.graphics.ColorUtils; - import com.android.settingslib.Utils; import com.android.systemui.R; import com.android.systemui.animation.Interpolators; import com.android.systemui.ripple.RippleShader.RippleShape; import com.android.systemui.ripple.RippleView; +import com.android.systemui.ripple.RippleViewKt; import java.text.NumberFormat; @@ -143,16 +142,15 @@ final class WirelessChargingLayout extends FrameLayout { mRippleView = findViewById(R.id.wireless_charging_ripple); mRippleView.setupShader(rippleShape); + int color = Utils.getColorAttr(mRippleView.getContext(), + android.R.attr.colorAccent).getDefaultColor(); if (mRippleView.getRippleShape() == RippleShape.ROUNDED_BOX) { mRippleView.setDuration(ROUNDED_BOX_RIPPLE_ANIMATION_DURATION); mRippleView.setSparkleStrength(0.22f); - int color = Utils.getColorAttr(mRippleView.getContext(), - android.R.attr.colorAccent).getDefaultColor(); - mRippleView.setColor(ColorUtils.setAlphaComponent(color, 28)); + mRippleView.setColor(color, 28); } else { mRippleView.setDuration(CIRCLE_RIPPLE_ANIMATION_DURATION); - mRippleView.setColor(Utils.getColorAttr(mRippleView.getContext(), - android.R.attr.colorAccent).getDefaultColor()); + mRippleView.setColor(color, RippleViewKt.RIPPLE_DEFAULT_ALPHA); } OnAttachStateChangeListener listener = new OnAttachStateChangeListener() { diff --git a/packages/SystemUI/src/com/android/systemui/media/taptotransfer/receiver/MediaTttChipControllerReceiver.kt b/packages/SystemUI/src/com/android/systemui/media/taptotransfer/receiver/MediaTttChipControllerReceiver.kt index 00a22f20e94d..35a6c74518e0 100644 --- a/packages/SystemUI/src/com/android/systemui/media/taptotransfer/receiver/MediaTttChipControllerReceiver.kt +++ b/packages/SystemUI/src/com/android/systemui/media/taptotransfer/receiver/MediaTttChipControllerReceiver.kt @@ -30,7 +30,6 @@ import android.view.View import android.view.ViewGroup import android.view.WindowManager import android.view.accessibility.AccessibilityManager -import androidx.core.graphics.ColorUtils import com.android.settingslib.Utils import com.android.systemui.R import com.android.systemui.dagger.SysUISingleton @@ -209,8 +208,7 @@ class MediaTttChipControllerReceiver @Inject constructor( // Center the ripple on the bottom of the screen in the middle. rippleView.setCenter(width * 0.5f, height.toFloat()) val color = Utils.getColorAttrDefaultColor(context, R.attr.wallpaperTextColorAccent) - val colorWithAlpha = ColorUtils.setAlphaComponent(color, 70) - rippleView.setColor(colorWithAlpha) + rippleView.setColor(color, 70) } } diff --git a/packages/SystemUI/src/com/android/systemui/ripple/RippleShader.kt b/packages/SystemUI/src/com/android/systemui/ripple/RippleShader.kt index db7c1fd86be0..d2f3a6a7bee1 100644 --- a/packages/SystemUI/src/com/android/systemui/ripple/RippleShader.kt +++ b/packages/SystemUI/src/com/android/systemui/ripple/RippleShader.kt @@ -68,7 +68,7 @@ class RippleShader internal constructor(rippleShape: RippleShape = RippleShape.C float rippleInsideAlpha = (1.-inside) * in_fadeFill; float rippleRingAlpha = (1.-sparkleRing) * in_fadeRing; float rippleAlpha = max(rippleInsideAlpha, rippleRingAlpha) * in_color.a; - vec4 ripple = in_color * rippleAlpha; + vec4 ripple = vec4(in_color.rgb, 1.0) * rippleAlpha; return mix(ripple, vec4(sparkle), sparkle * in_sparkle_strength); } """ @@ -84,7 +84,7 @@ class RippleShader internal constructor(rippleShape: RippleShape = RippleShape.C float rippleInsideAlpha = (1.-inside) * in_fadeFill; float rippleRingAlpha = (1.-sparkleRing) * in_fadeRing; float rippleAlpha = max(rippleInsideAlpha, rippleRingAlpha) * in_color.a; - vec4 ripple = in_color * rippleAlpha; + vec4 ripple = vec4(in_color.rgb, 1.0) * rippleAlpha; return mix(ripple, vec4(sparkle), sparkle * in_sparkle_strength); } """ @@ -100,7 +100,7 @@ class RippleShader internal constructor(rippleShape: RippleShape = RippleShape.C float rippleInsideAlpha = (1.-inside) * in_fadeFill; float rippleRingAlpha = (1.-sparkleRing) * in_fadeRing; float rippleAlpha = max(rippleInsideAlpha, rippleRingAlpha) * in_color.a; - vec4 ripple = in_color * rippleAlpha; + vec4 ripple = vec4(in_color.rgb, 1.0) * rippleAlpha; return mix(ripple, vec4(sparkle), sparkle * in_sparkle_strength); } """ diff --git a/packages/SystemUI/src/com/android/systemui/ripple/RippleView.kt b/packages/SystemUI/src/com/android/systemui/ripple/RippleView.kt index 60c8f3719a2e..1e51ffa292b7 100644 --- a/packages/SystemUI/src/com/android/systemui/ripple/RippleView.kt +++ b/packages/SystemUI/src/com/android/systemui/ripple/RippleView.kt @@ -25,10 +25,12 @@ import android.graphics.Canvas import android.graphics.Paint import android.util.AttributeSet import android.view.View +import androidx.core.graphics.ColorUtils import com.android.systemui.ripple.RippleShader.RippleShape private const val RIPPLE_SPARKLE_STRENGTH: Float = 0.3f private const val RIPPLE_DEFAULT_COLOR: Int = 0xffffffff.toInt() +const val RIPPLE_DEFAULT_ALPHA: Int = 45 /** * A generic expanding ripple effect. @@ -111,9 +113,12 @@ open class RippleView(context: Context?, attrs: AttributeSet?) : View(context, a rippleInProgress = true } - /** Set the color to be used for the ripple. */ - fun setColor(color: Int) { - rippleShader.color = color + /** Set the color to be used for the ripple. + * + * The alpha value of the color will be applied to the ripple. The alpha range is [0-100]. + */ + fun setColor(color: Int, alpha: Int = RIPPLE_DEFAULT_ALPHA) { + rippleShader.color = ColorUtils.setAlphaComponent(color, alpha) } /** diff --git a/packages/SystemUI/tests/src/com/android/systemui/charging/WiredChargingRippleControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/charging/WiredChargingRippleControllerTest.kt index 3ac28c8d0d37..2af055783c22 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/charging/WiredChargingRippleControllerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/charging/WiredChargingRippleControllerTest.kt @@ -107,11 +107,11 @@ class WiredChargingRippleControllerTest : SysuiTestCase() { reset(rippleView) captor.value.onThemeChanged() - verify(rippleView).setColor(ArgumentMatchers.anyInt()) + verify(rippleView).setColor(ArgumentMatchers.anyInt(), ArgumentMatchers.anyInt()) reset(rippleView) captor.value.onUiModeChanged() - verify(rippleView).setColor(ArgumentMatchers.anyInt()) + verify(rippleView).setColor(ArgumentMatchers.anyInt(), ArgumentMatchers.anyInt()) } @Test |