Skip to content
This repository was archived by the owner on Aug 1, 2023. It is now read-only.

Commit e7a2129

Browse files
xiphirxfacebook-github-bot
authored andcommitted
Allow setting shimmer to null
Summary: This lets callers remove the shimmer effect entirely more easily. Reviewed By: sjkirby Differential Revision: D10035902 fbshipit-source-id: 098c34bf7fcb106d27146d31bb5e4a5d98effed8
1 parent fd48e0a commit e7a2129

File tree

2 files changed

+8
-13
lines changed

2 files changed

+8
-13
lines changed

shimmer/src/main/java/com/facebook/shimmer/ShimmerDrawable.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -44,14 +44,13 @@ public ShimmerDrawable() {
4444
mShimmerPaint.setAntiAlias(true);
4545
}
4646

47-
public void setShimmer(Shimmer shimmer) {
48-
if (shimmer == null) {
49-
throw new IllegalArgumentException("Given null shimmer");
50-
}
47+
public void setShimmer(@Nullable Shimmer shimmer) {
5148
mShimmer = shimmer;
52-
mShimmerPaint.setXfermode(
53-
new PorterDuffXfermode(
54-
mShimmer.alphaShimmer ? PorterDuff.Mode.DST_IN : PorterDuff.Mode.SRC_IN));
49+
if (mShimmer != null) {
50+
mShimmerPaint.setXfermode(
51+
new PorterDuffXfermode(
52+
mShimmer.alphaShimmer ? PorterDuff.Mode.DST_IN : PorterDuff.Mode.SRC_IN));
53+
}
5554
updateShader();
5655
updateValueAnimator();
5756
invalidateSelf();

shimmer/src/main/java/com/facebook/shimmer/ShimmerFrameLayout.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,9 @@ private void init(Context context, @Nullable AttributeSet attrs) {
7474
}
7575
}
7676

77-
public ShimmerFrameLayout setShimmer(Shimmer shimmer) {
78-
if (shimmer == null) {
79-
throw new IllegalArgumentException("Given null shimmer");
80-
}
81-
77+
public ShimmerFrameLayout setShimmer(@Nullable Shimmer shimmer) {
8278
mShimmerDrawable.setShimmer(shimmer);
83-
if (shimmer.clipToChildren) {
79+
if (shimmer != null && shimmer.clipToChildren) {
8480
setLayerType(LAYER_TYPE_HARDWARE, mContentPaint);
8581
} else {
8682
setLayerType(LAYER_TYPE_NONE, null);

0 commit comments

Comments
 (0)