diff --git a/audio/include/system/audio_effects/effect_spatializer.h b/audio/include/system/audio_effects/effect_spatializer.h
index 2f853ea..971d0e3 100644
--- a/audio/include/system/audio_effects/effect_spatializer.h
+++ b/audio/include/system/audio_effects/effect_spatializer.h
@@ -47,8 +47,27 @@
     SPATIALIZER_PARAM_HEAD_TO_STAGE,
     // foldable device hinge angle as a float value in rad
     SPATIALIZER_PARAM_HINGE_ANGLE,
-    // Display orientation as a float value in rad
+
+    // The default display orientation as reported by DisplayManager.
+    //
+    // The DisplayManager reports 0, 90, 180, 270 degrees,
+    // here it is reported as a float value in radians.
+    // Only 4 values 0, PI/2, PI, 3PI/2 will be sent as of Android 14 (U).
+    // Due to precision, compare with an epsilon range, suggest
+    // rounding to the nearest integer degree for practical use.
+    //
+    // Notes:
+    //    1) A device may have more than one display.
+    //    2) A display may be locked which prevents the application from rotating.
     SPATIALIZER_PARAM_DISPLAY_ORIENTATION,
+
+    // The fold state as reported by DeviceStateManager for a foldable.
+    // This is an integer value of either 0 (open) or 1 (folded).
+    //
+    // The device fold state may affect which display is active (if any).
+    // The open/closed logical state differs than the hinge angle,
+    // which may be reported by a hinge sensor.
+    SPATIALIZER_PARAM_FOLD_STATE,
 } t_virtualizer_stage_params;
 
 // See SpatializationLevel.aidl
diff --git a/camera/docs/docs.html b/camera/docs/docs.html
index b7e4204..5eb5804 100644
--- a/camera/docs/docs.html
+++ b/camera/docs/docs.html
@@ -19229,24 +19229,25 @@
 camera's crop region is set to maximum size,<wbr/> the FOV of the physical streams for the
 ultrawide lens will be the same as the logical stream,<wbr/> by making the crop region
 smaller than its active array size to compensate for the smaller focal length.<wbr/></p>
-<p>There are two ways for the application to capture RAW images from a logical camera
-with RAW capability:</p>
+<p>For a logical camera,<wbr/> typically the underlying physical cameras have different RAW
+capabilities (such as resolution or CFA pattern).<wbr/> There are two ways for the
+application to capture RAW images from the logical camera:</p>
 <ul>
-<li>Because the underlying physical cameras may have different RAW capabilities (such
-as resolution or CFA pattern),<wbr/> to maintain backward compatibility,<wbr/> when a RAW stream
-is configured,<wbr/> the camera device makes sure the default active physical camera remains
-active and does not switch to other physical cameras.<wbr/> (One exception is that,<wbr/> if the
-logical camera consists of identical image sensors and advertises multiple focalLength
-due to different lenses,<wbr/> the camera device may generate RAW images from different
-physical cameras based on the focalLength being set by the application.<wbr/>) This
-backward-compatible approach usually results in loss of optical zoom,<wbr/> to telephoto
-lens or to ultrawide lens.<wbr/></li>
-<li>Alternatively,<wbr/> to take advantage of the full zoomRatio range of the logical camera,<wbr/>
-the application should use <a href="https://developer.android.com/reference/android/hardware/camera2/MultiResolutionImageReader.html">MultiResolutionImageReader</a>
-to capture RAW images from the currently active physical camera.<wbr/> Because different
-physical camera may have different RAW characteristics,<wbr/> the application needs to use
-the characteristics and result metadata of the active physical camera for the
-relevant RAW metadata.<wbr/></li>
+<li>If the logical camera has RAW capability,<wbr/> the application can create and use RAW
+streams in the same way as before.<wbr/> In case a RAW stream is configured,<wbr/> to maintain
+backward compatibility,<wbr/> the camera device makes sure the default active physical
+camera remains active and does not switch to other physical cameras.<wbr/> (One exception
+is that,<wbr/> if the logical camera consists of identical image sensors and advertises
+multiple focalLength due to different lenses,<wbr/> the camera device may generate RAW
+images from different physical cameras based on the focalLength being set by the
+application.<wbr/>) This backward-compatible approach usually results in loss of optical
+zoom,<wbr/> to telephoto lens or to ultrawide lens.<wbr/></li>
+<li>Alternatively,<wbr/> if supported by the device,<wbr/>
+<a href="https://developer.android.com/reference/android/hardware/camera2/MultiResolutionImageReader.html">MultiResolutionImageReader</a>
+can be used to capture RAW images from one of the underlying physical cameras (
+depending on current zoom level).<wbr/> Because different physical cameras may have
+different RAW characteristics,<wbr/> the application needs to use the characteristics
+and result metadata of the active physical camera for the relevant RAW metadata.<wbr/></li>
 </ul>
 <p>The capture request and result metadata tags required for backward compatible camera
 functionalities will be solely based on the logical camera capability.<wbr/> On the other
@@ -24019,7 +24020,7 @@
               <p>An array of mandatory stream combinations which are applicable when device support the
 10-bit output capability
 <a href="https://developer.android.com/reference/android/hardware/camera2/CameraCharacteristics.html#REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT">Camera<wbr/>Characteristics#REQUEST_<wbr/>AVAILABLE_<wbr/>CAPABILITIES_<wbr/>DYNAMIC_<wbr/>RANGE_<wbr/>TEN_<wbr/>BIT</a>
-This is an app-readable conversion of the maximum resolution mandatory stream combination
+This is an app-readable conversion of the 10 bit output mandatory stream combination
 <a href="https://developer.android.com/reference/android/hardware/camera2/CameraDevice.html#createCaptureSession">tables</a>.<wbr/></p>
             </td>
 
@@ -24096,8 +24097,8 @@
             <td class="entry_description">
               <p>An array of mandatory stream combinations which are applicable when device lists
 {@code PREVIEW_<wbr/>STABILIZATION} in <a href="#static_android.control.availableVideoStabilizationModes">android.<wbr/>control.<wbr/>available<wbr/>Video<wbr/>Stabilization<wbr/>Modes</a>.<wbr/>
-This is an app-readable conversion of the maximum resolution mandatory stream combination
-<a href="https://developer.android.com/reference/android/hardware/camera2/CameraDevice.html#createCaptureSession">tables</a>.<wbr/></p>
+This is an app-readable conversion of the preview stabilization mandatory stream
+combination <a href="https://developer.android.com/reference/android/hardware/camera2/CameraDevice.html#createCaptureSession">tables</a>.<wbr/></p>
             </td>
 
             <td class="entry_units">
diff --git a/camera/docs/metadata_definitions.xml b/camera/docs/metadata_definitions.xml
index 1ac9d36..25e000d 100644
--- a/camera/docs/metadata_definitions.xml
+++ b/camera/docs/metadata_definitions.xml
@@ -6122,24 +6122,25 @@
               ultrawide lens will be the same as the logical stream, by making the crop region
               smaller than its active array size to compensate for the smaller focal length.
 
-              There are two ways for the application to capture RAW images from a logical camera
-              with RAW capability:
+              For a logical camera, typically the underlying physical cameras have different RAW
+              capabilities (such as resolution or CFA pattern). There are two ways for the
+              application to capture RAW images from the logical camera:
 
-              * Because the underlying physical cameras may have different RAW capabilities (such
-              as resolution or CFA pattern), to maintain backward compatibility, when a RAW stream
-              is configured, the camera device makes sure the default active physical camera remains
-              active and does not switch to other physical cameras. (One exception is that, if the
-              logical camera consists of identical image sensors and advertises multiple focalLength
-              due to different lenses, the camera device may generate RAW images from different
-              physical cameras based on the focalLength being set by the application.) This
-              backward-compatible approach usually results in loss of optical zoom, to telephoto
-              lens or to ultrawide lens.
-              * Alternatively, to take advantage of the full zoomRatio range of the logical camera,
-              the application should use {@link android.hardware.camera2.MultiResolutionImageReader}
-              to capture RAW images from the currently active physical camera. Because different
-              physical camera may have different RAW characteristics, the application needs to use
-              the characteristics and result metadata of the active physical camera for the
-              relevant RAW metadata.
+              * If the logical camera has RAW capability, the application can create and use RAW
+              streams in the same way as before. In case a RAW stream is configured, to maintain
+              backward compatibility, the camera device makes sure the default active physical
+              camera remains active and does not switch to other physical cameras. (One exception
+              is that, if the logical camera consists of identical image sensors and advertises
+              multiple focalLength due to different lenses, the camera device may generate RAW
+              images from different physical cameras based on the focalLength being set by the
+              application.) This backward-compatible approach usually results in loss of optical
+              zoom, to telephoto lens or to ultrawide lens.
+              * Alternatively, if supported by the device,
+              {@link android.hardware.camera2.MultiResolutionImageReader}
+              can be used to capture RAW images from one of the underlying physical cameras (
+              depending on current zoom level). Because different physical cameras may have
+              different RAW characteristics, the application needs to use the characteristics
+              and result metadata of the active physical camera for the relevant RAW metadata.
 
               The capture request and result metadata tags required for backward compatible camera
               functionalities will be solely based on the logical camera capability. On the other
@@ -8520,7 +8521,7 @@
           An array of mandatory stream combinations which are applicable when device support the
           10-bit output capability
           {@link android.hardware.camera2.CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT}
-          This is an app-readable conversion of the maximum resolution mandatory stream combination
+          This is an app-readable conversion of the 10 bit output mandatory stream combination
           {@link android.hardware.camera2.CameraDevice#createCaptureSession tables}.
           </description>
           <details>
@@ -8551,8 +8552,8 @@
           <description>
           An array of mandatory stream combinations which are applicable when device lists
           {@code PREVIEW_STABILIZATION} in android.control.availableVideoStabilizationModes.
-          This is an app-readable conversion of the maximum resolution mandatory stream combination
-          {@link android.hardware.camera2.CameraDevice#createCaptureSession tables}.
+          This is an app-readable conversion of the preview stabilization mandatory stream
+          combination {@link android.hardware.camera2.CameraDevice#createCaptureSession tables}.
           </description>
           <details>
           The array of
