Merge "MediaScanner: reimplement the ".nomedia" feature for hiding files from the media provider"
diff --git a/core/java/android/hardware/Camera.java b/core/java/android/hardware/Camera.java
index 328a55b..77c2d1b 100644
--- a/core/java/android/hardware/Camera.java
+++ b/core/java/android/hardware/Camera.java
@@ -2600,10 +2600,12 @@
          * (1000, 1000) is the lower right point. The length and width of focus
          * areas cannot be 0 or negative.
          *
-         * The weight ranges from 1 to 1000. The sum of the weights of all focus
-         * areas must be 1000. Focus areas can partially overlap and the driver
-         * will add the weights in the overlap region. But apps should not set
-         * two focus areas that have identical coordinates.
+         * The weight must range from 1 to 1000. The weight should be
+         * interpreted as a per-pixel weight - all pixels in the area have the
+         * specified weight. This means a small area with the same weight as a
+         * larger area will have less influence on the focusing than the larger
+         * area. Focus areas can partially overlap and the driver will add the
+         * weights in the overlap region.
          *
          * A special case of all-zero single focus area means driver to decide
          * the focus area. For example, the driver may use more signals to
@@ -2668,10 +2670,11 @@
          * point. (1000, 1000) is the lower right point. The length and width of
          * metering areas cannot be 0 or negative.
          *
-         * The weight ranges from 1 to 1000. The sum of the weights of all
-         * metering areas must be 1000. Metering areas can partially overlap and
-         * the driver will add the weights in the overlap region. But apps
-         * should not set two metering areas that have identical coordinates.
+         * The weight must range from 1 to 1000, and represents a weight for
+         * every pixel in the area. This means that a large metering area with
+         * the same weight as a smaller area will have more effect in the
+         * metering result.  Metering areas can partially overlap and the driver
+         * will add the weights in the overlap region.
          *
          * A special case of all-zero single metering area means driver to
          * decide the metering area. For example, the driver may use more
diff --git a/include/camera/CameraParameters.h b/include/camera/CameraParameters.h
index e272839..db81721 100644
--- a/include/camera/CameraParameters.h
+++ b/include/camera/CameraParameters.h
@@ -265,11 +265,12 @@
     // (-1000,-1000) is the upper left point. (1000, 1000) is the lower right
     // point. The length and width of focus areas cannot be 0 or negative.
     //
-    // The fifth element is the weight. The weight ranges from 1 to 1000.
-    // The sum of the weights of all focus areas must be 1000. Focus areas
-    // can partially overlap and the driver will add the weights in the
-    // overlap region. But apps should not set two focus areas that have
-    // identical coordinates.
+    // The fifth element is the weight. Values for weight must range from 1 to
+    // 1000.  The weight should be interpreted as a per-pixel weight - all
+    // pixels in the area have the specified weight. This means a small area
+    // with the same weight as a larger area will have less influence on the
+    // focusing than the larger area. Focus areas can partially overlap and the
+    // driver will add the weights in the overlap region.
     //
     // A special case of single focus area (0,0,0,0,0) means driver to decide
     // the focus area. For example, the driver may use more signals to decide
@@ -327,10 +328,12 @@
     // is the lower right point. The length and width of metering areas cannot
     // be 0 or negative.
     //
-    // The weight ranges from 1 to 1000. The sum of the weights of all metering
-    // areas must be 1000. Metering areas can partially overlap and the driver
-    // will add the weights in the overlap region. But apps should not set two
-    // metering areas that have identical coordinates.
+    // The fifth element is the weight. Values for weight must range from 1 to
+    // 1000.  The weight should be interpreted as a per-pixel weight - all
+    // pixels in the area have the specified weight. This means a small area
+    // with the same weight as a larger area will have less influence on the
+    // metering than the larger area. Metering areas can partially overlap and
+    // the driver will add the weights in the overlap region.
     //
     // A special case of all-zero single metering area means driver to decide
     // the metering area. For example, the driver may use more signals to decide
diff --git a/keystore/java/android/security/Credentials.java b/keystore/java/android/security/Credentials.java
index c650141..6b69b8a 100644
--- a/keystore/java/android/security/Credentials.java
+++ b/keystore/java/android/security/Credentials.java
@@ -31,6 +31,8 @@
 
     public static final String INSTALL_ACTION = "android.credentials.INSTALL";
 
+    public static final String UNLOCK_ACTION = "com.android.credentials.UNLOCK";
+
     /** Key prefix for CA certificates. */
     public static final String CA_CERTIFICATE = "CACERT_";
 
@@ -69,7 +71,7 @@
 
     public void unlock(Context context) {
         try {
-            Intent intent = new Intent("com.android.credentials.UNLOCK");
+            Intent intent = new Intent(UNLOCK_ACTION);
             context.startActivity(intent);
         } catch (ActivityNotFoundException e) {
             Log.w(LOGTAG, e.toString());