camera_metadata: Update android.control.aeMode, .aeAvailableModes

Change-Id: Iad60cb27ba7b150f958778e9965db9474252f769
diff --git a/camera/docs/docs.html b/camera/docs/docs.html
index 28ea35b..48dd860 100644
--- a/camera/docs/docs.html
+++ b/camera/docs/docs.html
@@ -168,6 +168,7 @@
           <span class="toc_kind_header">dynamic</span>
           <ul class="toc_section">
             <li><a href="#dynamic_android.control.aePrecaptureId">android.control.aePrecaptureId</a></li>
+            <li><a href="#dynamic_android.control.aeMode">android.control.aeMode</a></li>
             <li><a href="#dynamic_android.control.aeRegions">android.control.aeRegions</a></li>
             <li><a href="#dynamic_android.control.aeState">android.control.aeState</a></li>
             <li><a href="#dynamic_android.control.afMode">android.control.afMode</a></li>
@@ -1278,42 +1279,69 @@
                 <ul class="entry_type_enum">
                   <li>
                     <span class="entry_type_enum_name">OFF</span>
-                    <span class="entry_type_enum_notes">Autoexposure is disabled; sensor.<wbr/>exposureTime,<wbr/>
-              sensor.<wbr/>sensitivity and sensor.<wbr/>frameDuration are used</span>
+                    <span class="entry_type_enum_notes">
+                The camera device's autoexposure routine is disabled;
+                the application-selected android.<wbr/>sensor.<wbr/>exposure<wbr/>Time,<wbr/>
+                android.<wbr/>sensor.<wbr/>sensitivity and
+                android.<wbr/>sensor.<wbr/>frame<wbr/>Duration are used by the camera
+                device,<wbr/> along with android.<wbr/>flash.<wbr/>* fields,<wbr/> if there's
+                a flash unit for this camera device.<wbr/>
+              </span>
                   </li>
                   <li>
                     <span class="entry_type_enum_name">ON</span>
-                    <span class="entry_type_enum_notes">Autoexposure is active,<wbr/> no flash
-              control</span>
+                    <span class="entry_type_enum_notes">
+                The camera device's autoexposure routine is active,<wbr/>
+                with no flash control.<wbr/> The application's values for
+                android.<wbr/>sensor.<wbr/>exposure<wbr/>Time,<wbr/>
+                android.<wbr/>sensor.<wbr/>sensitivity,<wbr/> and
+                android.<wbr/>sensor.<wbr/>frame<wbr/>Duration are ignored.<wbr/> The
+                application has control over the various
+                android.<wbr/>flash.<wbr/>* fields.<wbr/>
+              </span>
                   </li>
                   <li>
                     <span class="entry_type_enum_name">ON_AUTO_FLASH</span>
-                    <span class="entry_type_enum_notes">If autoexposure is active and flash exists,<wbr/> auto
-            flash control; flash may be fired when precapture
-            trigger is activated,<wbr/> and for captures for which
-            captureIntent = STILL_<wbr/>CAPTURE</span>
+                    <span class="entry_type_enum_notes">
+                Like ON,<wbr/> except that the camera device also controls
+                the camera's flash unit,<wbr/> firing it in low-light
+                conditions.<wbr/> The flash may be fired during a
+                precapture sequence (triggered by
+                android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger) and may be fired
+                for captures for which the
+                android.<wbr/>control.<wbr/>capture<wbr/>Intent field is set to
+                STILL_<wbr/>CAPTURE
+              </span>
                   </li>
                   <li>
                     <span class="entry_type_enum_name">ON_ALWAYS_FLASH</span>
-                    <span class="entry_type_enum_notes">If autoexposure is active and flash exists,<wbr/> auto
-            flash control for precapture trigger and always flash
-            when captureIntent = STILL_<wbr/>CAPTURE</span>
+                    <span class="entry_type_enum_notes">
+                Like ON,<wbr/> except that the camera device also controls
+                the camera's flash unit,<wbr/> always firing it for still
+                captures.<wbr/> The flash may be fired during a precapture
+                sequence (triggered by
+                android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger) and will always
+                be fired for captures for which the
+                android.<wbr/>control.<wbr/>capture<wbr/>Intent field is set to
+                STILL_<wbr/>CAPTURE
+              </span>
                   </li>
                   <li>
                     <span class="entry_type_enum_name">ON_AUTO_FLASH_REDEYE</span>
-                    <span class="entry_type_enum_notes">Optional.<wbr/> Automatic red eye reduction with flash.<wbr/>
-            If deemed necessary,<wbr/> red eye reduction sequence should
-            fire when precapture trigger is activated,<wbr/> and final
-            flash should fire when captureIntent =
-            STILL_<wbr/>CAPTURE</span>
+                    <span class="entry_type_enum_notes">
+                Like ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> but with automatic red eye
+                reduction.<wbr/> If deemed necessary by the camera device,<wbr/>
+                a red eye reduction flash will fire during the
+                precapture sequence.<wbr/>
+              </span>
                   </li>
                 </ul>
 
             </td> <!-- entry_type -->
 
             <td class="entry_description">
-              <p>Whether AE is currently updating the sensor
-exposure and sensitivity fields</p>
+              <p>The desired mode for the camera device's
+auto-exposure routine.<wbr/></p>
             </td>
 
             <td class="entry_units">
@@ -1335,15 +1363,24 @@
           </tr>
           <tr class="entry_cont">
             <td class="entry_details" colspan="5">
-              <p>Only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> = AUTO.<wbr/></p>
-<p>If auto-exposure is active,<wbr/> HAL auto-focus routine is enabled,<wbr/>
-then HAL auto-exposure routine overrides the control variables
-that relate to auto-exposure routine,<wbr/> and these override values
-are then available in the result metadata for that capture.<wbr/></p>
-<p>For example,<wbr/> if auto-exposure is enabled in a request,<wbr/> the HAL should
-overwrite the exposure,<wbr/> gain,<wbr/> and frame duration fields (and potentially
-the flash fields,<wbr/> depending on AE mode) of the request.<wbr/>  The overridden
-values are then provided back to the user in the corresponding result.<wbr/></p>
+              <p>This control is only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is
+AUTO.<wbr/></p>
+<p>When set to any of the ON modes,<wbr/> the camera device's
+auto-exposure routine is enabled,<wbr/> overriding the
+application's selected exposure time,<wbr/> sensor sensitivity,<wbr/>
+and frame duration (<a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
+<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and
+<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a>).<wbr/> If one of the FLASH modes
+is selected,<wbr/> the camera device's flash unit controls are
+also overridden.<wbr/></p>
+<p>The FLASH modes are only available if the camera device
+has a flash unit (<a href="#static_android.flash.info.available">android.<wbr/>flash.<wbr/>info.<wbr/>available</a> is <code>true</code>).<wbr/></p>
+<p>If flash TORCH mode is desired,<wbr/> this field must be set to
+ON or OFF,<wbr/> and <a href="#controls_android.flash.mode">android.<wbr/>flash.<wbr/>mode</a> set to TORCH.<wbr/></p>
+<p>When set to any of the ON modes,<wbr/> the values chosen by the
+camera device auto-exposure routine for the overridden
+fields for a given capture will be available in its
+CaptureResult.<wbr/></p>
             </td>
           </tr>
 
@@ -2460,7 +2497,7 @@
         
                 
           <tr class="entry" id="static_android.control.aeAvailableModes">
-            <td class="entry_name" rowspan="1">
+            <td class="entry_name" rowspan="3">
               android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Modes
             </td>
             <td class="entry_type">
@@ -2470,30 +2507,47 @@
                 <span class="entry_type_array">
                   n
                 </span>
-              <span class="entry_type_visibility"> [system]</span>
+              <span class="entry_type_visibility"> [public]</span>
                 <div class="entry_type_notes">list of enums</div>
 
 
             </td> <!-- entry_type -->
 
             <td class="entry_description">
-              <p>Which subset of AE modes is
-supported</p>
+              <p>The set of auto-exposure modes that are supported by this
+camera device.<wbr/></p>
             </td>
 
             <td class="entry_units">
             </td>
 
             <td class="entry_range">
-              <p>OFF,<wbr/> ON must be supported.<wbr/>
-ON_<wbr/>AUTO_<wbr/>FLASH/<wbr/>ON_<wbr/>ALWAYS_<wbr/>FLASH must be supported if flash
-unit is available</p>
             </td>
 
             <td class="entry_tags">
+              <ul class="entry_tags">
+                  <li><a href="#tag_BC">BC</a></li>
+              </ul>
             </td>
 
           </tr>
+          <tr class="entries_header">
+            <th class="th_details" colspan="5">Details</th>
+          </tr>
+          <tr class="entry_cont">
+            <td class="entry_details" colspan="5">
+              <p>Not all the auto-exposure modes may be supported by a
+given camera device,<wbr/> especially if no flash unit is
+available.<wbr/> This entry lists the valid modes for
+<a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> for this camera device.<wbr/></p>
+<p>All camera devices support ON,<wbr/> and all camera devices with
+flash units support ON_<wbr/>AUTO_<wbr/>FLASH and
+ON_<wbr/>ALWAYS_<wbr/>FLASH.<wbr/></p>
+<p>Full-capability camera devices always support OFF mode,<wbr/>
+which enables application control of camera exposure time,<wbr/>
+sensitivity,<wbr/> and frame duration.<wbr/></p>
+            </td>
+          </tr>
 
 
           <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
@@ -3007,6 +3061,128 @@
            <!-- end of entry -->
         
                 
+          <tr class="entry" id="dynamic_android.control.aeMode">
+            <td class="entry_name" rowspan="3">
+              android.<wbr/>control.<wbr/>ae<wbr/>Mode
+            </td>
+            <td class="entry_type">
+                <span class="entry_type_name entry_type_name_enum">byte</span>
+
+              <span class="entry_type_visibility"> [public]</span>
+
+                <ul class="entry_type_enum">
+                  <li>
+                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_notes">
+                The camera device's autoexposure routine is disabled;
+                the application-selected android.<wbr/>sensor.<wbr/>exposure<wbr/>Time,<wbr/>
+                android.<wbr/>sensor.<wbr/>sensitivity and
+                android.<wbr/>sensor.<wbr/>frame<wbr/>Duration are used by the camera
+                device,<wbr/> along with android.<wbr/>flash.<wbr/>* fields,<wbr/> if there's
+                a flash unit for this camera device.<wbr/>
+              </span>
+                  </li>
+                  <li>
+                    <span class="entry_type_enum_name">ON</span>
+                    <span class="entry_type_enum_notes">
+                The camera device's autoexposure routine is active,<wbr/>
+                with no flash control.<wbr/> The application's values for
+                android.<wbr/>sensor.<wbr/>exposure<wbr/>Time,<wbr/>
+                android.<wbr/>sensor.<wbr/>sensitivity,<wbr/> and
+                android.<wbr/>sensor.<wbr/>frame<wbr/>Duration are ignored.<wbr/> The
+                application has control over the various
+                android.<wbr/>flash.<wbr/>* fields.<wbr/>
+              </span>
+                  </li>
+                  <li>
+                    <span class="entry_type_enum_name">ON_AUTO_FLASH</span>
+                    <span class="entry_type_enum_notes">
+                Like ON,<wbr/> except that the camera device also controls
+                the camera's flash unit,<wbr/> firing it in low-light
+                conditions.<wbr/> The flash may be fired during a
+                precapture sequence (triggered by
+                android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger) and may be fired
+                for captures for which the
+                android.<wbr/>control.<wbr/>capture<wbr/>Intent field is set to
+                STILL_<wbr/>CAPTURE
+              </span>
+                  </li>
+                  <li>
+                    <span class="entry_type_enum_name">ON_ALWAYS_FLASH</span>
+                    <span class="entry_type_enum_notes">
+                Like ON,<wbr/> except that the camera device also controls
+                the camera's flash unit,<wbr/> always firing it for still
+                captures.<wbr/> The flash may be fired during a precapture
+                sequence (triggered by
+                android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger) and will always
+                be fired for captures for which the
+                android.<wbr/>control.<wbr/>capture<wbr/>Intent field is set to
+                STILL_<wbr/>CAPTURE
+              </span>
+                  </li>
+                  <li>
+                    <span class="entry_type_enum_name">ON_AUTO_FLASH_REDEYE</span>
+                    <span class="entry_type_enum_notes">
+                Like ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> but with automatic red eye
+                reduction.<wbr/> If deemed necessary by the camera device,<wbr/>
+                a red eye reduction flash will fire during the
+                precapture sequence.<wbr/>
+              </span>
+                  </li>
+                </ul>
+
+            </td> <!-- entry_type -->
+
+            <td class="entry_description">
+              <p>The desired mode for the camera device's
+auto-exposure routine.<wbr/></p>
+            </td>
+
+            <td class="entry_units">
+            </td>
+
+            <td class="entry_range">
+              <p><a href="#static_android.control.aeAvailableModes">android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Modes</a></p>
+            </td>
+
+            <td class="entry_tags">
+              <ul class="entry_tags">
+                  <li><a href="#tag_BC">BC</a></li>
+              </ul>
+            </td>
+
+          </tr>
+          <tr class="entries_header">
+            <th class="th_details" colspan="5">Details</th>
+          </tr>
+          <tr class="entry_cont">
+            <td class="entry_details" colspan="5">
+              <p>This control is only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is
+AUTO.<wbr/></p>
+<p>When set to any of the ON modes,<wbr/> the camera device's
+auto-exposure routine is enabled,<wbr/> overriding the
+application's selected exposure time,<wbr/> sensor sensitivity,<wbr/>
+and frame duration (<a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
+<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and
+<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a>).<wbr/> If one of the FLASH modes
+is selected,<wbr/> the camera device's flash unit controls are
+also overridden.<wbr/></p>
+<p>The FLASH modes are only available if the camera device
+has a flash unit (<a href="#static_android.flash.info.available">android.<wbr/>flash.<wbr/>info.<wbr/>available</a> is <code>true</code>).<wbr/></p>
+<p>If flash TORCH mode is desired,<wbr/> this field must be set to
+ON or OFF,<wbr/> and <a href="#controls_android.flash.mode">android.<wbr/>flash.<wbr/>mode</a> set to TORCH.<wbr/></p>
+<p>When set to any of the ON modes,<wbr/> the values chosen by the
+camera device auto-exposure routine for the overridden
+fields for a given capture will be available in its
+CaptureResult.<wbr/></p>
+            </td>
+          </tr>
+
+
+          <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
+           <!-- end of entry -->
+        
+                
           <tr class="entry" id="dynamic_android.control.aeRegions">
             <td class="entry_name" rowspan="3">
               android.<wbr/>control.<wbr/>ae<wbr/>Regions
@@ -12992,6 +13168,7 @@
           <li><a href="#controls_android.control.mode">android.control.mode</a> (controls)</li>
           <li><a href="#controls_android.control.sceneMode">android.control.sceneMode</a> (controls)</li>
           <li><a href="#controls_android.control.videoStabilizationMode">android.control.videoStabilizationMode</a> (controls)</li>
+          <li><a href="#static_android.control.aeAvailableModes">android.control.aeAvailableModes</a> (static)</li>
           <li><a href="#static_android.control.aeCompensationRange">android.control.aeCompensationRange</a> (static)</li>
           <li><a href="#static_android.control.aeCompensationStep">android.control.aeCompensationStep</a> (static)</li>
           <li><a href="#static_android.control.afAvailableModes">android.control.afAvailableModes</a> (static)</li>