Merge "Fix ripple alpha." into tm-qpr-dev
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
"""
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user