diff options
author | Lucas Dupin <dupin@google.com> | 2021-08-05 22:44:56 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2021-08-05 22:44:56 +0000 |
commit | c359d54b491a30bb8df1b5464eab1b59b6dcb395 (patch) | |
tree | adced6984b69c72c565ee76beb9b61131d5c6a28 /graphics/java | |
parent | 286530b6856f5ee2b00c304c05dd9bd267a26c4b (diff) | |
parent | 84922f4f430536323b17ac4088a5996136a64950 (diff) |
Merge "Do not run background animation without a Looper" into sc-dev
Diffstat (limited to 'graphics/java')
-rw-r--r-- | graphics/java/android/graphics/drawable/RippleDrawable.java | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/graphics/java/android/graphics/drawable/RippleDrawable.java b/graphics/java/android/graphics/drawable/RippleDrawable.java index d3cff5cb81ff..7354c90c5c98 100644 --- a/graphics/java/android/graphics/drawable/RippleDrawable.java +++ b/graphics/java/android/graphics/drawable/RippleDrawable.java @@ -49,7 +49,9 @@ import android.graphics.RecordingCanvas; import android.graphics.Rect; import android.graphics.Shader; import android.os.Build; +import android.os.Looper; import android.util.AttributeSet; +import android.util.Log; import android.view.animation.AnimationUtils; import android.view.animation.LinearInterpolator; @@ -113,6 +115,7 @@ import java.util.Arrays; * @attr ref android.R.styleable#RippleDrawable_color */ public class RippleDrawable extends LayerDrawable { + private static final String TAG = "RippleDrawable"; /** * Radius value that specifies the ripple radius should be computed based * on the size of the ripple's container. @@ -848,6 +851,10 @@ public class RippleDrawable extends LayerDrawable { private void startBackgroundAnimation() { mRunBackgroundAnimation = false; + if (Looper.myLooper() == null) { + Log.w(TAG, "Thread doesn't have a looper. Skipping animation."); + return; + } mBackgroundAnimation = ValueAnimator.ofFloat(mBackgroundOpacity, mTargetBackgroundOpacity); mBackgroundAnimation.setInterpolator(LINEAR_INTERPOLATOR); mBackgroundAnimation.setDuration(BACKGROUND_OPACITY_DURATION); |