Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3981)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrClassesBuilderImpl.java

Issue 2556253006: Fix disk read violation when create GvrLayout (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrClassesBuilderImpl.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrClassesBuilderImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrClassesBuilderImpl.java
index 163ffa68875efdb0538d5979392996f464ffcfbd..067749b5ba56c11a87ff12b8b1a22f3270a552b9 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrClassesBuilderImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrClassesBuilderImpl.java
@@ -5,7 +5,9 @@
package org.chromium.chrome.browser.vr_shell;
import android.app.Activity;
+import android.os.StrictMode;
+import org.chromium.base.Log;
import org.chromium.base.annotations.UsedByReflection;
/**
@@ -14,6 +16,7 @@ import org.chromium.base.annotations.UsedByReflection;
*/
@UsedByReflection("VrShellDelegate.java")
public class VrClassesBuilderImpl implements VrClassesBuilder {
+ private static final String TAG = "VrClassesBuilderImpl";
private final Activity mActivity;
@UsedByReflection("VrShellDelegate.java")
@@ -23,12 +26,28 @@ public class VrClassesBuilderImpl implements VrClassesBuilder {
@Override
public NonPresentingGvrContext createNonPresentingGvrContext() {
- return new NonPresentingGvrContextImpl(mActivity);
+ StrictMode.ThreadPolicy oldPolicy = StrictMode.allowThreadDiskReads();
+ try {
+ return new NonPresentingGvrContextImpl(mActivity);
+ } catch (Exception ex) {
+ Log.e(TAG, "Unable to instantiate NonPresentingGvrContextImpl", ex);
+ return null;
+ } finally {
+ StrictMode.setThreadPolicy(oldPolicy);
+ }
}
@Override
public VrShell createVrShell() {
- return new VrShellImpl(mActivity);
+ StrictMode.ThreadPolicy oldPolicy = StrictMode.allowThreadDiskReads();
+ try {
+ return new VrShellImpl(mActivity);
+ } catch (Exception ex) {
+ Log.e(TAG, "Unable to instantiate VrShellImpl", ex);
+ return null;
+ } finally {
+ StrictMode.setThreadPolicy(oldPolicy);
+ }
}
@Override

Powered by Google App Engine
This is Rietveld 408576698