Merge "Fix ripple alpha." into tm-qpr-dev

This commit is contained in:
Yein Jo
2022-08-31 16:35:18 +00:00
committed by Android (Google) Code Review
6 changed files with 20 additions and 20 deletions

View File

@@ -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 {

View File

@@ -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() {

View File

@@ -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)
}
}

View File

@@ -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);
}
"""

View File

@@ -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)
}
/**

View File

@@ -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