diff options
| author | 2012-02-28 13:21:04 -0800 | |
|---|---|---|
| committer | 2012-02-28 13:21:04 -0800 | |
| commit | c81ec3637b8e3c177ec041aeb3863e123924505b (patch) | |
| tree | 792f02a62ee32ddceebb622bf5078b82e8df3d85 | |
| parent | 31db8b9f6ba2dfb5c3c9cb0f25ed4b71872fc98c (diff) | |
| parent | 7c5016787ec862445b1d4301787f46d52acfa88d (diff) | |
Merge "Suppress StrictMode in handleBindApplication()."
| -rw-r--r-- | core/java/android/app/ActivityThread.java | 10 |
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) { |