Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 23d62241 authored by Jamie Gennis's avatar Jamie Gennis Committed by Android (Google) Code Review
Browse files

Merge "Set the secureness when creating displays" into jb-mr1-dev

parents d07f8d0b 7bbf8163
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -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 */
+5 −3
Original line number Diff line number Diff line
@@ -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 },
+1 −1
Original line number Diff line number Diff line
@@ -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);

+1 −1
Original line number Diff line number Diff line
@@ -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);