Merge "Surface: add the PhysicalDisplayInfo#secure field" into jb-mr1-dev
diff --git a/core/java/android/view/Surface.java b/core/java/android/view/Surface.java
index 183b012..550a740 100644
--- a/core/java/android/view/Surface.java
+++ b/core/java/android/view/Surface.java
@@ -758,6 +758,7 @@
         public float density;
         public float xDpi;
         public float yDpi;
+        public boolean secure;
 
         public PhysicalDisplayInfo() {
         }
@@ -778,7 +779,8 @@
                     && refreshRate == other.refreshRate
                     && density == other.density
                     && xDpi == other.xDpi
-                    && yDpi == other.yDpi;
+                    && yDpi == other.yDpi
+                    && secure == other.secure;
         }
 
         @Override
@@ -793,13 +795,15 @@
             density = other.density;
             xDpi = other.xDpi;
             yDpi = other.yDpi;
+            secure = other.secure;
         }
 
         // For debugging purposes
         @Override
         public String toString() {
             return "PhysicalDisplayInfo{" + width + " x " + height + ", " + refreshRate + " fps, "
-                    + "density " + density + ", " + xDpi + " x " + yDpi + " dpi}";
+                    + "density " + density + ", " + xDpi + " x " + yDpi + " dpi, secure " + secure
+                    + "}";
         }
     }
 
diff --git a/core/jni/android_view_Surface.cpp b/core/jni/android_view_Surface.cpp
index 8a2c88c..2767e94 100644
--- a/core/jni/android_view_Surface.cpp
+++ b/core/jni/android_view_Surface.cpp
@@ -89,6 +89,7 @@
     jfieldID density;
     jfieldID xDpi;
     jfieldID yDpi;
+    jfieldID secure;
 } gPhysicalDisplayInfoClassInfo;
 
 
@@ -714,6 +715,7 @@
     env->SetFloatField(infoObj, gPhysicalDisplayInfoClassInfo.density, info.density);
     env->SetFloatField(infoObj, gPhysicalDisplayInfoClassInfo.xDpi, info.xdpi);
     env->SetFloatField(infoObj, gPhysicalDisplayInfoClassInfo.yDpi, info.ydpi);
+    env->SetBooleanField(infoObj, gPhysicalDisplayInfoClassInfo.secure, info.secure);
     return JNI_TRUE;
 }
 
@@ -907,6 +909,7 @@
     gPhysicalDisplayInfoClassInfo.density = env->GetFieldID(clazz, "density", "F");
     gPhysicalDisplayInfoClassInfo.xDpi = env->GetFieldID(clazz, "xDpi", "F");
     gPhysicalDisplayInfoClassInfo.yDpi = env->GetFieldID(clazz, "yDpi", "F");
+    gPhysicalDisplayInfoClassInfo.secure = env->GetFieldID(clazz, "secure", "Z");
     return err;
 }