summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jeff Sharkey <jsharkey@android.com> 2012-02-28 13:21:04 -0800
committer Android (Google) Code Review <android-gerrit@google.com> 2012-02-28 13:21:04 -0800
commitc81ec3637b8e3c177ec041aeb3863e123924505b (patch)
tree792f02a62ee32ddceebb622bf5078b82e8df3d85
parent31db8b9f6ba2dfb5c3c9cb0f25ed4b71872fc98c (diff)
parent7c5016787ec862445b1d4301787f46d52acfa88d (diff)
Merge "Suppress StrictMode in handleBindApplication()."
-rw-r--r--core/java/android/app/ActivityThread.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java
index 5d1d4618e32c..d4b9a364beeb 100644
--- a/core/java/android/app/ActivityThread.java
+++ b/core/java/android/app/ActivityThread.java
@@ -3986,6 +3986,12 @@ public final class ActivityThread {
dalvik.system.VMRuntime.getRuntime().clearGrowthLimit();
}
+ // allow disk access during application and provider setup. this could
+ // block processing ordered broadcasts, but later processing would
+ // probably end up doing the same disk access. restore not guarded with
+ // finally block, since exceptions here will take down the application.
+ final StrictMode.ThreadPolicy savedPolicy = StrictMode.allowThreadDiskWrites();
+
// If the app is being launched for full backup or restore, bring it up in
// a restricted environment with the base application class.
Application app = data.info.makeApplication(data.restrictedBackupMode, null);
@@ -3993,7 +3999,7 @@ public final class ActivityThread {
// don't bring up providers in restricted mode; they may depend on the
// app's custom Application class
- if (!data.restrictedBackupMode){
+ if (!data.restrictedBackupMode) {
List<ProviderInfo> providers = data.providers;
if (providers != null) {
installContentProviders(app, providers);
@@ -4012,6 +4018,8 @@ public final class ActivityThread {
+ ": " + e.toString(), e);
}
}
+
+ StrictMode.setThreadPolicy(savedPolicy);
}
/*package*/ final void finishInstrumentation(int resultCode, Bundle results) {