summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Dianne Hackborn <hackbod@google.com> 2011-01-11 17:57:19 -0800
committer Android (Google) Code Review <android-gerrit@google.com> 2011-01-11 17:57:19 -0800
commit45a8f53b25c8306c7f2c37f3a1d70ace21956e28 (patch)
tree8083e339876dc0a16b191fa32c9e95e1676489fa
parent5f6e583cc8c27ac2eb217a7d1065a6aeda00a033 (diff)
parent540f86aa42877ac73f6f2f24dac49382432aa078 (diff)
Merge "Get rid of old ParcelFileDescriptor API." into honeycomb
-rw-r--r--api/current.xml17
-rw-r--r--core/java/android/content/AsyncTaskLoader.java23
-rw-r--r--core/java/android/os/ParcelFileDescriptor.java2
3 files changed, 21 insertions, 21 deletions
diff --git a/api/current.xml b/api/current.xml
index 8b0c5559cb33..7e17a3322843 100644
--- a/api/current.xml
+++ b/api/current.xml
@@ -144137,23 +144137,6 @@
visibility="public"
>
</method>
-<method name="fromData"
- return="android.os.ParcelFileDescriptor"
- abstract="false"
- native="false"
- synchronized="false"
- static="true"
- final="false"
- deprecated="deprecated"
- visibility="public"
->
-<parameter name="data" type="byte[]">
-</parameter>
-<parameter name="name" type="java.lang.String">
-</parameter>
-<exception name="IOException" type="java.io.IOException">
-</exception>
-</method>
<method name="fromSocket"
return="android.os.ParcelFileDescriptor"
abstract="false"
diff --git a/core/java/android/content/AsyncTaskLoader.java b/core/java/android/content/AsyncTaskLoader.java
index 98710558ce18..c6b9e805afce 100644
--- a/core/java/android/content/AsyncTaskLoader.java
+++ b/core/java/android/content/AsyncTaskLoader.java
@@ -19,6 +19,7 @@ package android.content;
import android.os.AsyncTask;
import android.os.Handler;
import android.os.SystemClock;
+import android.util.Slog;
import android.util.TimeUtils;
import java.io.FileDescriptor;
@@ -31,9 +32,8 @@ import java.util.concurrent.CountDownLatch;
* @param <D> the data type to be loaded.
*/
public abstract class AsyncTaskLoader<D> extends Loader<D> {
-
-
- private static final String TAG = "AsyncTaskLoader";
+ static final String TAG = "AsyncTaskLoader";
+ static final boolean DEBUG = false;
final class LoadTask extends AsyncTask<Void, Void, D> implements Runnable {
@@ -45,13 +45,16 @@ public abstract class AsyncTaskLoader<D> extends Loader<D> {
/* Runs on a worker thread */
@Override
protected D doInBackground(Void... params) {
+ if (DEBUG) Slog.v(TAG, this + " >>> doInBackground");
result = AsyncTaskLoader.this.onLoadInBackground();
+ if (DEBUG) Slog.v(TAG, this + " <<< doInBackground");
return result;
}
/* Runs on the UI thread */
@Override
protected void onPostExecute(D data) {
+ if (DEBUG) Slog.v(TAG, this + " onPostExecute");
try {
AsyncTaskLoader.this.dispatchOnLoadComplete(this, data);
} finally {
@@ -61,6 +64,7 @@ public abstract class AsyncTaskLoader<D> extends Loader<D> {
@Override
protected void onCancelled() {
+ if (DEBUG) Slog.v(TAG, this + " onCancelled");
try {
AsyncTaskLoader.this.dispatchOnCancelled(this, result);
} finally {
@@ -105,6 +109,7 @@ public abstract class AsyncTaskLoader<D> extends Loader<D> {
super.onForceLoad();
cancelLoad();
mTask = new LoadTask();
+ if (DEBUG) Slog.v(TAG, "Preparing load: mTask=" + mTask);
executePendingTask();
}
@@ -125,10 +130,13 @@ public abstract class AsyncTaskLoader<D> extends Loader<D> {
* <tt>true</tt> otherwise.
*/
public boolean cancelLoad() {
+ if (DEBUG) Slog.v(TAG, "cancelLoad: mTask=" + mTask);
if (mTask != null) {
if (mCancellingTask != null) {
// There was a pending task already waiting for a previous
// one being canceled; just drop it.
+ if (DEBUG) Slog.v(TAG,
+ "cancelLoad: still waiting for cancelled task; dropping next");
if (mTask.waiting) {
mTask.waiting = false;
mHandler.removeCallbacks(mTask);
@@ -138,12 +146,14 @@ public abstract class AsyncTaskLoader<D> extends Loader<D> {
} else if (mTask.waiting) {
// There is a task, but it is waiting for the time it should
// execute. We can just toss it.
+ if (DEBUG) Slog.v(TAG, "cancelLoad: task is waiting, dropping it");
mTask.waiting = false;
mHandler.removeCallbacks(mTask);
mTask = null;
return false;
} else {
boolean cancelled = mTask.cancel(false);
+ if (DEBUG) Slog.v(TAG, "cancelLoad: cancelled=" + cancelled);
if (cancelled) {
mCancellingTask = mTask;
}
@@ -171,11 +181,15 @@ public abstract class AsyncTaskLoader<D> extends Loader<D> {
long now = SystemClock.uptimeMillis();
if (now < (mLastLoadCompleteTime+mUpdateThrottle)) {
// Not yet time to do another load.
+ if (DEBUG) Slog.v(TAG, "Waiting until "
+ + (mLastLoadCompleteTime+mUpdateThrottle)
+ + " to execute: " + mTask);
mTask.waiting = true;
mHandler.postAtTime(mTask, mLastLoadCompleteTime+mUpdateThrottle);
return;
}
}
+ if (DEBUG) Slog.v(TAG, "Executing: " + mTask);
mTask.execute((Void[]) null);
}
}
@@ -183,6 +197,7 @@ public abstract class AsyncTaskLoader<D> extends Loader<D> {
void dispatchOnCancelled(LoadTask task, D data) {
onCancelled(data);
if (mCancellingTask == task) {
+ if (DEBUG) Slog.v(TAG, "Cancelled task is now canceled!");
mLastLoadCompleteTime = SystemClock.uptimeMillis();
mCancellingTask = null;
executePendingTask();
@@ -191,10 +206,12 @@ public abstract class AsyncTaskLoader<D> extends Loader<D> {
void dispatchOnLoadComplete(LoadTask task, D data) {
if (mTask != task) {
+ if (DEBUG) Slog.v(TAG, "Load complete of old task, trying to cancel");
dispatchOnCancelled(task, data);
} else {
mLastLoadCompleteTime = SystemClock.uptimeMillis();
mTask = null;
+ if (DEBUG) Slog.v(TAG, "Delivering result");
deliverResult(data);
}
}
diff --git a/core/java/android/os/ParcelFileDescriptor.java b/core/java/android/os/ParcelFileDescriptor.java
index b6c2ed6f84c0..3a5d26b9c59d 100644
--- a/core/java/android/os/ParcelFileDescriptor.java
+++ b/core/java/android/os/ParcelFileDescriptor.java
@@ -153,7 +153,7 @@ public class ParcelFileDescriptor implements Parcelable {
private static native int createPipeNative(FileDescriptor[] outFds);
/**
- * @deprecated Please use createPipe() or ContentProvider.openPipeHelper().
+ * @hide Please use createPipe() or ContentProvider.openPipeHelper().
* Gets a file descriptor for a read-only copy of the given data.
*
* @param data Data to copy.