Loading graphics/java/android/graphics/drawable/RippleDrawable.java +34 −6 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package android.graphics.drawable; import android.annotation.NonNull; import android.annotation.Nullable; import android.content.res.ColorStateList; import android.content.res.Resources; import android.content.res.Resources.Theme; Loading Loading @@ -52,7 +54,7 @@ import java.io.IOException; * <code><!-- A red ripple masked against an opaque rectangle. --/> * <ripple android:color="#ffff0000"> * <item android:id="@android:id/mask" * android:drawable="#ffffffff" /> * android:drawable="@android:color/white" /> * <ripple /></code> * </pre> * <p> Loading @@ -62,9 +64,9 @@ import java.io.IOException; * If no mask layer is set, the ripple effect is masked against the composite * of the child layers. * <pre> * <code><!-- A blue ripple drawn atop a green rectangle. --/> * <code><!-- A blue ripple drawn atop a black rectangle. --/> * <ripple android:color="#ff00ff00"> * <item android:drawable="#ff0000ff" /> * <item android:drawable="@android:color/black" /> * <ripple /> * * <!-- A red ripple drawn atop a drawable resource. --/> Loading Loading @@ -147,15 +149,40 @@ public class RippleDrawable extends LayerDrawable { } /** * Creates a new ripple drawable with the specified content and mask * drawables. * @hide TO BE REMOVED FOR L-RELEASE */ public RippleDrawable(Drawable content, Drawable mask) { this(new RippleState(null, null, null), null, null); if (content != null) { addLayer(content, null, 0, 0, 0, 0, 0); } if (mask != null) { addLayer(content, null, android.R.id.mask, 0, 0, 0, 0); } ensurePadding(); Log.e(LOG_TAG, "This constructor is being removed", new RuntimeException()); } /** * Creates a new ripple drawable with the specified ripple color and * optional content and mask drawables. * * @param color The ripple color * @param content The content drawable, may be {@code null} * @param mask The mask drawable, may be {@code null} */ public RippleDrawable(Drawable content, Drawable mask) { public RippleDrawable(@NonNull ColorStateList color, @Nullable Drawable content, @Nullable Drawable mask) { this(new RippleState(null, null, null), null, null); if (color == null) { throw new IllegalArgumentException("RippleDrawable requires a non-null color"); } if (content != null) { addLayer(content, null, 0, 0, 0, 0, 0); } Loading @@ -164,6 +191,7 @@ public class RippleDrawable extends LayerDrawable { addLayer(content, null, android.R.id.mask, 0, 0, 0, 0); } setColor(color); ensurePadding(); } Loading Loading
graphics/java/android/graphics/drawable/RippleDrawable.java +34 −6 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package android.graphics.drawable; import android.annotation.NonNull; import android.annotation.Nullable; import android.content.res.ColorStateList; import android.content.res.Resources; import android.content.res.Resources.Theme; Loading Loading @@ -52,7 +54,7 @@ import java.io.IOException; * <code><!-- A red ripple masked against an opaque rectangle. --/> * <ripple android:color="#ffff0000"> * <item android:id="@android:id/mask" * android:drawable="#ffffffff" /> * android:drawable="@android:color/white" /> * <ripple /></code> * </pre> * <p> Loading @@ -62,9 +64,9 @@ import java.io.IOException; * If no mask layer is set, the ripple effect is masked against the composite * of the child layers. * <pre> * <code><!-- A blue ripple drawn atop a green rectangle. --/> * <code><!-- A blue ripple drawn atop a black rectangle. --/> * <ripple android:color="#ff00ff00"> * <item android:drawable="#ff0000ff" /> * <item android:drawable="@android:color/black" /> * <ripple /> * * <!-- A red ripple drawn atop a drawable resource. --/> Loading Loading @@ -147,15 +149,40 @@ public class RippleDrawable extends LayerDrawable { } /** * Creates a new ripple drawable with the specified content and mask * drawables. * @hide TO BE REMOVED FOR L-RELEASE */ public RippleDrawable(Drawable content, Drawable mask) { this(new RippleState(null, null, null), null, null); if (content != null) { addLayer(content, null, 0, 0, 0, 0, 0); } if (mask != null) { addLayer(content, null, android.R.id.mask, 0, 0, 0, 0); } ensurePadding(); Log.e(LOG_TAG, "This constructor is being removed", new RuntimeException()); } /** * Creates a new ripple drawable with the specified ripple color and * optional content and mask drawables. * * @param color The ripple color * @param content The content drawable, may be {@code null} * @param mask The mask drawable, may be {@code null} */ public RippleDrawable(Drawable content, Drawable mask) { public RippleDrawable(@NonNull ColorStateList color, @Nullable Drawable content, @Nullable Drawable mask) { this(new RippleState(null, null, null), null, null); if (color == null) { throw new IllegalArgumentException("RippleDrawable requires a non-null color"); } if (content != null) { addLayer(content, null, 0, 0, 0, 0, 0); } Loading @@ -164,6 +191,7 @@ public class RippleDrawable extends LayerDrawable { addLayer(content, null, android.R.id.mask, 0, 0, 0, 0); } setColor(color); ensurePadding(); } Loading