summaryrefslogtreecommitdiffstats
path: root/mobile/android/thirdparty/com/squareup/picasso/PicassoDrawable.java
diff options
context:
space:
mode:
Diffstat (limited to 'mobile/android/thirdparty/com/squareup/picasso/PicassoDrawable.java')
-rw-r--r--mobile/android/thirdparty/com/squareup/picasso/PicassoDrawable.java186
1 files changed, 0 insertions, 186 deletions
diff --git a/mobile/android/thirdparty/com/squareup/picasso/PicassoDrawable.java b/mobile/android/thirdparty/com/squareup/picasso/PicassoDrawable.java
deleted file mode 100644
index 07f762c31..000000000
--- a/mobile/android/thirdparty/com/squareup/picasso/PicassoDrawable.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- * Copyright (C) 2013 Square, Inc.
- *
- * 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.squareup.picasso;
-
-import android.content.Context;
-import android.content.res.Resources;
-import android.graphics.Bitmap;
-import android.graphics.Canvas;
-import android.graphics.ColorFilter;
-import android.graphics.Paint;
-import android.graphics.Path;
-import android.graphics.Point;
-import android.graphics.Rect;
-import android.graphics.drawable.AnimationDrawable;
-import android.graphics.drawable.BitmapDrawable;
-import android.graphics.drawable.Drawable;
-import android.os.SystemClock;
-import android.widget.ImageView;
-
-import static android.graphics.Color.WHITE;
-import static com.squareup.picasso.Picasso.LoadedFrom.MEMORY;
-
-final class PicassoDrawable extends Drawable {
- // Only accessed from main thread.
- private static final Paint DEBUG_PAINT = new Paint();
-
- private static final float FADE_DURATION = 200f; //ms
-
- /**
- * Create or update the drawable on the target {@link ImageView} to display the supplied bitmap
- * image.
- */
- static void setBitmap(ImageView target, Context context, Bitmap bitmap,
- Picasso.LoadedFrom loadedFrom, boolean noFade, boolean debugging) {
- Drawable placeholder = target.getDrawable();
- if (placeholder instanceof AnimationDrawable) {
- ((AnimationDrawable) placeholder).stop();
- }
- PicassoDrawable drawable =
- new PicassoDrawable(context, placeholder, bitmap, loadedFrom, noFade, debugging);
- target.setImageDrawable(drawable);
- }
-
- /**
- * Create or update the drawable on the target {@link ImageView} to display the supplied
- * placeholder image.
- */
- static void setPlaceholder(ImageView target, int placeholderResId, Drawable placeholderDrawable) {
- if (placeholderResId != 0) {
- target.setImageResource(placeholderResId);
- } else {
- target.setImageDrawable(placeholderDrawable);
- }
- if (target.getDrawable() instanceof AnimationDrawable) {
- ((AnimationDrawable) target.getDrawable()).start();
- }
- }
-
- private final boolean debugging;
- private final float density;
- private final Picasso.LoadedFrom loadedFrom;
- final BitmapDrawable image;
-
- Drawable placeholder;
-
- long startTimeMillis;
- boolean animating;
- int alpha = 0xFF;
-
- PicassoDrawable(Context context, Drawable placeholder, Bitmap bitmap,
- Picasso.LoadedFrom loadedFrom, boolean noFade, boolean debugging) {
- Resources res = context.getResources();
-
- this.debugging = debugging;
- this.density = res.getDisplayMetrics().density;
-
- this.loadedFrom = loadedFrom;
-
- this.image = new BitmapDrawable(res, bitmap);
-
- boolean fade = loadedFrom != MEMORY && !noFade;
- if (fade) {
- this.placeholder = placeholder;
- animating = true;
- startTimeMillis = SystemClock.uptimeMillis();
- }
- }
-
- @Override public void draw(Canvas canvas) {
- if (!animating) {
- image.draw(canvas);
- } else {
- float normalized = (SystemClock.uptimeMillis() - startTimeMillis) / FADE_DURATION;
- if (normalized >= 1f) {
- animating = false;
- placeholder = null;
- image.draw(canvas);
- } else {
- if (placeholder != null) {
- placeholder.draw(canvas);
- }
-
- int partialAlpha = (int) (alpha * normalized);
- image.setAlpha(partialAlpha);
- image.draw(canvas);
- image.setAlpha(alpha);
- invalidateSelf();
- }
- }
-
- if (debugging) {
- drawDebugIndicator(canvas);
- }
- }
-
- @Override public int getIntrinsicWidth() {
- return image.getIntrinsicWidth();
- }
-
- @Override public int getIntrinsicHeight() {
- return image.getIntrinsicHeight();
- }
-
- @Override public void setAlpha(int alpha) {
- this.alpha = alpha;
- if (placeholder != null) {
- placeholder.setAlpha(alpha);
- }
- image.setAlpha(alpha);
- }
-
- @Override public void setColorFilter(ColorFilter cf) {
- if (placeholder != null) {
- placeholder.setColorFilter(cf);
- }
- image.setColorFilter(cf);
- }
-
- @Override public int getOpacity() {
- return image.getOpacity();
- }
-
- @Override protected void onBoundsChange(Rect bounds) {
- super.onBoundsChange(bounds);
-
- image.setBounds(bounds);
- if (placeholder != null) {
- placeholder.setBounds(bounds);
- }
- }
-
- private void drawDebugIndicator(Canvas canvas) {
- DEBUG_PAINT.setColor(WHITE);
- Path path = getTrianglePath(new Point(0, 0), (int) (16 * density));
- canvas.drawPath(path, DEBUG_PAINT);
-
- DEBUG_PAINT.setColor(loadedFrom.debugColor);
- path = getTrianglePath(new Point(0, 0), (int) (15 * density));
- canvas.drawPath(path, DEBUG_PAINT);
- }
-
- private static Path getTrianglePath(Point p1, int width) {
- Point p2 = new Point(p1.x + width, p1.y);
- Point p3 = new Point(p1.x, p1.y + width);
-
- Path path = new Path();
- path.moveTo(p1.x, p1.y);
- path.lineTo(p2.x, p2.y);
- path.lineTo(p3.x, p3.y);
-
- return path;
- }
-}