diff options
| author | Jamie Gennis <jgennis@google.com> | 2012-10-19 18:29:29 -0700 |
|---|---|---|
| committer | Jamie Gennis <jgennis@google.com> | 2012-10-19 18:34:35 -0700 |
| commit | 7bbf8163fb83afc54b353a8def52bfb87ecce047 (patch) | |
| tree | 9080f41d0ea7a72ad49ca79441858091b693ed45 | |
| parent | 398a6713c355cf59af071e944268aec7c0096b5a (diff) | |
| download | frameworks_base-7bbf8163fb83afc54b353a8def52bfb87ecce047.zip frameworks_base-7bbf8163fb83afc54b353a8def52bfb87ecce047.tar.gz frameworks_base-7bbf8163fb83afc54b353a8def52bfb87ecce047.tar.bz2 | |
Set the secureness when creating displays
This change makes use of the new 'secure' argument to the
ISurfaceComposer::createDisplay method. In this change both the overlay and
wifi displays are hard-coded to be non-secure displays.
Bug: 7368436
Change-Id: Ib65312f2adab5104d8deefbfc32af9dc106a9129
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); |
