diff options
4 files changed, 10 insertions, 8 deletions
diff --git a/core/java/android/view/Surface.java b/core/java/android/view/Surface.java index 7ef6939..183b012 100644 --- a/core/java/android/view/Surface.java +++ b/core/java/android/view/Surface.java @@ -258,7 +258,7 @@ public class Surface implements Parcelable { private native void nativeSetLayerStack(int layerStack); private static native IBinder nativeGetBuiltInDisplay(int physicalDisplayId); - private static native IBinder nativeCreateDisplay(String name); + private static native IBinder nativeCreateDisplay(String name, boolean secure); private static native void nativeSetDisplaySurface( IBinder displayToken, Surface surface); private static native void nativeSetDisplayLayerStack( @@ -597,11 +597,11 @@ public class Surface implements Parcelable { } /** @hide */ - public static IBinder createDisplay(String name) { + public static IBinder createDisplay(String name, boolean secure) { if (name == null) { throw new IllegalArgumentException("name must not be null"); } - return nativeCreateDisplay(name); + return nativeCreateDisplay(name, secure); } /** @hide */ diff --git a/core/jni/android_view_Surface.cpp b/core/jni/android_view_Surface.cpp index 531445f..8a2c88c 100644 --- a/core/jni/android_view_Surface.cpp +++ b/core/jni/android_view_Surface.cpp @@ -653,9 +653,11 @@ static jobject nativeGetBuiltInDisplay(JNIEnv* env, jclass clazz, jint id) { return javaObjectForIBinder(env, token); } -static jobject nativeCreateDisplay(JNIEnv* env, jclass clazz, jstring nameObj) { +static jobject nativeCreateDisplay(JNIEnv* env, jclass clazz, jstring nameObj, + jboolean secure) { ScopedUtfChars name(env, nameObj); - sp<IBinder> token(SurfaceComposerClient::createDisplay(String8(name.c_str()))); + sp<IBinder> token(SurfaceComposerClient::createDisplay( + String8(name.c_str()), bool(secure))); return javaObjectForIBinder(env, token); } @@ -845,7 +847,7 @@ static JNINativeMethod gSurfaceMethods[] = { (void*)nativeSetLayerStack }, {"nativeGetBuiltInDisplay", "(I)Landroid/os/IBinder;", (void*)nativeGetBuiltInDisplay }, - {"nativeCreateDisplay", "(Ljava/lang/String;)Landroid/os/IBinder;", + {"nativeCreateDisplay", "(Ljava/lang/String;Z)Landroid/os/IBinder;", (void*)nativeCreateDisplay }, {"nativeSetDisplaySurface", "(Landroid/os/IBinder;Landroid/view/Surface;)V", (void*)nativeSetDisplaySurface }, diff --git a/services/java/com/android/server/display/OverlayDisplayAdapter.java b/services/java/com/android/server/display/OverlayDisplayAdapter.java index 937ebcf..c35fd98 100644 --- a/services/java/com/android/server/display/OverlayDisplayAdapter.java +++ b/services/java/com/android/server/display/OverlayDisplayAdapter.java @@ -282,7 +282,7 @@ final class OverlayDisplayAdapter extends DisplayAdapter { @Override public void onWindowCreated(SurfaceTexture surfaceTexture, float refreshRate) { synchronized (getSyncRoot()) { - IBinder displayToken = Surface.createDisplay(mName); + IBinder displayToken = Surface.createDisplay(mName, false); mDevice = new OverlayDisplayDevice(displayToken, mName, mWidth, mHeight, refreshRate, mDensityDpi, surfaceTexture); diff --git a/services/java/com/android/server/display/WifiDisplayAdapter.java b/services/java/com/android/server/display/WifiDisplayAdapter.java index f9d58af..97fc3e6 100644 --- a/services/java/com/android/server/display/WifiDisplayAdapter.java +++ b/services/java/com/android/server/display/WifiDisplayAdapter.java @@ -292,7 +292,7 @@ final class WifiDisplayAdapter extends DisplayAdapter { float refreshRate = 60.0f; // TODO: get this for real String name = display.getFriendlyDisplayName(); - IBinder displayToken = Surface.createDisplay(name); + IBinder displayToken = Surface.createDisplay(name, false); mDisplayDevice = new WifiDisplayDevice(displayToken, name, width, height, refreshRate, deviceFlags, surface); sendDisplayDeviceEventLocked(mDisplayDevice, DISPLAY_DEVICE_EVENT_ADDED); |