summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRomain Guy <romainguy@google.com>2012-01-30 12:17:22 -0800
committerRomain Guy <romainguy@google.com>2012-01-30 14:11:44 -0800
commit5e9120d4adfb07aeeadb0e0de1de2eb9ebbd80e0 (patch)
tree112b8343b6eacf5a172f2e87ad9324cd27bc65a1
parent530041d3191ce817832a0108514617768e43cda6 (diff)
downloadframeworks_base-5e9120d4adfb07aeeadb0e0de1de2eb9ebbd80e0.zip
frameworks_base-5e9120d4adfb07aeeadb0e0de1de2eb9ebbd80e0.tar.gz
frameworks_base-5e9120d4adfb07aeeadb0e0de1de2eb9ebbd80e0.tar.bz2
Always initialize AsyncTask on the main thread.
Change-Id: I039e5d6cb7157a0c8873e0d29161daf1cbda5577
-rw-r--r--core/java/android/app/ActivityThread.java4
-rw-r--r--core/java/android/os/AsyncTask.java2
2 files changed, 5 insertions, 1 deletions
diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java
index 9807b89..3c5f53a 100644
--- a/core/java/android/app/ActivityThread.java
+++ b/core/java/android/app/ActivityThread.java
@@ -4413,7 +4413,7 @@ public final class ActivityThread {
});
}
- public static final ActivityThread systemMain() {
+ public static ActivityThread systemMain() {
HardwareRenderer.disable(true);
ActivityThread thread = new ActivityThread();
thread.attach(true);
@@ -4454,6 +4454,8 @@ public final class ActivityThread {
ActivityThread thread = new ActivityThread();
thread.attach(false);
+ AsyncTask.init();
+
if (false) {
Looper.myLooper().setMessageLogging(new
LogPrinter(Log.DEBUG, "ActivityThread"));
diff --git a/core/java/android/os/AsyncTask.java b/core/java/android/os/AsyncTask.java
index 5e9abb7..fd6bed7 100644
--- a/core/java/android/os/AsyncTask.java
+++ b/core/java/android/os/AsyncTask.java
@@ -135,6 +135,8 @@ import java.util.concurrent.atomic.AtomicInteger;
* <p>There are a few threading rules that must be followed for this class to
* work properly:</p>
* <ul>
+ * <li>The AsyncTask class must be loaded on the UI thread. This is done
+ * automatically as of {@link android.os.Build.VERSION_CODES#JELLY_BEAN}.</li>
* <li>The task instance must be created on the UI thread.</li>
* <li>{@link #execute} must be invoked on the UI thread.</li>
* <li>Do not call {@link #onPreExecute()}, {@link #onPostExecute},