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

Commit bd847381 authored by Kevin Hester's avatar Kevin Hester Committed by Android (Google) Code Review
Browse files

Merge "Do not allow Surface creation on machines without SurfaceFlinger We...

Merge "Do not allow Surface creation on machines without SurfaceFlinger We will fail later anyways, but this change makes it much easier to track down places where we are inadvertently doing operations that depend on the flinger." into ics-aah-exp
parents de7aa54b 0cc47fe8
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import android.content.res.CompatibilityInfo.Translator;
import android.graphics.*;
import android.os.Parcelable;
import android.os.Parcel;
import android.os.SystemProperties;
import android.util.Log;

/**
@@ -35,6 +36,15 @@ public class Surface implements Parcelable {
    public static final int ROTATION_180     = 2;
    public static final int ROTATION_270     = 3;

    private static final boolean headless = "1".equals(
        SystemProperties.get("ro.config.headless", "0"));

    private static void checkHeadless() {
        if(headless) {
            throw new UnsupportedOperationException("Device is headless");
        }
    }

    /**
     * Create Surface from a {@link SurfaceTexture}.
     *
@@ -46,6 +56,8 @@ public class Surface implements Parcelable {
     * Surface.
     */
    public Surface(SurfaceTexture surfaceTexture) {
        checkHeadless();

        if (DEBUG_RELEASE) {
            mCreationStack = new Exception();
        }
@@ -244,6 +256,8 @@ public class Surface implements Parcelable {
    public Surface(SurfaceSession s,
            int pid, int display, int w, int h, int format, int flags)
        throws OutOfResourcesException {
        checkHeadless();

        if (DEBUG_RELEASE) {
            mCreationStack = new Exception();
        }
@@ -255,6 +269,8 @@ public class Surface implements Parcelable {
    public Surface(SurfaceSession s,
            int pid, String name, int display, int w, int h, int format, int flags)
        throws OutOfResourcesException {
        checkHeadless();

        if (DEBUG_RELEASE) {
            mCreationStack = new Exception();
        }
@@ -269,6 +285,8 @@ public class Surface implements Parcelable {
     * @hide
     */
    public Surface() {
        checkHeadless();

        if (DEBUG_RELEASE) {
            mCreationStack = new Exception();
        }