summaryrefslogtreecommitdiffstats
path: root/mobile/android/thirdparty/com/squareup/picasso/Action.java
diff options
context:
space:
mode:
Diffstat (limited to 'mobile/android/thirdparty/com/squareup/picasso/Action.java')
-rw-r--r--mobile/android/thirdparty/com/squareup/picasso/Action.java83
1 files changed, 83 insertions, 0 deletions
diff --git a/mobile/android/thirdparty/com/squareup/picasso/Action.java b/mobile/android/thirdparty/com/squareup/picasso/Action.java
new file mode 100644
index 000000000..5f176d770
--- /dev/null
+++ b/mobile/android/thirdparty/com/squareup/picasso/Action.java
@@ -0,0 +1,83 @@
+/*
+ * 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.graphics.Bitmap;
+import android.graphics.drawable.Drawable;
+import java.lang.ref.ReferenceQueue;
+import java.lang.ref.WeakReference;
+
+abstract class Action<T> {
+ static class RequestWeakReference<T> extends WeakReference<T> {
+ final Action action;
+
+ public RequestWeakReference(Action action, T referent, ReferenceQueue<? super T> q) {
+ super(referent, q);
+ this.action = action;
+ }
+ }
+
+ final Picasso picasso;
+ final Request data;
+ final WeakReference<T> target;
+ final boolean skipCache;
+ final boolean noFade;
+ final int errorResId;
+ final Drawable errorDrawable;
+ final String key;
+
+ boolean cancelled;
+
+ Action(Picasso picasso, T target, Request data, boolean skipCache, boolean noFade,
+ int errorResId, Drawable errorDrawable, String key) {
+ this.picasso = picasso;
+ this.data = data;
+ this.target = new RequestWeakReference<T>(this, target, picasso.referenceQueue);
+ this.skipCache = skipCache;
+ this.noFade = noFade;
+ this.errorResId = errorResId;
+ this.errorDrawable = errorDrawable;
+ this.key = key;
+ }
+
+ abstract void complete(Bitmap result, Picasso.LoadedFrom from);
+
+ abstract void error();
+
+ void cancel() {
+ cancelled = true;
+ }
+
+ Request getData() {
+ return data;
+ }
+
+ T getTarget() {
+ return target.get();
+ }
+
+ String getKey() {
+ return key;
+ }
+
+ boolean isCancelled() {
+ return cancelled;
+ }
+
+ Picasso getPicasso() {
+ return picasso;
+ }
+}