// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.geocities.com/kpdus/jad.html // Decompiler options: braces fieldsfirst space lnc package org.jdeferred.android; import android.os.AsyncTask; import java.util.concurrent.CancellationException; import org.jdeferred.Promise; import org.jdeferred.impl.DeferredObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public abstract class DeferredAsyncTask extends AsyncTask { private final DeferredObject deferred; protected final Logger log; private final org.jdeferred.DeferredManager.StartPolicy startPolicy; private Throwable throwable; public DeferredAsyncTask() { log = LoggerFactory.getLogger(org/jdeferred/android/DeferredAsyncTask); deferred = new DeferredObject(); startPolicy = org.jdeferred.DeferredManager.StartPolicy.DEFAULT; } public DeferredAsyncTask(org.jdeferred.DeferredManager.StartPolicy startpolicy) { log = LoggerFactory.getLogger(org/jdeferred/android/DeferredAsyncTask); deferred = new DeferredObject(); startPolicy = startpolicy; } protected final transient Object doInBackground(Object aobj[]) { try { aobj = ((Object []) (doInBackgroundSafe(aobj))); } // Misplaced declaration of an exception variable catch (Object aobj[]) { throwable = ((Throwable) (aobj)); return null; } return ((Object) (aobj)); } protected transient abstract Object doInBackgroundSafe(Object aobj[]) throws Exception; public org.jdeferred.DeferredManager.StartPolicy getStartPolicy() { return startPolicy; } protected final void notify(Object obj) { publishProgress(new Object[] { obj }); } protected final void onCancelled() { deferred.reject(new CancellationException()); } protected final void onCancelled(Object obj) { deferred.reject(new CancellationException()); } protected final void onPostExecute(Object obj) { if (throwable != null) { deferred.reject(throwable); return; } else { deferred.resolve(obj); return; } } protected final transient void onProgressUpdate(Object aobj[]) { if (aobj == null || aobj.length == 0) { deferred.notify(null); } else if (aobj.length > 0) { log.warn("There were multiple progress values. Only the first one was used!"); deferred.notify(aobj[0]); return; } } public Promise promise() { return deferred.promise(); } }