| Index: third_party/android_swipe_refresh/java/src/org/chromium/third_party/android/swiperefresh/CircleImageView.java
|
| diff --git a/third_party/android_swipe_refresh/java/src/chromium/third_party/android/swiperefresh/CircleImageView.java b/third_party/android_swipe_refresh/java/src/org/chromium/third_party/android/swiperefresh/CircleImageView.java
|
| similarity index 79%
|
| rename from third_party/android_swipe_refresh/java/src/chromium/third_party/android/swiperefresh/CircleImageView.java
|
| rename to third_party/android_swipe_refresh/java/src/org/chromium/third_party/android/swiperefresh/CircleImageView.java
|
| index 94963925475d30b208f6f0fc494cfe18a6f997e4..fcb2185aeb887a7f8afda4ba10b82616808735e5 100644
|
| --- a/third_party/android_swipe_refresh/java/src/chromium/third_party/android/swiperefresh/CircleImageView.java
|
| +++ b/third_party/android_swipe_refresh/java/src/org/chromium/third_party/android/swiperefresh/CircleImageView.java
|
| @@ -25,8 +25,8 @@ import android.graphics.RadialGradient;
|
| import android.graphics.Shader;
|
| import android.graphics.drawable.ShapeDrawable;
|
| import android.graphics.drawable.shapes.OvalShape;
|
| -import android.support.v4.view.ViewCompat;
|
| import android.view.animation.Animation;
|
| +import android.view.View;
|
| import android.widget.ImageView;
|
|
|
| /**
|
| @@ -49,28 +49,18 @@ class CircleImageView extends ImageView {
|
| private Animation.AnimationListener mListener;
|
| private int mShadowRadius;
|
|
|
| + @SuppressWarnings("deprecation")
|
| public CircleImageView(Context context, int color, final float radius) {
|
| super(context);
|
| final float density = getContext().getResources().getDisplayMetrics().density;
|
| - final int diameter = (int) (radius * density * 2);
|
| - final int shadowYOffset = (int) (density * Y_OFFSET);
|
| - final int shadowXOffset = (int) (density * X_OFFSET);
|
|
|
| mShadowRadius = (int) (density * SHADOW_RADIUS);
|
|
|
| ShapeDrawable circle;
|
| if (elevationSupported()) {
|
| - circle = new ShapeDrawable(new OvalShape());
|
| - ViewCompat.setElevation(this, SHADOW_ELEVATION * density);
|
| + circle = initializeElevated(density);
|
| } else {
|
| - OvalShape oval = new OvalShadow(mShadowRadius, diameter);
|
| - circle = new ShapeDrawable(oval);
|
| - ViewCompat.setLayerType(this, ViewCompat.LAYER_TYPE_SOFTWARE, circle.getPaint());
|
| - circle.getPaint().setShadowLayer(mShadowRadius, shadowXOffset, shadowYOffset,
|
| - KEY_SHADOW_COLOR);
|
| - final int padding = (int) mShadowRadius;
|
| - // set padding so the inner image sits correctly within the shadow.
|
| - setPadding(padding, padding, padding, padding);
|
| + circle = initializeNonElevated(radius, density);
|
| }
|
| circle.getPaint().setColor(color);
|
| if(android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.JELLY_BEAN) {
|
| @@ -80,6 +70,27 @@ class CircleImageView extends ImageView {
|
| }
|
| }
|
|
|
| + ShapeDrawable initializeElevated(float density) {
|
| + ShapeDrawable circle = new ShapeDrawable(new OvalShape());
|
| + setElevation(SHADOW_ELEVATION * density);
|
| + return circle;
|
| + }
|
| +
|
| + ShapeDrawable initializeNonElevated(float radius, float density) {
|
| + final int diameter = (int) (radius * density * 2);
|
| + final int shadowYOffset = (int) (density * Y_OFFSET);
|
| + final int shadowXOffset = (int) (density * X_OFFSET);
|
| + OvalShape oval = new OvalShadow(mShadowRadius, diameter);
|
| + ShapeDrawable circle = new ShapeDrawable(oval);
|
| + setLayerType(View.LAYER_TYPE_SOFTWARE, circle.getPaint());
|
| + circle.getPaint().setShadowLayer(mShadowRadius, shadowXOffset, shadowYOffset,
|
| + KEY_SHADOW_COLOR);
|
| + final int padding = (int) mShadowRadius;
|
| + // set padding so the inner image sits correctly within the shadow.
|
| + setPadding(padding, padding, padding, padding);
|
| + return circle;
|
| + }
|
| +
|
| private boolean elevationSupported() {
|
| return android.os.Build.VERSION.SDK_INT >= 21;
|
| }
|
| @@ -134,7 +145,7 @@ class CircleImageView extends ImageView {
|
| mShadowPaint = new Paint();
|
| mShadowRadius = shadowRadius;
|
| mCircleDiameter = circleDiameter;
|
| - mRadialGradient = new RadialGradient(mCircleDiameter / 2, mCircleDiameter / 2,
|
| + mRadialGradient = new RadialGradient(mCircleDiameter / 2f, mCircleDiameter / 2f,
|
| mShadowRadius, new int[] {
|
| FILL_SHADOW_COLOR, Color.TRANSPARENT
|
| }, null, Shader.TileMode.CLAMP);
|
| @@ -145,9 +156,9 @@ class CircleImageView extends ImageView {
|
| public void draw(Canvas canvas, Paint paint) {
|
| final int viewWidth = CircleImageView.this.getWidth();
|
| final int viewHeight = CircleImageView.this.getHeight();
|
| - canvas.drawCircle(viewWidth / 2, viewHeight / 2, (mCircleDiameter / 2 + mShadowRadius),
|
| + canvas.drawCircle(viewWidth / 2f, viewHeight / 2f, (mCircleDiameter / 2f + mShadowRadius),
|
| mShadowPaint);
|
| - canvas.drawCircle(viewWidth / 2, viewHeight / 2, (mCircleDiameter / 2), paint);
|
| + canvas.drawCircle(viewWidth / 2f, viewHeight / 2f, (mCircleDiameter / 2f), paint);
|
| }
|
| }
|
| }
|
|
|