From 9d0dedc6cec165fc720e507e94c976f78a6ed743 Mon Sep 17 00:00:00 2001 From: steckbrief Date: Mon, 14 Dec 2015 14:56:46 +0100 Subject: Build cleanup: libraries added as local resources, removed unused proguard configs, removed SwipyRefreshLayout as module and added as binary dependency, moved 3rd party binaries to separate folder --- .../library/CircleImageView.java | 149 --------------------- 1 file changed, 149 deletions(-) delete mode 100644 libs/SwipyRefreshLayout/src/main/java/com/orangegangsters/github/swipyrefreshlayout/library/CircleImageView.java (limited to 'libs/SwipyRefreshLayout/src/main/java/com/orangegangsters/github/swipyrefreshlayout/library/CircleImageView.java') diff --git a/libs/SwipyRefreshLayout/src/main/java/com/orangegangsters/github/swipyrefreshlayout/library/CircleImageView.java b/libs/SwipyRefreshLayout/src/main/java/com/orangegangsters/github/swipyrefreshlayout/library/CircleImageView.java deleted file mode 100644 index 2609655b..00000000 --- a/libs/SwipyRefreshLayout/src/main/java/com/orangegangsters/github/swipyrefreshlayout/library/CircleImageView.java +++ /dev/null @@ -1,149 +0,0 @@ -/* - * Copyright (C) 2014 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.orangegangsters.github.swipyrefreshlayout.library; - -import android.content.Context; -import android.content.res.Resources; -import android.graphics.Canvas; -import android.graphics.Color; -import android.graphics.Paint; -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.widget.ImageView; - -/** - * Private class created to work around issues with AnimationListeners being - * called before the animation is actually complete and support shadows on older - * platforms. - * - * @hide - */ -class CircleImageView extends ImageView { - - private static final int KEY_SHADOW_COLOR = 0x1E000000; - private static final int FILL_SHADOW_COLOR = 0x3D000000; - // PX - private static final float X_OFFSET = 0f; - private static final float Y_OFFSET = 1.75f; - private static final float SHADOW_RADIUS = 3.5f; - private static final int SHADOW_ELEVATION = 4; - - private Animation.AnimationListener mListener; - private int mShadowRadius; - - 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); - } 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.getPaint().setColor(color); - setBackgroundDrawable(circle); - } - - private boolean elevationSupported() { - return android.os.Build.VERSION.SDK_INT >= 21; - } - - @Override - protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { - super.onMeasure(widthMeasureSpec, heightMeasureSpec); - if (!elevationSupported()) { - setMeasuredDimension(getMeasuredWidth() + mShadowRadius*2, getMeasuredHeight() - + mShadowRadius*2); - } - } - - public void setAnimationListener(Animation.AnimationListener listener) { - mListener = listener; - } - - @Override - public void onAnimationStart() { - super.onAnimationStart(); - if (mListener != null) { - mListener.onAnimationStart(getAnimation()); - } - } - - @Override - public void onAnimationEnd() { - super.onAnimationEnd(); - if (mListener != null) { - mListener.onAnimationEnd(getAnimation()); - } - } - - /** - * Update the background color of the circle image view. - */ - public void setBackgroundColor(int colorRes) { - if (getBackground() instanceof ShapeDrawable) { - final Resources res = getResources(); - ((ShapeDrawable) getBackground()).getPaint().setColor(res.getColor(colorRes)); - } - } - - private class OvalShadow extends OvalShape { - private RadialGradient mRadialGradient; - private int mShadowRadius; - private Paint mShadowPaint; - private int mCircleDiameter; - - public OvalShadow(int shadowRadius, int circleDiameter) { - super(); - mShadowPaint = new Paint(); - mShadowRadius = shadowRadius; - mCircleDiameter = circleDiameter; - mRadialGradient = new RadialGradient(mCircleDiameter / 2, mCircleDiameter / 2, - mShadowRadius, new int[] { - FILL_SHADOW_COLOR, Color.TRANSPARENT - }, null, Shader.TileMode.CLAMP); - mShadowPaint.setShader(mRadialGradient); - } - - @Override - 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), - mShadowPaint); - canvas.drawCircle(viewWidth / 2, viewHeight / 2, (mCircleDiameter / 2), paint); - } - } -} -- cgit v1.2.3