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

Unified Diff: media/base/android/java/src/org/chromium/media/DialogSurfaceManager.java

Issue 2220623002: DialogSurfaceHolder implementation. Base URL: https://chromium.googlesource.com/chromium/src.git@just_surface_manager
Patch Set: panel => media dialog type Created 4 years, 4 months 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: media/base/android/java/src/org/chromium/media/DialogSurfaceManager.java
diff --git a/media/base/android/java/src/org/chromium/media/DialogSurfaceManager.java b/media/base/android/java/src/org/chromium/media/DialogSurfaceManager.java
index c54247a23703adc2279a0d41ed35b30f27e2ad6d..63a3b36dace12b0a3e05a8dd145073cab42072e7 100644
--- a/media/base/android/java/src/org/chromium/media/DialogSurfaceManager.java
+++ b/media/base/android/java/src/org/chromium/media/DialogSurfaceManager.java
@@ -4,10 +4,12 @@
package org.chromium.media;
+import android.content.Context;
import android.os.Handler;
import android.os.HandlerThread;
import android.os.IBinder;
+import org.chromium.base.ContextUtils;
import org.chromium.base.annotations.CalledByNative;
import org.chromium.base.annotations.JNINamespace;
@@ -34,6 +36,8 @@ public class DialogSurfaceManager extends IDialogSurfaceManager.Stub {
private static final String TAG = "cr_media";
private static DialogSurfaceManager sInstance;
+ private final Context mContext;
+
// We maintain a thread with a Looper for the DialogSurfaces to use,
// since Dialog requires one. We don't want this to be the native thread
// that's used to create them, because it probably also has a native message
@@ -49,6 +53,7 @@ public class DialogSurfaceManager extends IDialogSurfaceManager.Stub {
private static final int sMaxSurfaces = 1;
private DialogSurfaceManager(IDialogSurfaceActivityMapper mapper) {
+ mContext = ContextUtils.getApplicationContext();
mMapper = mapper;
mNumSurfaces = 0;
}
@@ -66,14 +71,12 @@ public class DialogSurfaceManager extends IDialogSurfaceManager.Stub {
// Limit the number of concurrent surfaces.
if (mNumSurfaces >= sMaxSurfaces) return null;
- // TODO(liberato): would get the WindowToken / Activity here.
-
startThreadIfNeeded();
mNumSurfaces++;
- // TODO(liberato): would instantiate DialogSurfaceHolder here.
- return null;
+ return new DialogSurfaceHolder(rendererPid, renderFrameId, mContext, this, mHandler,
+ callback, x, y, width, height);
}
/**
@@ -98,10 +101,6 @@ public class DialogSurfaceManager extends IDialogSurfaceManager.Stub {
// Called on main thread only.
if (mThread != null) return;
- // Just to avoid "Unread field" in findbugs. Normally, we wills send
- // mHandler to DialogSurface.
- if (mHandler != null) return;
-
mThread = new HandlerThread("DialogSurfaceThread");
mThread.start();
mHandler = new Handler(mThread.getLooper());

Powered by Google App Engine
This is Rietveld 408576698