Skip to content

Commit 8038c63

Browse files
committed
update PriorityAsyncTask
1 parent 94d7406 commit 8038c63

File tree

3 files changed

+16
-34
lines changed

3 files changed

+16
-34
lines changed

library/src/com/lidroid/xutils/HttpUtils.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -319,11 +319,9 @@ private <T> HttpHandler<T> sendRequest(HttpRequest request, RequestParams params
319319
Priority priority = null;
320320
if (params != null) {
321321
priority = params.getPriority();
322+
handler.setPriority(priority);
322323
}
323-
if (priority == null) {
324-
priority = Priority.DEFAULT;
325-
}
326-
handler.executeOnExecutor(EXECUTOR, priority, request);
324+
handler.executeOnExecutor(EXECUTOR, request);
327325
return handler;
328326
}
329327

library/src/com/lidroid/xutils/task/PriorityAsyncTask.java

Lines changed: 13 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import android.os.Handler;
1919
import android.os.Looper;
2020
import android.os.Message;
21-
import android.os.Process;
2221
import com.lidroid.xutils.util.LogUtils;
2322

2423
import java.util.concurrent.*;
@@ -45,6 +44,16 @@ public abstract class PriorityAsyncTask<Params, Progress, Result> implements Tas
4544
private final AtomicBoolean mCancelled = new AtomicBoolean();
4645
private final AtomicBoolean mTaskInvoked = new AtomicBoolean();
4746

47+
private Priority priority;
48+
49+
public Priority getPriority() {
50+
return priority;
51+
}
52+
53+
public void setPriority(Priority priority) {
54+
this.priority = priority;
55+
}
56+
4857
/**
4958
* Creates a new asynchronous task. This constructor must be invoked on the UI thread.
5059
*/
@@ -53,7 +62,7 @@ public PriorityAsyncTask() {
5362
public Result call() throws Exception {
5463
mTaskInvoked.set(true);
5564

56-
android.os.Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND);
65+
android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_BACKGROUND);
5766
//noinspection unchecked
5867
return postResult(doInBackground(mParams));
5968
}
@@ -65,7 +74,7 @@ protected void done() {
6574
try {
6675
postResultIfNotInvoked(get());
6776
} catch (InterruptedException e) {
68-
LogUtils.w(e);
77+
LogUtils.d(e.getMessage());
6978
} catch (ExecutionException e) {
7079
throw new RuntimeException("An error occured while executing doInBackground()",
7180
e.getCause());
@@ -185,6 +194,7 @@ protected void onCancelled() {
185194
* @return <tt>true</tt> if task was cancelled before it completed
186195
* @see #cancel(boolean)
187196
*/
197+
@Override
188198
public final boolean isCancelled() {
189199
return mCancelled.get();
190200
}
@@ -280,18 +290,6 @@ public final PriorityAsyncTask<Params, Progress, Result> execute(Params... param
280290
return executeOnExecutor(sDefaultExecutor, params);
281291
}
282292

283-
/**
284-
* @param priority
285-
* @param params The parameters of the task.
286-
* @return This instance of AsyncTask.
287-
* @throws IllegalStateException If execute has invoked.
288-
* @see #executeOnExecutor(java.util.concurrent.Executor, Object[])
289-
* @see #execute(Runnable)
290-
*/
291-
public final PriorityAsyncTask<Params, Progress, Result> execute(Priority priority, Params... params) {
292-
return executeOnExecutor(sDefaultExecutor, priority, params);
293-
}
294-
295293
/**
296294
* @param exec The executor to use.
297295
* @param params The parameters of the task.
@@ -301,20 +299,6 @@ public final PriorityAsyncTask<Params, Progress, Result> execute(Priority priori
301299
*/
302300
public final PriorityAsyncTask<Params, Progress, Result> executeOnExecutor(Executor exec,
303301
Params... params) {
304-
return executeOnExecutor(exec, Priority.DEFAULT, params);
305-
}
306-
307-
/**
308-
* @param exec The executor to use.
309-
* @param priority
310-
* @param params The parameters of the task.
311-
* @return This instance of AsyncTask.
312-
* @throws IllegalStateException If execute has invoked.
313-
* @see #execute(Object[])
314-
*/
315-
public final PriorityAsyncTask<Params, Progress, Result> executeOnExecutor(Executor exec,
316-
Priority priority,
317-
Params... params) {
318302
if (mExecuteInvoked) {
319303
throw new IllegalStateException("Cannot execute task:"
320304
+ " the task is already executed.");

library/src/com/lidroid/xutils/task/PriorityObject.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ public class PriorityObject<E> {
1111
public final E obj;
1212

1313
public PriorityObject(Priority priority, E obj) {
14-
this.priority = priority;
14+
this.priority = priority == null ? Priority.DEFAULT : priority;
1515
this.obj = obj;
1616
}
1717
}

0 commit comments

Comments
 (0)