| Index: chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
|
| index c3b87f4b165bdb65fcbe83316d117df63db20af2..cc1112ac970f542c91cd4abf6250e30160d9a544 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
|
| @@ -20,6 +20,7 @@ import android.graphics.drawable.Drawable;
|
| import android.net.Uri;
|
| import android.os.Build;
|
| import android.os.Bundle;
|
| +import android.os.StrictMode;
|
| import android.os.SystemClock;
|
| import android.support.v7.app.AlertDialog;
|
| import android.util.DisplayMetrics;
|
| @@ -341,7 +342,16 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
| WarmupManager.getInstance().transferViewHierarchyTo(contentParent);
|
| contentParent.removeView(placeHolderView);
|
| } else {
|
| - setContentView(R.layout.main);
|
| + // Allow disk access for the setContentView call.
|
| + // On certain android configurations setContentView results in disk writes outside of
|
| + // our control. So, we have to disable StrictMode to work. See crbug.com/639352.
|
| + StrictMode.ThreadPolicy oldPolicy = StrictMode.getThreadPolicy();
|
| + StrictMode.allowThreadDiskWrites();
|
| + try {
|
| + setContentView(R.layout.main);
|
| + } finally {
|
| + StrictMode.setThreadPolicy(oldPolicy);
|
| + }
|
| if (controlContainerLayoutId != NO_CONTROL_CONTAINER) {
|
| ViewStub toolbarContainerStub =
|
| ((ViewStub) findViewById(R.id.control_container_stub));
|
|
|