diff --git a/api/current.xml b/api/current.xml
index 8e8a671..d22f9b9 100644
--- a/api/current.xml
+++ b/api/current.xml
@@ -75759,7 +75759,7 @@
  visibility="public"
 >
 </field>
-<field name="mFacing"
+<field name="facing"
  type="int"
  transient="false"
  volatile="false"
@@ -75769,7 +75769,7 @@
  visibility="public"
 >
 </field>
-<field name="mOrientation"
+<field name="orientation"
  type="int"
  transient="false"
  volatile="false"
diff --git a/core/java/android/hardware/Camera.java b/core/java/android/hardware/Camera.java
index 3cc89e5..26600f3 100644
--- a/core/java/android/hardware/Camera.java
+++ b/core/java/android/hardware/Camera.java
@@ -154,14 +154,21 @@
      * Information about a camera
      */
     public static class CameraInfo {
+        /**
+         * The facing of the camera is opposite to that of the screen.
+         */
         public static final int CAMERA_FACING_BACK = 0;
+
+        /**
+         * The facing of the camera is the same as that of the screen.
+         */
         public static final int CAMERA_FACING_FRONT = 1;
 
         /**
          * The direction that the camera faces to. It should be
          * CAMERA_FACING_BACK or CAMERA_FACING_FRONT.
          */
-        public int mFacing;
+        public int facing;
 
         /**
          * The orientation of the camera image. The value is the angle that the
@@ -175,7 +182,7 @@
          *
          * @see #setDisplayOrientation(int)
          */
-        public int mOrientation;
+        public int orientation;
     };
 
     /**
@@ -210,12 +217,14 @@
 
     /**
      * The id for the default camera.
+     * @see #open(int)
      */
     public static int CAMERA_ID_DEFAULT = 0;
 
     /**
      * Equivalent to Camera.open(Camera.CAMERA_ID_DEFAULT).
      * Creates a new Camera object to access the default camera.
+     * @see #open(int)
      */
     public static Camera open() {
         return new Camera(CAMERA_ID_DEFAULT);
@@ -787,7 +796,7 @@
      *         case Surface.ROTATION_270: degrees = 270; break;
      *     }
      *
-     *     int result = (info.mOrientation - degrees + 360) % 360;
+     *     int result = (info.orientation - degrees + 360) % 360;
      *     camera.setDisplayOrientation(result);
      * }
      * </pre>
