Snap for 7894766 from 7ade3cb7054e648ac59eefc44a06b6b2e1b969d6 to sc-v2-release

Change-Id: I1e94dfb5aac54d3c015294859dcee40a73e4de53
diff --git a/OWNERS b/OWNERS
new file mode 100644
index 0000000..219175d
--- /dev/null
+++ b/OWNERS
@@ -0,0 +1,4 @@
+andrewhsieh@google.com
+inseob@google.com
+jiyong@google.com
+justinyun@google.com
diff --git a/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.automotive.occupant_awareness-V1-ndk_platform.so b/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.automotive.occupant_awareness-V1-ndk_platform.so
index 17c0377..4e4840d 100755
--- a/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.automotive.occupant_awareness-V1-ndk_platform.so
+++ b/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.automotive.occupant_awareness-V1-ndk_platform.so
Binary files differ
diff --git a/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.configstore@1.0.so b/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.configstore@1.0.so
index 99ddc26..23db624 100755
--- a/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.configstore@1.0.so
+++ b/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.configstore@1.0.so
Binary files differ
diff --git a/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.configstore@1.1.so b/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.configstore@1.1.so
index c4dada0..ad78edf 100755
--- a/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.configstore@1.1.so
+++ b/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.configstore@1.1.so
Binary files differ
diff --git a/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.graphics.allocator@2.0.so b/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.graphics.allocator@2.0.so
index 5e1ea48..5d25baf 100755
--- a/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.graphics.allocator@2.0.so
+++ b/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.graphics.allocator@2.0.so
Binary files differ
diff --git a/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.graphics.allocator@3.0.so b/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.graphics.allocator@3.0.so
index 9ee73a0..3f55ba2 100755
--- a/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.graphics.allocator@3.0.so
+++ b/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.graphics.allocator@3.0.so
Binary files differ
diff --git a/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.graphics.allocator@4.0.so b/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.graphics.allocator@4.0.so
index b79654c..b3d3674 100755
--- a/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.graphics.allocator@4.0.so
+++ b/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.graphics.allocator@4.0.so
Binary files differ
diff --git a/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.graphics.bufferqueue@1.0.so b/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.graphics.bufferqueue@1.0.so
index 04b47b0..bf0a228 100755
--- a/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.graphics.bufferqueue@1.0.so
+++ b/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.graphics.bufferqueue@1.0.so
Binary files differ
diff --git a/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.graphics.bufferqueue@2.0.so b/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.graphics.bufferqueue@2.0.so
index 82c12d2..54415ac 100755
--- a/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.graphics.bufferqueue@2.0.so
+++ b/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.graphics.bufferqueue@2.0.so
Binary files differ
diff --git a/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.media.bufferpool@2.0.so b/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.media.bufferpool@2.0.so
index 2da9d37..a137948 100755
--- a/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.media.bufferpool@2.0.so
+++ b/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.media.bufferpool@2.0.so
Binary files differ
diff --git a/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.media.omx@1.0.so b/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.media.omx@1.0.so
index 2e46e36..1eaa24b 100755
--- a/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.media.omx@1.0.so
+++ b/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.media.omx@1.0.so
Binary files differ
diff --git a/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.memtrack@1.0.so b/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.memtrack@1.0.so
index 164baa0..1334700 100755
--- a/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.memtrack@1.0.so
+++ b/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.memtrack@1.0.so
Binary files differ
diff --git a/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.soundtrigger@2.0.so b/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.soundtrigger@2.0.so
index ac7b50c..d135cf2 100755
--- a/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.soundtrigger@2.0.so
+++ b/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.soundtrigger@2.0.so
Binary files differ
diff --git a/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.vibrator-V2-ndk_platform.so b/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.vibrator-V2-ndk_platform.so
index b212434..097204c 100755
--- a/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.vibrator-V2-ndk_platform.so
+++ b/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hardware.vibrator-V2-ndk_platform.so
Binary files differ
diff --git a/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hidl.token@1.0.so b/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hidl.token@1.0.so
index db99f4b..3b5dc70 100755
--- a/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hidl.token@1.0.so
+++ b/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.hidl.token@1.0.so
Binary files differ
diff --git a/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.system.keystore2-V1-ndk_platform.so b/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.system.keystore2-V1-ndk_platform.so
index 419ae86..e03b61f 100755
--- a/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.system.keystore2-V1-ndk_platform.so
+++ b/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.system.keystore2-V1-ndk_platform.so
Binary files differ
diff --git a/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.system.suspend@1.0.so b/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.system.suspend@1.0.so
index 51fe164..a9c400b 100755
--- a/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.system.suspend@1.0.so
+++ b/arm/arch-arm-armv7-a-neon/shared/vndk-core/android.system.suspend@1.0.so
Binary files differ
diff --git a/arm/arch-arm-armv7-a-neon/shared/vndk-core/libbinder.so b/arm/arch-arm-armv7-a-neon/shared/vndk-core/libbinder.so
index befffe5..fedd491 100755
--- a/arm/arch-arm-armv7-a-neon/shared/vndk-core/libbinder.so
+++ b/arm/arch-arm-armv7-a-neon/shared/vndk-core/libbinder.so
Binary files differ
diff --git a/arm/arch-arm-armv7-a-neon/shared/vndk-core/libcamera_metadata.so b/arm/arch-arm-armv7-a-neon/shared/vndk-core/libcamera_metadata.so
index 5b26c43..255b1c6 100755
--- a/arm/arch-arm-armv7-a-neon/shared/vndk-core/libcamera_metadata.so
+++ b/arm/arch-arm-armv7-a-neon/shared/vndk-core/libcamera_metadata.so
Binary files differ
diff --git a/arm/arch-arm-armv7-a-neon/shared/vndk-core/libgui.so b/arm/arch-arm-armv7-a-neon/shared/vndk-core/libgui.so
index 1e034e7..6ccf6d6 100755
--- a/arm/arch-arm-armv7-a-neon/shared/vndk-core/libgui.so
+++ b/arm/arch-arm-armv7-a-neon/shared/vndk-core/libgui.so
Binary files differ
diff --git a/arm/arch-arm-armv7-a-neon/shared/vndk-core/libhardware_legacy.so b/arm/arch-arm-armv7-a-neon/shared/vndk-core/libhardware_legacy.so
index beab4c8..1f2daf7 100755
--- a/arm/arch-arm-armv7-a-neon/shared/vndk-core/libhardware_legacy.so
+++ b/arm/arch-arm-armv7-a-neon/shared/vndk-core/libhardware_legacy.so
Binary files differ
diff --git a/arm/arch-arm-armv7-a-neon/shared/vndk-core/libpower.so b/arm/arch-arm-armv7-a-neon/shared/vndk-core/libpower.so
index cbb5356..421ade6 100755
--- a/arm/arch-arm-armv7-a-neon/shared/vndk-core/libpower.so
+++ b/arm/arch-arm-armv7-a-neon/shared/vndk-core/libpower.so
Binary files differ
diff --git a/arm/arch-arm-armv7-a-neon/shared/vndk-core/libsqlite.so b/arm/arch-arm-armv7-a-neon/shared/vndk-core/libsqlite.so
index 53e1e9a..fe1a601 100755
--- a/arm/arch-arm-armv7-a-neon/shared/vndk-core/libsqlite.so
+++ b/arm/arch-arm-armv7-a-neon/shared/vndk-core/libsqlite.so
Binary files differ
diff --git a/arm/arch-arm-armv7-a-neon/shared/vndk-core/libstagefright_bufferqueue_helper.so b/arm/arch-arm-armv7-a-neon/shared/vndk-core/libstagefright_bufferqueue_helper.so
index bae0375..2fc6524 100755
--- a/arm/arch-arm-armv7-a-neon/shared/vndk-core/libstagefright_bufferqueue_helper.so
+++ b/arm/arch-arm-armv7-a-neon/shared/vndk-core/libstagefright_bufferqueue_helper.so
Binary files differ
diff --git a/arm/arch-arm-armv7-a-neon/shared/vndk-core/libstagefright_foundation.so b/arm/arch-arm-armv7-a-neon/shared/vndk-core/libstagefright_foundation.so
index efd2f59..062837e 100755
--- a/arm/arch-arm-armv7-a-neon/shared/vndk-core/libstagefright_foundation.so
+++ b/arm/arch-arm-armv7-a-neon/shared/vndk-core/libstagefright_foundation.so
Binary files differ
diff --git a/arm/arch-arm-armv7-a-neon/shared/vndk-core/libui.so b/arm/arch-arm-armv7-a-neon/shared/vndk-core/libui.so
index 961a8c2..566a37c 100755
--- a/arm/arch-arm-armv7-a-neon/shared/vndk-core/libui.so
+++ b/arm/arch-arm-armv7-a-neon/shared/vndk-core/libui.so
Binary files differ
diff --git a/arm/arch-arm-armv7-a-neon/shared/vndk-sp/android.hardware.graphics.mapper@2.0.so b/arm/arch-arm-armv7-a-neon/shared/vndk-sp/android.hardware.graphics.mapper@2.0.so
index 359f70e..ac6dc8a 100755
--- a/arm/arch-arm-armv7-a-neon/shared/vndk-sp/android.hardware.graphics.mapper@2.0.so
+++ b/arm/arch-arm-armv7-a-neon/shared/vndk-sp/android.hardware.graphics.mapper@2.0.so
Binary files differ
diff --git a/arm/arch-arm-armv7-a-neon/shared/vndk-sp/android.hardware.graphics.mapper@2.1.so b/arm/arch-arm-armv7-a-neon/shared/vndk-sp/android.hardware.graphics.mapper@2.1.so
index e1d8aa7..a7a080c 100755
--- a/arm/arch-arm-armv7-a-neon/shared/vndk-sp/android.hardware.graphics.mapper@2.1.so
+++ b/arm/arch-arm-armv7-a-neon/shared/vndk-sp/android.hardware.graphics.mapper@2.1.so
Binary files differ
diff --git a/arm/arch-arm-armv7-a-neon/shared/vndk-sp/android.hardware.graphics.mapper@3.0.so b/arm/arch-arm-armv7-a-neon/shared/vndk-sp/android.hardware.graphics.mapper@3.0.so
index f7aa62b..01b438e 100755
--- a/arm/arch-arm-armv7-a-neon/shared/vndk-sp/android.hardware.graphics.mapper@3.0.so
+++ b/arm/arch-arm-armv7-a-neon/shared/vndk-sp/android.hardware.graphics.mapper@3.0.so
Binary files differ
diff --git a/arm/arch-arm-armv7-a-neon/shared/vndk-sp/android.hardware.graphics.mapper@4.0.so b/arm/arch-arm-armv7-a-neon/shared/vndk-sp/android.hardware.graphics.mapper@4.0.so
index 256a8fe..0d351df 100755
--- a/arm/arch-arm-armv7-a-neon/shared/vndk-sp/android.hardware.graphics.mapper@4.0.so
+++ b/arm/arch-arm-armv7-a-neon/shared/vndk-sp/android.hardware.graphics.mapper@4.0.so
Binary files differ
diff --git a/arm/arch-arm-armv7-a-neon/shared/vndk-sp/android.hardware.renderscript@1.0.so b/arm/arch-arm-armv7-a-neon/shared/vndk-sp/android.hardware.renderscript@1.0.so
index 5a0fafd..7c57eea 100755
--- a/arm/arch-arm-armv7-a-neon/shared/vndk-sp/android.hardware.renderscript@1.0.so
+++ b/arm/arch-arm-armv7-a-neon/shared/vndk-sp/android.hardware.renderscript@1.0.so
Binary files differ
diff --git a/arm/arch-arm-armv7-a-neon/shared/vndk-sp/android.hidl.memory.token@1.0.so b/arm/arch-arm-armv7-a-neon/shared/vndk-sp/android.hidl.memory.token@1.0.so
index 1a6943d..80bcd58 100755
--- a/arm/arch-arm-armv7-a-neon/shared/vndk-sp/android.hidl.memory.token@1.0.so
+++ b/arm/arch-arm-armv7-a-neon/shared/vndk-sp/android.hidl.memory.token@1.0.so
Binary files differ
diff --git a/arm/arch-arm-armv7-a-neon/shared/vndk-sp/android.hidl.memory@1.0.so b/arm/arch-arm-armv7-a-neon/shared/vndk-sp/android.hidl.memory@1.0.so
index 402dd37..a2b866e 100755
--- a/arm/arch-arm-armv7-a-neon/shared/vndk-sp/android.hidl.memory@1.0.so
+++ b/arm/arch-arm-armv7-a-neon/shared/vndk-sp/android.hidl.memory@1.0.so
Binary files differ
diff --git a/arm/arch-arm-armv7-a-neon/shared/vndk-sp/libcutils.so b/arm/arch-arm-armv7-a-neon/shared/vndk-sp/libcutils.so
index 1740b64..407b089 100755
--- a/arm/arch-arm-armv7-a-neon/shared/vndk-sp/libcutils.so
+++ b/arm/arch-arm-armv7-a-neon/shared/vndk-sp/libcutils.so
Binary files differ
diff --git a/arm/arch-arm-armv7-a-neon/shared/vndk-sp/libdmabufheap.so b/arm/arch-arm-armv7-a-neon/shared/vndk-sp/libdmabufheap.so
index 58aff77..cdf3f05 100755
--- a/arm/arch-arm-armv7-a-neon/shared/vndk-sp/libdmabufheap.so
+++ b/arm/arch-arm-armv7-a-neon/shared/vndk-sp/libdmabufheap.so
Binary files differ
diff --git a/arm/arch-arm-armv7-a-neon/shared/vndk-sp/libhidlbase.so b/arm/arch-arm-armv7-a-neon/shared/vndk-sp/libhidlbase.so
index 51c2e50..1a115ba 100755
--- a/arm/arch-arm-armv7-a-neon/shared/vndk-sp/libhidlbase.so
+++ b/arm/arch-arm-armv7-a-neon/shared/vndk-sp/libhidlbase.so
Binary files differ
diff --git a/arm/arch-arm-armv7-a-neon/shared/vndk-sp/libprocessgroup.so b/arm/arch-arm-armv7-a-neon/shared/vndk-sp/libprocessgroup.so
index 795cf67..b9955ce 100755
--- a/arm/arch-arm-armv7-a-neon/shared/vndk-sp/libprocessgroup.so
+++ b/arm/arch-arm-armv7-a-neon/shared/vndk-sp/libprocessgroup.so
Binary files differ
diff --git a/arm/arch-arm-armv7-a-neon/shared/vndk-sp/libunwindstack.so b/arm/arch-arm-armv7-a-neon/shared/vndk-sp/libunwindstack.so
index 3100548..e4dd0cb 100755
--- a/arm/arch-arm-armv7-a-neon/shared/vndk-sp/libunwindstack.so
+++ b/arm/arch-arm-armv7-a-neon/shared/vndk-sp/libunwindstack.so
Binary files differ
diff --git a/arm/arch-arm-armv7-a-neon/shared/vndk-sp/libutils.so b/arm/arch-arm-armv7-a-neon/shared/vndk-sp/libutils.so
index 18d0226..3cec432 100755
--- a/arm/arch-arm-armv7-a-neon/shared/vndk-sp/libutils.so
+++ b/arm/arch-arm-armv7-a-neon/shared/vndk-sp/libutils.so
Binary files differ
diff --git a/arm/include/external/sqlite/dist/orig/sqlite3.h b/arm/include/external/sqlite/dist/orig/sqlite3.h
index e2965a2..755b3b3 100644
--- a/arm/include/external/sqlite/dist/orig/sqlite3.h
+++ b/arm/include/external/sqlite/dist/orig/sqlite3.h
@@ -125,7 +125,7 @@
 */
 #define SQLITE_VERSION        "3.32.2"
 #define SQLITE_VERSION_NUMBER 3032002
-#define SQLITE_SOURCE_ID      "2020-06-04 12:58:43 ec02243ea6ce33b090870ae55ab8aa2534b54d216d45c4aa2fdbb00e86861e8c"
+#define SQLITE_SOURCE_ID      "2021-07-12 15:00:17 bcd014c473794b09f61fbc0f4d9488365b023f16123b278dbbd49948c27c0fee"
 
 /*
 ** CAPI3REF: Run-Time Library Version Numbers
diff --git a/arm/include/external/sqlite/dist/sqlite3.h b/arm/include/external/sqlite/dist/sqlite3.h
index e2965a2..755b3b3 100644
--- a/arm/include/external/sqlite/dist/sqlite3.h
+++ b/arm/include/external/sqlite/dist/sqlite3.h
@@ -125,7 +125,7 @@
 */
 #define SQLITE_VERSION        "3.32.2"
 #define SQLITE_VERSION_NUMBER 3032002
-#define SQLITE_SOURCE_ID      "2020-06-04 12:58:43 ec02243ea6ce33b090870ae55ab8aa2534b54d216d45c4aa2fdbb00e86861e8c"
+#define SQLITE_SOURCE_ID      "2021-07-12 15:00:17 bcd014c473794b09f61fbc0f4d9488365b023f16123b278dbbd49948c27c0fee"
 
 /*
 ** CAPI3REF: Run-Time Library Version Numbers
diff --git a/arm/include/frameworks/av/media/libstagefright/foundation/include/media/stagefright/foundation/ColorUtils.h b/arm/include/frameworks/av/media/libstagefright/foundation/include/media/stagefright/foundation/ColorUtils.h
index 9e3f718..a2b6c4f 100644
--- a/arm/include/frameworks/av/media/libstagefright/foundation/include/media/stagefright/foundation/ColorUtils.h
+++ b/arm/include/frameworks/av/media/libstagefright/foundation/include/media/stagefright/foundation/ColorUtils.h
@@ -191,6 +191,8 @@
     static void setHDRStaticInfoIntoFormat(const HDRStaticInfo &info, sp<AMessage> &format);
     // writes |info| into format.
     static void setHDRStaticInfoIntoAMediaFormat(const HDRStaticInfo &info, AMediaFormat *format);
+    // (internal) used by the setHDRStaticInfoInfo* routines
+    static void fillHdrStaticInfoBuffer( const HDRStaticInfo &info, uint8_t *data);
 };
 
 inline static const char *asString(android::ColorUtils::ColorStandard i, const char *def = "??") {
diff --git a/arm/include/frameworks/av/media/libstagefright/include/media/stagefright/ACodec.h b/arm/include/frameworks/av/media/libstagefright/include/media/stagefright/ACodec.h
index c84cc10..632b32c 100644
--- a/arm/include/frameworks/av/media/libstagefright/include/media/stagefright/ACodec.h
+++ b/arm/include/frameworks/av/media/libstagefright/include/media/stagefright/ACodec.h
@@ -71,6 +71,9 @@
     virtual void initiateSetInputSurface(const sp<PersistentSurface> &surface);
     virtual void initiateStart();
     virtual void initiateShutdown(bool keepComponentAllocated = false);
+    virtual status_t querySupportedParameters(std::vector<std::string> *names) override;
+    virtual status_t subscribeToParameters(const std::vector<std::string> &names) override;
+    virtual status_t unsubscribeFromParameters(const std::vector<std::string> &names) override;
 
     status_t queryCapabilities(
             const char* owner, const char* name,
diff --git a/arm/include/frameworks/av/media/libstagefright/include/media/stagefright/CodecBase.h b/arm/include/frameworks/av/media/libstagefright/include/media/stagefright/CodecBase.h
index efb2f86..48721ec 100644
--- a/arm/include/frameworks/av/media/libstagefright/include/media/stagefright/CodecBase.h
+++ b/arm/include/frameworks/av/media/libstagefright/include/media/stagefright/CodecBase.h
@@ -252,9 +252,7 @@
      *         INVALID_OPERATION if already released;
      *         ERROR_UNSUPPORTED if not supported.
      */
-    virtual status_t querySupportedParameters([[maybe_unused]] std::vector<std::string> *names) {
-        return ERROR_UNSUPPORTED;
-    }
+    virtual status_t querySupportedParameters(std::vector<std::string> *names);
     /**
      * Fill |desc| with description of the parameter with |name|.
      *
@@ -267,10 +265,8 @@
      *         ERROR_UNSUPPORTED if not supported.
      */
     virtual status_t describeParameter(
-            [[maybe_unused]] const std::string &name,
-            [[maybe_unused]] CodecParameterDescriptor *desc) {
-        return ERROR_UNSUPPORTED;
-    }
+            const std::string &name,
+            CodecParameterDescriptor *desc);
     /**
      * Subscribe to parameters in |names| and get output format change event
      * when they change.
@@ -281,10 +277,7 @@
      *         INVALID_OPERATION if already released;
      *         ERROR_UNSUPPORTED if not supported.
      */
-    virtual status_t subscribeToParameters(
-            [[maybe_unused]] const std::vector<std::string> &names) {
-        return ERROR_UNSUPPORTED;
-    }
+    virtual status_t subscribeToParameters(const std::vector<std::string> &names);
     /**
      * Unsubscribe from parameters in |names| and no longer get
      * output format change event when they change.
@@ -295,10 +288,7 @@
      *         INVALID_OPERATION if already released;
      *         ERROR_UNSUPPORTED if not supported.
      */
-    virtual status_t unsubscribeFromParameters(
-            [[maybe_unused]] const std::vector<std::string> &names) {
-        return ERROR_UNSUPPORTED;
-    }
+    virtual status_t unsubscribeFromParameters(const std::vector<std::string> &names);
 
     typedef CodecBase *(*CreateCodecFunc)(void);
     typedef PersistentSurface *(*CreateInputSurfaceFunc)(void);
diff --git a/arm/include/frameworks/native/libs/binder/include/binder/IPCThreadState.h b/arm/include/frameworks/native/libs/binder/include/binder/IPCThreadState.h
index 196a41b..b401ea9 100644
--- a/arm/include/frameworks/native/libs/binder/include/binder/IPCThreadState.h
+++ b/arm/include/frameworks/native/libs/binder/include/binder/IPCThreadState.h
@@ -53,6 +53,13 @@
     // Provide information about the state of a frozen process
     static  status_t            getProcessFreezeInfo(pid_t pid, bool *sync_received,
                                                     bool *async_received);
+
+    // TODO: Remove the above legacy duplicated function in next version
+#ifndef __ANDROID_VNDK__
+    static  status_t            getProcessFreezeInfo(pid_t pid, uint32_t *sync_received,
+                                                    uint32_t *async_received);
+#endif
+
             sp<ProcessState>    process();
             
             status_t            clearLastError();
diff --git a/arm/include/frameworks/native/libs/gui/include/gui/BLASTBufferQueue.h b/arm/include/frameworks/native/libs/gui/include/gui/BLASTBufferQueue.h
index 0d6a673..6c5b2aa 100644
--- a/arm/include/frameworks/native/libs/gui/include/gui/BLASTBufferQueue.h
+++ b/arm/include/frameworks/native/libs/gui/include/gui/BLASTBufferQueue.h
@@ -62,11 +62,12 @@
     uint64_t mCurrentFrameNumber = 0;
 
     Mutex mMutex;
+    std::mutex mBufferQueueMutex;
     ConsumerFrameEventHistory mFrameEventHistory GUARDED_BY(mMutex);
     std::queue<uint64_t> mDisconnectEvents GUARDED_BY(mMutex);
     bool mCurrentlyConnected GUARDED_BY(mMutex);
     bool mPreviouslyConnected GUARDED_BY(mMutex);
-    BLASTBufferQueue* mBLASTBufferQueue GUARDED_BY(mMutex);
+    BLASTBufferQueue* mBLASTBufferQueue GUARDED_BY(mBufferQueueMutex);
 };
 
 class BLASTBufferQueue
@@ -96,7 +97,8 @@
     void setTransactionCompleteCallback(uint64_t frameNumber,
                                         std::function<void(int64_t)>&& transactionCompleteCallback);
 
-    void update(const sp<SurfaceControl>& surface, uint32_t width, uint32_t height, int32_t format);
+    void update(const sp<SurfaceControl>& surface, uint32_t width, uint32_t height, int32_t format,
+                SurfaceComposerClient::Transaction* outTransaction = nullptr);
     void flushShadowQueue() {}
 
     status_t setFrameRate(float frameRate, int8_t compatibility, bool shouldBeSeamless);
diff --git a/arm/include/frameworks/native/libs/gui/include/gui/LayerState.h b/arm/include/frameworks/native/libs/gui/include/gui/LayerState.h
index 8ac1e5d..3e57ff6 100644
--- a/arm/include/frameworks/native/libs/gui/include/gui/LayerState.h
+++ b/arm/include/frameworks/native/libs/gui/include/gui/LayerState.h
@@ -118,6 +118,7 @@
         eBlurRegionsChanged = 0x800'00000000,
         eAutoRefreshChanged = 0x1000'00000000,
         eStretchChanged = 0x2000'00000000,
+        eTrustedOverlayChanged = 0x4000'00000000,
     };
 
     layer_state_t();
@@ -126,6 +127,7 @@
     status_t write(Parcel& output) const;
     status_t read(const Parcel& input);
     bool hasBufferChanges() const;
+    bool hasValidBuffer() const;
 
     struct matrix22_t {
         float dsdx{0};
@@ -224,6 +226,10 @@
     // in shared buffer mode.
     bool autoRefresh;
 
+    // An inherited state that indicates that this surface control and its children
+    // should be trusted for input occlusion detection purposes
+    bool isTrustedOverlay;
+
     // Stretch effect to be applied to this layer
     StretchEffect stretchEffect;
 
diff --git a/arm/include/frameworks/native/libs/gui/include/gui/Surface.h b/arm/include/frameworks/native/libs/gui/include/gui/Surface.h
index 7e4143b..e540351 100644
--- a/arm/include/frameworks/native/libs/gui/include/gui/Surface.h
+++ b/arm/include/frameworks/native/libs/gui/include/gui/Surface.h
@@ -99,7 +99,7 @@
      */
     sp<IGraphicBufferProducer> getIGraphicBufferProducer() const;
 
-    sp<IBinder> getSurfaceControlHandle() const { return mSurfaceControlHandle; }
+    sp<IBinder> getSurfaceControlHandle() const;
 
     /* convenience function to check that the given surface is non NULL as
      * well as its IGraphicBufferProducer */
@@ -333,6 +333,7 @@
     virtual int connect(
             int api, bool reportBufferRemoval,
             const sp<SurfaceListener>& sListener);
+    virtual void destroy();
 
     // When client connects to Surface with reportBufferRemoval set to true, any buffers removed
     // from this Surface will be collected and returned here. Once this method returns, these
diff --git a/arm/include/frameworks/native/libs/gui/include/gui/SurfaceComposerClient.h b/arm/include/frameworks/native/libs/gui/include/gui/SurfaceComposerClient.h
index c2963b5..baa0567 100644
--- a/arm/include/frameworks/native/libs/gui/include/gui/SurfaceComposerClient.h
+++ b/arm/include/frameworks/native/libs/gui/include/gui/SurfaceComposerClient.h
@@ -537,6 +537,9 @@
         // in shared buffer mode.
         Transaction& setAutoRefresh(const sp<SurfaceControl>& sc, bool autoRefresh);
 
+        // Sets that this surface control and its children are trusted overlays for input
+        Transaction& setTrustedOverlay(const sp<SurfaceControl>& sc, bool isTrustedOverlay);
+
         // Queues up transactions using this token in SurfaceFlinger.  By default, all transactions
         // from a client are placed on the same queue. This can be used to prevent multiple
         // transactions from blocking each other.
diff --git a/arm/include/frameworks/native/libs/ui/include/ui/Transform.h b/arm/include/frameworks/native/libs/ui/include/ui/Transform.h
index a197b3b..33fbe05 100644
--- a/arm/include/frameworks/native/libs/ui/include/ui/Transform.h
+++ b/arm/include/frameworks/native/libs/ui/include/ui/Transform.h
@@ -112,6 +112,7 @@
     void dump(const char* name, const char* prefix = "") const;
 
     static constexpr RotationFlags toRotationFlags(Rotation);
+    static constexpr Rotation toRotation(RotationFlags);
 
 private:
     struct mat33 {
@@ -151,5 +152,20 @@
     }
 }
 
+inline constexpr Rotation Transform::toRotation(Transform::RotationFlags rotationFlags) {
+    switch (rotationFlags) {
+        case ROT_0:
+            return ROTATION_0;
+        case ROT_90:
+            return ROTATION_90;
+        case ROT_180:
+            return ROTATION_180;
+        case ROT_270:
+            return ROTATION_270;
+        default:
+            return ROTATION_0;
+    }
+}
+
 }  // namespace ui
 }  // namespace android
diff --git a/arm/include/frameworks/native/libs/ui/include_vndk/ui/Transform.h b/arm/include/frameworks/native/libs/ui/include_vndk/ui/Transform.h
index a197b3b..33fbe05 100644
--- a/arm/include/frameworks/native/libs/ui/include_vndk/ui/Transform.h
+++ b/arm/include/frameworks/native/libs/ui/include_vndk/ui/Transform.h
@@ -112,6 +112,7 @@
     void dump(const char* name, const char* prefix = "") const;
 
     static constexpr RotationFlags toRotationFlags(Rotation);
+    static constexpr Rotation toRotation(RotationFlags);
 
 private:
     struct mat33 {
@@ -151,5 +152,20 @@
     }
 }
 
+inline constexpr Rotation Transform::toRotation(Transform::RotationFlags rotationFlags) {
+    switch (rotationFlags) {
+        case ROT_0:
+            return ROTATION_0;
+        case ROT_90:
+            return ROTATION_90;
+        case ROT_180:
+            return ROTATION_180;
+        case ROT_270:
+            return ROTATION_270;
+        default:
+            return ROTATION_0;
+    }
+}
+
 }  // namespace ui
 }  // namespace android
diff --git a/arm/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/DriverMonitoringDetection.h b/arm/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/DriverMonitoringDetection.h
index b1448e1..fccf0a1 100644
--- a/arm/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/DriverMonitoringDetection.h
+++ b/arm/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/DriverMonitoringDetection.h
@@ -21,7 +21,7 @@
   typedef std::false_type fixed_size;
   static const char* descriptor;
 
-  ::aidl::android::hardware::automotive::occupant_awareness::ConfidenceLevel confidenceScore;
+  ::aidl::android::hardware::automotive::occupant_awareness::ConfidenceLevel confidenceScore = ::aidl::android::hardware::automotive::occupant_awareness::ConfidenceLevel(0);
   bool isLookingOnRoad = false;
   int64_t gazeDurationMillis = 0L;
 
diff --git a/arm/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/GazeDetection.h b/arm/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/GazeDetection.h
index 7d40e47..d62114c 100644
--- a/arm/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/GazeDetection.h
+++ b/arm/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/GazeDetection.h
@@ -22,11 +22,11 @@
   typedef std::false_type fixed_size;
   static const char* descriptor;
 
-  ::aidl::android::hardware::automotive::occupant_awareness::ConfidenceLevel gazeConfidence;
+  ::aidl::android::hardware::automotive::occupant_awareness::ConfidenceLevel gazeConfidence = ::aidl::android::hardware::automotive::occupant_awareness::ConfidenceLevel(0);
   std::vector<double> headPosition;
   std::vector<double> headAngleUnitVector;
   std::vector<double> gazeAngleUnitVector;
-  ::aidl::android::hardware::automotive::occupant_awareness::VehicleRegion gazeTarget;
+  ::aidl::android::hardware::automotive::occupant_awareness::VehicleRegion gazeTarget = ::aidl::android::hardware::automotive::occupant_awareness::VehicleRegion(0);
   std::string customGazeTarget;
   int64_t timeOnTargetMillis = 0L;
 
diff --git a/arm/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/OccupantDetection.h b/arm/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/OccupantDetection.h
index e5c9a8d..3ce2e33 100644
--- a/arm/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/OccupantDetection.h
+++ b/arm/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/OccupantDetection.h
@@ -24,7 +24,7 @@
   typedef std::false_type fixed_size;
   static const char* descriptor;
 
-  ::aidl::android::hardware::automotive::occupant_awareness::Role role;
+  ::aidl::android::hardware::automotive::occupant_awareness::Role role = ::aidl::android::hardware::automotive::occupant_awareness::Role(0);
   std::vector<::aidl::android::hardware::automotive::occupant_awareness::PresenceDetection> presenceData;
   std::vector<::aidl::android::hardware::automotive::occupant_awareness::GazeDetection> gazeData;
   std::vector<::aidl::android::hardware::automotive::occupant_awareness::DriverMonitoringDetection> attentionData;
diff --git a/arm/include/out/soong/.intermediates/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLight.h b/arm/include/out/soong/.intermediates/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLight.h
index a760f09..574f1ac 100644
--- a/arm/include/out/soong/.intermediates/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLight.h
+++ b/arm/include/out/soong/.intermediates/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLight.h
@@ -22,7 +22,7 @@
 
   int32_t id = 0;
   int32_t ordinal = 0;
-  ::aidl::android::hardware::light::LightType type;
+  ::aidl::android::hardware::light::LightType type = ::aidl::android::hardware::light::LightType(0);
 
   binder_status_t readFromParcel(const AParcel* parcel);
   binder_status_t writeToParcel(AParcel* parcel) const;
diff --git a/arm/include/out/soong/.intermediates/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLightState.h b/arm/include/out/soong/.intermediates/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLightState.h
index ccbe14e..f32738c 100644
--- a/arm/include/out/soong/.intermediates/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLightState.h
+++ b/arm/include/out/soong/.intermediates/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLightState.h
@@ -22,10 +22,10 @@
   static const char* descriptor;
 
   int32_t color = 0;
-  ::aidl::android::hardware::light::FlashMode flashMode;
+  ::aidl::android::hardware::light::FlashMode flashMode = ::aidl::android::hardware::light::FlashMode(0);
   int32_t flashOnMs = 0;
   int32_t flashOffMs = 0;
-  ::aidl::android::hardware::light::BrightnessMode brightnessMode;
+  ::aidl::android::hardware::light::BrightnessMode brightnessMode = ::aidl::android::hardware::light::BrightnessMode(0);
 
   binder_status_t readFromParcel(const AParcel* parcel);
   binder_status_t writeToParcel(AParcel* parcel) const;
diff --git a/arm/include/out/soong/.intermediates/hardware/interfaces/vibrator/aidl/android.hardware.vibrator-V2-ndk_platform-source/gen/include/aidl/android/hardware/vibrator/BrakingPwle.h b/arm/include/out/soong/.intermediates/hardware/interfaces/vibrator/aidl/android.hardware.vibrator-V2-ndk_platform-source/gen/include/aidl/android/hardware/vibrator/BrakingPwle.h
index 2f0b1c8..1a1b7bb 100644
--- a/arm/include/out/soong/.intermediates/hardware/interfaces/vibrator/aidl/android.hardware.vibrator-V2-ndk_platform-source/gen/include/aidl/android/hardware/vibrator/BrakingPwle.h
+++ b/arm/include/out/soong/.intermediates/hardware/interfaces/vibrator/aidl/android.hardware.vibrator-V2-ndk_platform-source/gen/include/aidl/android/hardware/vibrator/BrakingPwle.h
@@ -20,7 +20,7 @@
   typedef std::false_type fixed_size;
   static const char* descriptor;
 
-  ::aidl::android::hardware::vibrator::Braking braking;
+  ::aidl::android::hardware::vibrator::Braking braking = ::aidl::android::hardware::vibrator::Braking(0);
   int32_t duration = 0;
 
   binder_status_t readFromParcel(const AParcel* parcel);
diff --git a/arm/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/AuthenticatorSpec.h b/arm/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/AuthenticatorSpec.h
index f5aeafc..4d2fa40 100644
--- a/arm/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/AuthenticatorSpec.h
+++ b/arm/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/AuthenticatorSpec.h
@@ -20,7 +20,7 @@
   typedef std::false_type fixed_size;
   static const char* descriptor;
 
-  ::aidl::android::hardware::security::keymint::HardwareAuthenticatorType authenticatorType;
+  ::aidl::android::hardware::security::keymint::HardwareAuthenticatorType authenticatorType = ::aidl::android::hardware::security::keymint::HardwareAuthenticatorType(0);
   int64_t authenticatorId = 0L;
 
   binder_status_t readFromParcel(const AParcel* parcel);
diff --git a/arm/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/Authorization.h b/arm/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/Authorization.h
index 7a81600..17ebd2f 100644
--- a/arm/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/Authorization.h
+++ b/arm/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/Authorization.h
@@ -21,7 +21,7 @@
   typedef std::false_type fixed_size;
   static const char* descriptor;
 
-  ::aidl::android::hardware::security::keymint::SecurityLevel securityLevel;
+  ::aidl::android::hardware::security::keymint::SecurityLevel securityLevel = ::aidl::android::hardware::security::keymint::SecurityLevel(0);
   ::aidl::android::hardware::security::keymint::KeyParameter keyParameter;
 
   binder_status_t readFromParcel(const AParcel* parcel);
diff --git a/arm/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyDescriptor.h b/arm/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyDescriptor.h
index 9d94a88..f0d4882 100644
--- a/arm/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyDescriptor.h
+++ b/arm/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyDescriptor.h
@@ -20,7 +20,7 @@
   typedef std::false_type fixed_size;
   static const char* descriptor;
 
-  ::aidl::android::system::keystore2::Domain domain;
+  ::aidl::android::system::keystore2::Domain domain = ::aidl::android::system::keystore2::Domain(0);
   int64_t nspace = 0L;
   std::optional<std::string> alias;
   std::optional<std::vector<uint8_t>> blob;
diff --git a/arm/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyMetadata.h b/arm/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyMetadata.h
index 168b720..ac664f4 100644
--- a/arm/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyMetadata.h
+++ b/arm/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyMetadata.h
@@ -23,7 +23,7 @@
   static const char* descriptor;
 
   ::aidl::android::system::keystore2::KeyDescriptor key;
-  ::aidl::android::hardware::security::keymint::SecurityLevel keySecurityLevel;
+  ::aidl::android::hardware::security::keymint::SecurityLevel keySecurityLevel = ::aidl::android::hardware::security::keymint::SecurityLevel(0);
   std::vector<::aidl::android::system::keystore2::Authorization> authorizations;
   std::optional<std::vector<uint8_t>> certificate;
   std::optional<std::vector<uint8_t>> certificateChain;
diff --git a/arm/include/packages/modules/NeuralNetworks/runtime/include/NeuralNetworks.h b/arm/include/packages/modules/NeuralNetworks/runtime/include/NeuralNetworks.h
index 446d99b..a6a10d0 100644
--- a/arm/include/packages/modules/NeuralNetworks/runtime/include/NeuralNetworks.h
+++ b/arm/include/packages/modules/NeuralNetworks/runtime/include/NeuralNetworks.h
@@ -59,11 +59,8 @@
 #define __NNAPI_INTRODUCED_IN(x) __INTRODUCED_IN(x)
 #endif
 
-// TODO: replace __ANDROID_API_FUTURE__with 31 when it's official (b/178144708)
-// This is required for __builtin_available guards around functionality
-// introduced in FL5/API31.
 #ifndef __NNAPI_FL5_MIN_ANDROID_API__
-#define __NNAPI_FL5_MIN_ANDROID_API__ __ANDROID_API_FUTURE__
+#define __NNAPI_FL5_MIN_ANDROID_API__ __ANDROID_API_S__
 #endif
 
 __BEGIN_DECLS
diff --git a/arm/include/system/core/libcutils/include/cutils/trace.h b/arm/include/system/core/libcutils/include/cutils/trace.h
index ef426ff..24c6ae6 100644
--- a/arm/include/system/core/libcutils/include/cutils/trace.h
+++ b/arm/include/system/core/libcutils/include/cutils/trace.h
@@ -75,8 +75,7 @@
 #define ATRACE_TAG_AIDL             (1<<24)
 #define ATRACE_TAG_NNAPI            (1<<25)
 #define ATRACE_TAG_RRO              (1<<26)
-#define ATRACE_TAG_SYSPROP          (1<<27)
-#define ATRACE_TAG_LAST             ATRACE_TAG_SYSPROP
+#define ATRACE_TAG_LAST             ATRACE_TAG_RRO
 
 // Reserved for initialization.
 #define ATRACE_TAG_NOT_READY        (1ULL<<63)
diff --git a/arm/include/system/core/libcutils/include_outside_system/cutils/trace.h b/arm/include/system/core/libcutils/include_outside_system/cutils/trace.h
index ef426ff..24c6ae6 100644
--- a/arm/include/system/core/libcutils/include_outside_system/cutils/trace.h
+++ b/arm/include/system/core/libcutils/include_outside_system/cutils/trace.h
@@ -75,8 +75,7 @@
 #define ATRACE_TAG_AIDL             (1<<24)
 #define ATRACE_TAG_NNAPI            (1<<25)
 #define ATRACE_TAG_RRO              (1<<26)
-#define ATRACE_TAG_SYSPROP          (1<<27)
-#define ATRACE_TAG_LAST             ATRACE_TAG_SYSPROP
+#define ATRACE_TAG_LAST             ATRACE_TAG_RRO
 
 // Reserved for initialization.
 #define ATRACE_TAG_NOT_READY        (1ULL<<63)
diff --git a/arm/include/system/media/camera/include/system/camera_metadata_tags.h b/arm/include/system/media/camera/include/system/camera_metadata_tags.h
index 9c8b041..68b4367 100644
--- a/arm/include/system/media/camera/include/system/camera_metadata_tags.h
+++ b/arm/include/system/media/camera/include/system/camera_metadata_tags.h
@@ -183,6 +183,9 @@
     ANDROID_CONTROL_ZOOM_RATIO,                       // float        | public       | HIDL v3.5
     ANDROID_CONTROL_AVAILABLE_HIGH_SPEED_VIDEO_CONFIGURATIONS_MAXIMUM_RESOLUTION,
                                                       // int32[]      | hidden       | HIDL v3.6
+    ANDROID_CONTROL_AF_REGIONS_SET,                   // enum         | fwk_only
+    ANDROID_CONTROL_AE_REGIONS_SET,                   // enum         | fwk_only
+    ANDROID_CONTROL_AWB_REGIONS_SET,                  // enum         | fwk_only
     ANDROID_CONTROL_END,
 
     ANDROID_DEMOSAIC_MODE =                           // enum         | system       | HIDL v3.2
@@ -330,6 +333,7 @@
     ANDROID_SCALER_AVAILABLE_INPUT_OUTPUT_FORMATS_MAP_MAXIMUM_RESOLUTION,
                                                       // int32        | hidden       | HIDL v3.6
     ANDROID_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED, // enum         | ndk_public   | HIDL v3.6
+    ANDROID_SCALER_CROP_REGION_SET,                   // enum         | fwk_only
     ANDROID_SCALER_END,
 
     ANDROID_SENSOR_EXPOSURE_TIME =                    // int64        | public       | HIDL v3.2
@@ -745,6 +749,24 @@
     ANDROID_CONTROL_EXTENDED_SCENE_MODE_VENDOR_START                 = 0x40, // HIDL v3.5
 } camera_metadata_enum_android_control_extended_scene_mode_t;
 
+// ANDROID_CONTROL_AF_REGIONS_SET
+typedef enum camera_metadata_enum_android_control_af_regions_set {
+    ANDROID_CONTROL_AF_REGIONS_SET_FALSE                            ,
+    ANDROID_CONTROL_AF_REGIONS_SET_TRUE                             ,
+} camera_metadata_enum_android_control_af_regions_set_t;
+
+// ANDROID_CONTROL_AE_REGIONS_SET
+typedef enum camera_metadata_enum_android_control_ae_regions_set {
+    ANDROID_CONTROL_AE_REGIONS_SET_FALSE                            ,
+    ANDROID_CONTROL_AE_REGIONS_SET_TRUE                             ,
+} camera_metadata_enum_android_control_ae_regions_set_t;
+
+// ANDROID_CONTROL_AWB_REGIONS_SET
+typedef enum camera_metadata_enum_android_control_awb_regions_set {
+    ANDROID_CONTROL_AWB_REGIONS_SET_FALSE                           ,
+    ANDROID_CONTROL_AWB_REGIONS_SET_TRUE                            ,
+} camera_metadata_enum_android_control_awb_regions_set_t;
+
 
 // ANDROID_DEMOSAIC_MODE
 typedef enum camera_metadata_enum_android_demosaic_mode {
@@ -961,6 +983,12 @@
     ANDROID_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED_TRUE           , // HIDL v3.6
 } camera_metadata_enum_android_scaler_multi_resolution_stream_supported_t;
 
+// ANDROID_SCALER_CROP_REGION_SET
+typedef enum camera_metadata_enum_android_scaler_crop_region_set {
+    ANDROID_SCALER_CROP_REGION_SET_FALSE                            ,
+    ANDROID_SCALER_CROP_REGION_SET_TRUE                             ,
+} camera_metadata_enum_android_scaler_crop_region_set_t;
+
 
 // ANDROID_SENSOR_REFERENCE_ILLUMINANT1
 typedef enum camera_metadata_enum_android_sensor_reference_illuminant1 {
diff --git a/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.automotive.occupant_awareness-V1-ndk_platform.so b/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.automotive.occupant_awareness-V1-ndk_platform.so
index 9059253..e2e6e27 100755
--- a/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.automotive.occupant_awareness-V1-ndk_platform.so
+++ b/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.automotive.occupant_awareness-V1-ndk_platform.so
Binary files differ
diff --git a/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.configstore@1.0.so b/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.configstore@1.0.so
index 65f6a54..e185a4c 100755
--- a/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.configstore@1.0.so
+++ b/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.configstore@1.0.so
Binary files differ
diff --git a/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.configstore@1.1.so b/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.configstore@1.1.so
index 6b03542..c4c63da 100755
--- a/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.configstore@1.1.so
+++ b/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.configstore@1.1.so
Binary files differ
diff --git a/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.graphics.allocator@2.0.so b/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.graphics.allocator@2.0.so
index 2d81814..86377ca 100755
--- a/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.graphics.allocator@2.0.so
+++ b/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.graphics.allocator@2.0.so
Binary files differ
diff --git a/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.graphics.allocator@3.0.so b/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.graphics.allocator@3.0.so
index 52999c8..a3e5dc4 100755
--- a/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.graphics.allocator@3.0.so
+++ b/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.graphics.allocator@3.0.so
Binary files differ
diff --git a/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.graphics.allocator@4.0.so b/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.graphics.allocator@4.0.so
index 15f1448..c3a45ef 100755
--- a/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.graphics.allocator@4.0.so
+++ b/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.graphics.allocator@4.0.so
Binary files differ
diff --git a/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.graphics.bufferqueue@1.0.so b/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.graphics.bufferqueue@1.0.so
index ad30ec5..ac5709c 100755
--- a/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.graphics.bufferqueue@1.0.so
+++ b/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.graphics.bufferqueue@1.0.so
Binary files differ
diff --git a/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.graphics.bufferqueue@2.0.so b/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.graphics.bufferqueue@2.0.so
index 8393240..2a873d5 100755
--- a/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.graphics.bufferqueue@2.0.so
+++ b/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.graphics.bufferqueue@2.0.so
Binary files differ
diff --git a/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.media.bufferpool@2.0.so b/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.media.bufferpool@2.0.so
index 5dc39b9..45062dc 100755
--- a/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.media.bufferpool@2.0.so
+++ b/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.media.bufferpool@2.0.so
Binary files differ
diff --git a/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.media.omx@1.0.so b/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.media.omx@1.0.so
index d3fa560..efaf7c1 100755
--- a/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.media.omx@1.0.so
+++ b/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.media.omx@1.0.so
Binary files differ
diff --git a/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.memtrack@1.0.so b/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.memtrack@1.0.so
index 058590f..881e73f 100755
--- a/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.memtrack@1.0.so
+++ b/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.memtrack@1.0.so
Binary files differ
diff --git a/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.soundtrigger@2.0.so b/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.soundtrigger@2.0.so
index 776f6b6..4941cca 100755
--- a/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.soundtrigger@2.0.so
+++ b/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.soundtrigger@2.0.so
Binary files differ
diff --git a/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.vibrator-V2-ndk_platform.so b/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.vibrator-V2-ndk_platform.so
index 0f70eec..507451f 100755
--- a/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.vibrator-V2-ndk_platform.so
+++ b/arm64/arch-arm-armv8-a/shared/vndk-core/android.hardware.vibrator-V2-ndk_platform.so
Binary files differ
diff --git a/arm64/arch-arm-armv8-a/shared/vndk-core/android.hidl.token@1.0.so b/arm64/arch-arm-armv8-a/shared/vndk-core/android.hidl.token@1.0.so
index 4a03674..c44595f 100755
--- a/arm64/arch-arm-armv8-a/shared/vndk-core/android.hidl.token@1.0.so
+++ b/arm64/arch-arm-armv8-a/shared/vndk-core/android.hidl.token@1.0.so
Binary files differ
diff --git a/arm64/arch-arm-armv8-a/shared/vndk-core/android.system.keystore2-V1-ndk_platform.so b/arm64/arch-arm-armv8-a/shared/vndk-core/android.system.keystore2-V1-ndk_platform.so
index 520727a..50dbda3 100755
--- a/arm64/arch-arm-armv8-a/shared/vndk-core/android.system.keystore2-V1-ndk_platform.so
+++ b/arm64/arch-arm-armv8-a/shared/vndk-core/android.system.keystore2-V1-ndk_platform.so
Binary files differ
diff --git a/arm64/arch-arm-armv8-a/shared/vndk-core/android.system.suspend@1.0.so b/arm64/arch-arm-armv8-a/shared/vndk-core/android.system.suspend@1.0.so
index 0b49faa..4675865 100755
--- a/arm64/arch-arm-armv8-a/shared/vndk-core/android.system.suspend@1.0.so
+++ b/arm64/arch-arm-armv8-a/shared/vndk-core/android.system.suspend@1.0.so
Binary files differ
diff --git a/arm64/arch-arm-armv8-a/shared/vndk-core/libbinder.so b/arm64/arch-arm-armv8-a/shared/vndk-core/libbinder.so
index 3b34c5c..155755b 100755
--- a/arm64/arch-arm-armv8-a/shared/vndk-core/libbinder.so
+++ b/arm64/arch-arm-armv8-a/shared/vndk-core/libbinder.so
Binary files differ
diff --git a/arm64/arch-arm-armv8-a/shared/vndk-core/libcamera_metadata.so b/arm64/arch-arm-armv8-a/shared/vndk-core/libcamera_metadata.so
index a838da4..7d62e0b 100755
--- a/arm64/arch-arm-armv8-a/shared/vndk-core/libcamera_metadata.so
+++ b/arm64/arch-arm-armv8-a/shared/vndk-core/libcamera_metadata.so
Binary files differ
diff --git a/arm64/arch-arm-armv8-a/shared/vndk-core/libgui.so b/arm64/arch-arm-armv8-a/shared/vndk-core/libgui.so
index d4b89fd..f1c7642 100755
--- a/arm64/arch-arm-armv8-a/shared/vndk-core/libgui.so
+++ b/arm64/arch-arm-armv8-a/shared/vndk-core/libgui.so
Binary files differ
diff --git a/arm64/arch-arm-armv8-a/shared/vndk-core/libhardware_legacy.so b/arm64/arch-arm-armv8-a/shared/vndk-core/libhardware_legacy.so
index b2a6aa2..4d4e8f8 100755
--- a/arm64/arch-arm-armv8-a/shared/vndk-core/libhardware_legacy.so
+++ b/arm64/arch-arm-armv8-a/shared/vndk-core/libhardware_legacy.so
Binary files differ
diff --git a/arm64/arch-arm-armv8-a/shared/vndk-core/libpower.so b/arm64/arch-arm-armv8-a/shared/vndk-core/libpower.so
index 33f1dcd..d07895a 100755
--- a/arm64/arch-arm-armv8-a/shared/vndk-core/libpower.so
+++ b/arm64/arch-arm-armv8-a/shared/vndk-core/libpower.so
Binary files differ
diff --git a/arm64/arch-arm-armv8-a/shared/vndk-core/libsqlite.so b/arm64/arch-arm-armv8-a/shared/vndk-core/libsqlite.so
index e77d634..34d52ef 100755
--- a/arm64/arch-arm-armv8-a/shared/vndk-core/libsqlite.so
+++ b/arm64/arch-arm-armv8-a/shared/vndk-core/libsqlite.so
Binary files differ
diff --git a/arm64/arch-arm-armv8-a/shared/vndk-core/libstagefright_bufferqueue_helper.so b/arm64/arch-arm-armv8-a/shared/vndk-core/libstagefright_bufferqueue_helper.so
index d7e7cfc..eee7240 100755
--- a/arm64/arch-arm-armv8-a/shared/vndk-core/libstagefright_bufferqueue_helper.so
+++ b/arm64/arch-arm-armv8-a/shared/vndk-core/libstagefright_bufferqueue_helper.so
Binary files differ
diff --git a/arm64/arch-arm-armv8-a/shared/vndk-core/libstagefright_foundation.so b/arm64/arch-arm-armv8-a/shared/vndk-core/libstagefright_foundation.so
index ec09860..7165692 100755
--- a/arm64/arch-arm-armv8-a/shared/vndk-core/libstagefright_foundation.so
+++ b/arm64/arch-arm-armv8-a/shared/vndk-core/libstagefright_foundation.so
Binary files differ
diff --git a/arm64/arch-arm-armv8-a/shared/vndk-core/libui.so b/arm64/arch-arm-armv8-a/shared/vndk-core/libui.so
index 1760d23..2784872 100755
--- a/arm64/arch-arm-armv8-a/shared/vndk-core/libui.so
+++ b/arm64/arch-arm-armv8-a/shared/vndk-core/libui.so
Binary files differ
diff --git a/arm64/arch-arm-armv8-a/shared/vndk-sp/android.hardware.graphics.mapper@2.0.so b/arm64/arch-arm-armv8-a/shared/vndk-sp/android.hardware.graphics.mapper@2.0.so
index 6039eab..edac227 100755
--- a/arm64/arch-arm-armv8-a/shared/vndk-sp/android.hardware.graphics.mapper@2.0.so
+++ b/arm64/arch-arm-armv8-a/shared/vndk-sp/android.hardware.graphics.mapper@2.0.so
Binary files differ
diff --git a/arm64/arch-arm-armv8-a/shared/vndk-sp/android.hardware.graphics.mapper@2.1.so b/arm64/arch-arm-armv8-a/shared/vndk-sp/android.hardware.graphics.mapper@2.1.so
index ed8484f..9e12332 100755
--- a/arm64/arch-arm-armv8-a/shared/vndk-sp/android.hardware.graphics.mapper@2.1.so
+++ b/arm64/arch-arm-armv8-a/shared/vndk-sp/android.hardware.graphics.mapper@2.1.so
Binary files differ
diff --git a/arm64/arch-arm-armv8-a/shared/vndk-sp/android.hardware.graphics.mapper@3.0.so b/arm64/arch-arm-armv8-a/shared/vndk-sp/android.hardware.graphics.mapper@3.0.so
index e7dd785..ceeebe8 100755
--- a/arm64/arch-arm-armv8-a/shared/vndk-sp/android.hardware.graphics.mapper@3.0.so
+++ b/arm64/arch-arm-armv8-a/shared/vndk-sp/android.hardware.graphics.mapper@3.0.so
Binary files differ
diff --git a/arm64/arch-arm-armv8-a/shared/vndk-sp/android.hardware.graphics.mapper@4.0.so b/arm64/arch-arm-armv8-a/shared/vndk-sp/android.hardware.graphics.mapper@4.0.so
index 231128d..734dc90 100755
--- a/arm64/arch-arm-armv8-a/shared/vndk-sp/android.hardware.graphics.mapper@4.0.so
+++ b/arm64/arch-arm-armv8-a/shared/vndk-sp/android.hardware.graphics.mapper@4.0.so
Binary files differ
diff --git a/arm64/arch-arm-armv8-a/shared/vndk-sp/android.hardware.renderscript@1.0.so b/arm64/arch-arm-armv8-a/shared/vndk-sp/android.hardware.renderscript@1.0.so
index 568aced..a8ee4d5 100755
--- a/arm64/arch-arm-armv8-a/shared/vndk-sp/android.hardware.renderscript@1.0.so
+++ b/arm64/arch-arm-armv8-a/shared/vndk-sp/android.hardware.renderscript@1.0.so
Binary files differ
diff --git a/arm64/arch-arm-armv8-a/shared/vndk-sp/android.hidl.memory.token@1.0.so b/arm64/arch-arm-armv8-a/shared/vndk-sp/android.hidl.memory.token@1.0.so
index 5ba8a87..1be36aa 100755
--- a/arm64/arch-arm-armv8-a/shared/vndk-sp/android.hidl.memory.token@1.0.so
+++ b/arm64/arch-arm-armv8-a/shared/vndk-sp/android.hidl.memory.token@1.0.so
Binary files differ
diff --git a/arm64/arch-arm-armv8-a/shared/vndk-sp/android.hidl.memory@1.0.so b/arm64/arch-arm-armv8-a/shared/vndk-sp/android.hidl.memory@1.0.so
index bad712e..308c857 100755
--- a/arm64/arch-arm-armv8-a/shared/vndk-sp/android.hidl.memory@1.0.so
+++ b/arm64/arch-arm-armv8-a/shared/vndk-sp/android.hidl.memory@1.0.so
Binary files differ
diff --git a/arm64/arch-arm-armv8-a/shared/vndk-sp/libcutils.so b/arm64/arch-arm-armv8-a/shared/vndk-sp/libcutils.so
index 5f97f73..95993cf 100755
--- a/arm64/arch-arm-armv8-a/shared/vndk-sp/libcutils.so
+++ b/arm64/arch-arm-armv8-a/shared/vndk-sp/libcutils.so
Binary files differ
diff --git a/arm64/arch-arm-armv8-a/shared/vndk-sp/libdmabufheap.so b/arm64/arch-arm-armv8-a/shared/vndk-sp/libdmabufheap.so
index 8f3355d..965d6b8 100755
--- a/arm64/arch-arm-armv8-a/shared/vndk-sp/libdmabufheap.so
+++ b/arm64/arch-arm-armv8-a/shared/vndk-sp/libdmabufheap.so
Binary files differ
diff --git a/arm64/arch-arm-armv8-a/shared/vndk-sp/libhidlbase.so b/arm64/arch-arm-armv8-a/shared/vndk-sp/libhidlbase.so
index f2931ae..1a2004b 100755
--- a/arm64/arch-arm-armv8-a/shared/vndk-sp/libhidlbase.so
+++ b/arm64/arch-arm-armv8-a/shared/vndk-sp/libhidlbase.so
Binary files differ
diff --git a/arm64/arch-arm-armv8-a/shared/vndk-sp/libprocessgroup.so b/arm64/arch-arm-armv8-a/shared/vndk-sp/libprocessgroup.so
index 2e02673..a057bf0 100755
--- a/arm64/arch-arm-armv8-a/shared/vndk-sp/libprocessgroup.so
+++ b/arm64/arch-arm-armv8-a/shared/vndk-sp/libprocessgroup.so
Binary files differ
diff --git a/arm64/arch-arm-armv8-a/shared/vndk-sp/libunwindstack.so b/arm64/arch-arm-armv8-a/shared/vndk-sp/libunwindstack.so
index 43f57c6..7c640e1 100755
--- a/arm64/arch-arm-armv8-a/shared/vndk-sp/libunwindstack.so
+++ b/arm64/arch-arm-armv8-a/shared/vndk-sp/libunwindstack.so
Binary files differ
diff --git a/arm64/arch-arm-armv8-a/shared/vndk-sp/libutils.so b/arm64/arch-arm-armv8-a/shared/vndk-sp/libutils.so
index f37c3b0..63d8168 100755
--- a/arm64/arch-arm-armv8-a/shared/vndk-sp/libutils.so
+++ b/arm64/arch-arm-armv8-a/shared/vndk-sp/libutils.so
Binary files differ
diff --git a/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.automotive.occupant_awareness-V1-ndk_platform.so b/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.automotive.occupant_awareness-V1-ndk_platform.so
index c278652..abc8bf7 100755
--- a/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.automotive.occupant_awareness-V1-ndk_platform.so
+++ b/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.automotive.occupant_awareness-V1-ndk_platform.so
Binary files differ
diff --git a/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.configstore@1.0.so b/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.configstore@1.0.so
index 3156e3e..59216b1 100755
--- a/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.configstore@1.0.so
+++ b/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.configstore@1.0.so
Binary files differ
diff --git a/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.configstore@1.1.so b/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.configstore@1.1.so
index fddfce1..1420731 100755
--- a/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.configstore@1.1.so
+++ b/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.configstore@1.1.so
Binary files differ
diff --git a/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.graphics.allocator@2.0.so b/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.graphics.allocator@2.0.so
index 7dbc960..9d7a025 100755
--- a/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.graphics.allocator@2.0.so
+++ b/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.graphics.allocator@2.0.so
Binary files differ
diff --git a/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.graphics.allocator@3.0.so b/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.graphics.allocator@3.0.so
index 1e778b0..efb27b3 100755
--- a/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.graphics.allocator@3.0.so
+++ b/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.graphics.allocator@3.0.so
Binary files differ
diff --git a/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.graphics.allocator@4.0.so b/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.graphics.allocator@4.0.so
index 789ff1a..58d245b 100755
--- a/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.graphics.allocator@4.0.so
+++ b/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.graphics.allocator@4.0.so
Binary files differ
diff --git a/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.graphics.bufferqueue@1.0.so b/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.graphics.bufferqueue@1.0.so
index adcfa7e..c770513 100755
--- a/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.graphics.bufferqueue@1.0.so
+++ b/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.graphics.bufferqueue@1.0.so
Binary files differ
diff --git a/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.graphics.bufferqueue@2.0.so b/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.graphics.bufferqueue@2.0.so
index 43b858c..3ee9333 100755
--- a/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.graphics.bufferqueue@2.0.so
+++ b/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.graphics.bufferqueue@2.0.so
Binary files differ
diff --git a/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.light-V1-ndk_platform.so b/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.light-V1-ndk_platform.so
index 18c5b1b..f8a7e3e 100755
--- a/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.light-V1-ndk_platform.so
+++ b/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.light-V1-ndk_platform.so
Binary files differ
diff --git a/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.media.bufferpool@2.0.so b/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.media.bufferpool@2.0.so
index 848c946..530a88a 100755
--- a/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.media.bufferpool@2.0.so
+++ b/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.media.bufferpool@2.0.so
Binary files differ
diff --git a/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.media.omx@1.0.so b/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.media.omx@1.0.so
index e25abbc..b43162f 100755
--- a/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.media.omx@1.0.so
+++ b/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.media.omx@1.0.so
Binary files differ
diff --git a/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.memtrack@1.0.so b/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.memtrack@1.0.so
index e748329..9b93e6b 100755
--- a/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.memtrack@1.0.so
+++ b/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.memtrack@1.0.so
Binary files differ
diff --git a/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.soundtrigger@2.0.so b/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.soundtrigger@2.0.so
index feeebd3..b76aa33 100755
--- a/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.soundtrigger@2.0.so
+++ b/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.soundtrigger@2.0.so
Binary files differ
diff --git a/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.vibrator-V2-ndk_platform.so b/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.vibrator-V2-ndk_platform.so
index bdba0bc..0996de5 100755
--- a/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.vibrator-V2-ndk_platform.so
+++ b/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hardware.vibrator-V2-ndk_platform.so
Binary files differ
diff --git a/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hidl.token@1.0.so b/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hidl.token@1.0.so
index 26f8a5c..3233d09 100755
--- a/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hidl.token@1.0.so
+++ b/arm64/arch-arm64-armv8-a/shared/vndk-core/android.hidl.token@1.0.so
Binary files differ
diff --git a/arm64/arch-arm64-armv8-a/shared/vndk-core/android.system.keystore2-V1-ndk_platform.so b/arm64/arch-arm64-armv8-a/shared/vndk-core/android.system.keystore2-V1-ndk_platform.so
index dda64f6..924dc66 100755
--- a/arm64/arch-arm64-armv8-a/shared/vndk-core/android.system.keystore2-V1-ndk_platform.so
+++ b/arm64/arch-arm64-armv8-a/shared/vndk-core/android.system.keystore2-V1-ndk_platform.so
Binary files differ
diff --git a/arm64/arch-arm64-armv8-a/shared/vndk-core/android.system.suspend@1.0.so b/arm64/arch-arm64-armv8-a/shared/vndk-core/android.system.suspend@1.0.so
index 8d1c7c6..b263f30 100755
--- a/arm64/arch-arm64-armv8-a/shared/vndk-core/android.system.suspend@1.0.so
+++ b/arm64/arch-arm64-armv8-a/shared/vndk-core/android.system.suspend@1.0.so
Binary files differ
diff --git a/arm64/arch-arm64-armv8-a/shared/vndk-core/libbinder.so b/arm64/arch-arm64-armv8-a/shared/vndk-core/libbinder.so
index cc9dfec..8172f7d 100755
--- a/arm64/arch-arm64-armv8-a/shared/vndk-core/libbinder.so
+++ b/arm64/arch-arm64-armv8-a/shared/vndk-core/libbinder.so
Binary files differ
diff --git a/arm64/arch-arm64-armv8-a/shared/vndk-core/libcamera_metadata.so b/arm64/arch-arm64-armv8-a/shared/vndk-core/libcamera_metadata.so
index 07f1719..1096559 100755
--- a/arm64/arch-arm64-armv8-a/shared/vndk-core/libcamera_metadata.so
+++ b/arm64/arch-arm64-armv8-a/shared/vndk-core/libcamera_metadata.so
Binary files differ
diff --git a/arm64/arch-arm64-armv8-a/shared/vndk-core/libgui.so b/arm64/arch-arm64-armv8-a/shared/vndk-core/libgui.so
index d780d24..e3c0af8 100755
--- a/arm64/arch-arm64-armv8-a/shared/vndk-core/libgui.so
+++ b/arm64/arch-arm64-armv8-a/shared/vndk-core/libgui.so
Binary files differ
diff --git a/arm64/arch-arm64-armv8-a/shared/vndk-core/libhardware_legacy.so b/arm64/arch-arm64-armv8-a/shared/vndk-core/libhardware_legacy.so
index 76f86eb..612221c 100755
--- a/arm64/arch-arm64-armv8-a/shared/vndk-core/libhardware_legacy.so
+++ b/arm64/arch-arm64-armv8-a/shared/vndk-core/libhardware_legacy.so
Binary files differ
diff --git a/arm64/arch-arm64-armv8-a/shared/vndk-core/libpower.so b/arm64/arch-arm64-armv8-a/shared/vndk-core/libpower.so
index 184a7e1..6efe569 100755
--- a/arm64/arch-arm64-armv8-a/shared/vndk-core/libpower.so
+++ b/arm64/arch-arm64-armv8-a/shared/vndk-core/libpower.so
Binary files differ
diff --git a/arm64/arch-arm64-armv8-a/shared/vndk-core/libsqlite.so b/arm64/arch-arm64-armv8-a/shared/vndk-core/libsqlite.so
index 22db7b5..d2038c5 100755
--- a/arm64/arch-arm64-armv8-a/shared/vndk-core/libsqlite.so
+++ b/arm64/arch-arm64-armv8-a/shared/vndk-core/libsqlite.so
Binary files differ
diff --git a/arm64/arch-arm64-armv8-a/shared/vndk-core/libstagefright_bufferqueue_helper.so b/arm64/arch-arm64-armv8-a/shared/vndk-core/libstagefright_bufferqueue_helper.so
index 70a1e17..b1f01a7 100755
--- a/arm64/arch-arm64-armv8-a/shared/vndk-core/libstagefright_bufferqueue_helper.so
+++ b/arm64/arch-arm64-armv8-a/shared/vndk-core/libstagefright_bufferqueue_helper.so
Binary files differ
diff --git a/arm64/arch-arm64-armv8-a/shared/vndk-core/libstagefright_foundation.so b/arm64/arch-arm64-armv8-a/shared/vndk-core/libstagefright_foundation.so
index e6c03e4..c718202 100755
--- a/arm64/arch-arm64-armv8-a/shared/vndk-core/libstagefright_foundation.so
+++ b/arm64/arch-arm64-armv8-a/shared/vndk-core/libstagefright_foundation.so
Binary files differ
diff --git a/arm64/arch-arm64-armv8-a/shared/vndk-core/libui.so b/arm64/arch-arm64-armv8-a/shared/vndk-core/libui.so
index 3eba584..cb6ff79 100755
--- a/arm64/arch-arm64-armv8-a/shared/vndk-core/libui.so
+++ b/arm64/arch-arm64-armv8-a/shared/vndk-core/libui.so
Binary files differ
diff --git a/arm64/arch-arm64-armv8-a/shared/vndk-sp/android.hardware.graphics.mapper@2.0.so b/arm64/arch-arm64-armv8-a/shared/vndk-sp/android.hardware.graphics.mapper@2.0.so
index dea29bd..b6bbb2e 100755
--- a/arm64/arch-arm64-armv8-a/shared/vndk-sp/android.hardware.graphics.mapper@2.0.so
+++ b/arm64/arch-arm64-armv8-a/shared/vndk-sp/android.hardware.graphics.mapper@2.0.so
Binary files differ
diff --git a/arm64/arch-arm64-armv8-a/shared/vndk-sp/android.hardware.graphics.mapper@2.1.so b/arm64/arch-arm64-armv8-a/shared/vndk-sp/android.hardware.graphics.mapper@2.1.so
index ca3d7c9..85ccdb8 100755
--- a/arm64/arch-arm64-armv8-a/shared/vndk-sp/android.hardware.graphics.mapper@2.1.so
+++ b/arm64/arch-arm64-armv8-a/shared/vndk-sp/android.hardware.graphics.mapper@2.1.so
Binary files differ
diff --git a/arm64/arch-arm64-armv8-a/shared/vndk-sp/android.hardware.graphics.mapper@3.0.so b/arm64/arch-arm64-armv8-a/shared/vndk-sp/android.hardware.graphics.mapper@3.0.so
index ccc6fe4..dc0efba 100755
--- a/arm64/arch-arm64-armv8-a/shared/vndk-sp/android.hardware.graphics.mapper@3.0.so
+++ b/arm64/arch-arm64-armv8-a/shared/vndk-sp/android.hardware.graphics.mapper@3.0.so
Binary files differ
diff --git a/arm64/arch-arm64-armv8-a/shared/vndk-sp/android.hardware.graphics.mapper@4.0.so b/arm64/arch-arm64-armv8-a/shared/vndk-sp/android.hardware.graphics.mapper@4.0.so
index fcf9608..4db9846 100755
--- a/arm64/arch-arm64-armv8-a/shared/vndk-sp/android.hardware.graphics.mapper@4.0.so
+++ b/arm64/arch-arm64-armv8-a/shared/vndk-sp/android.hardware.graphics.mapper@4.0.so
Binary files differ
diff --git a/arm64/arch-arm64-armv8-a/shared/vndk-sp/android.hardware.renderscript@1.0.so b/arm64/arch-arm64-armv8-a/shared/vndk-sp/android.hardware.renderscript@1.0.so
index c304ad8..7cb0a02 100755
--- a/arm64/arch-arm64-armv8-a/shared/vndk-sp/android.hardware.renderscript@1.0.so
+++ b/arm64/arch-arm64-armv8-a/shared/vndk-sp/android.hardware.renderscript@1.0.so
Binary files differ
diff --git a/arm64/arch-arm64-armv8-a/shared/vndk-sp/android.hidl.memory.token@1.0.so b/arm64/arch-arm64-armv8-a/shared/vndk-sp/android.hidl.memory.token@1.0.so
index 6f6e1dc..1eacfe3 100755
--- a/arm64/arch-arm64-armv8-a/shared/vndk-sp/android.hidl.memory.token@1.0.so
+++ b/arm64/arch-arm64-armv8-a/shared/vndk-sp/android.hidl.memory.token@1.0.so
Binary files differ
diff --git a/arm64/arch-arm64-armv8-a/shared/vndk-sp/android.hidl.memory@1.0.so b/arm64/arch-arm64-armv8-a/shared/vndk-sp/android.hidl.memory@1.0.so
index b9d08d8..e2f1a0e 100755
--- a/arm64/arch-arm64-armv8-a/shared/vndk-sp/android.hidl.memory@1.0.so
+++ b/arm64/arch-arm64-armv8-a/shared/vndk-sp/android.hidl.memory@1.0.so
Binary files differ
diff --git a/arm64/arch-arm64-armv8-a/shared/vndk-sp/libcutils.so b/arm64/arch-arm64-armv8-a/shared/vndk-sp/libcutils.so
index 0a99329..c65f2d6 100755
--- a/arm64/arch-arm64-armv8-a/shared/vndk-sp/libcutils.so
+++ b/arm64/arch-arm64-armv8-a/shared/vndk-sp/libcutils.so
Binary files differ
diff --git a/arm64/arch-arm64-armv8-a/shared/vndk-sp/libdmabufheap.so b/arm64/arch-arm64-armv8-a/shared/vndk-sp/libdmabufheap.so
index 7141e74..f70ea33 100755
--- a/arm64/arch-arm64-armv8-a/shared/vndk-sp/libdmabufheap.so
+++ b/arm64/arch-arm64-armv8-a/shared/vndk-sp/libdmabufheap.so
Binary files differ
diff --git a/arm64/arch-arm64-armv8-a/shared/vndk-sp/libhidlbase.so b/arm64/arch-arm64-armv8-a/shared/vndk-sp/libhidlbase.so
index a9bcc58..ce16101 100755
--- a/arm64/arch-arm64-armv8-a/shared/vndk-sp/libhidlbase.so
+++ b/arm64/arch-arm64-armv8-a/shared/vndk-sp/libhidlbase.so
Binary files differ
diff --git a/arm64/arch-arm64-armv8-a/shared/vndk-sp/libprocessgroup.so b/arm64/arch-arm64-armv8-a/shared/vndk-sp/libprocessgroup.so
index c35e2cc..6574fbe 100755
--- a/arm64/arch-arm64-armv8-a/shared/vndk-sp/libprocessgroup.so
+++ b/arm64/arch-arm64-armv8-a/shared/vndk-sp/libprocessgroup.so
Binary files differ
diff --git a/arm64/arch-arm64-armv8-a/shared/vndk-sp/libunwindstack.so b/arm64/arch-arm64-armv8-a/shared/vndk-sp/libunwindstack.so
index 07f0fe4..5561db6 100755
--- a/arm64/arch-arm64-armv8-a/shared/vndk-sp/libunwindstack.so
+++ b/arm64/arch-arm64-armv8-a/shared/vndk-sp/libunwindstack.so
Binary files differ
diff --git a/arm64/arch-arm64-armv8-a/shared/vndk-sp/libutils.so b/arm64/arch-arm64-armv8-a/shared/vndk-sp/libutils.so
index 56b6c76..4623626 100755
--- a/arm64/arch-arm64-armv8-a/shared/vndk-sp/libutils.so
+++ b/arm64/arch-arm64-armv8-a/shared/vndk-sp/libutils.so
Binary files differ
diff --git a/arm64/include/external/sqlite/dist/orig/sqlite3.h b/arm64/include/external/sqlite/dist/orig/sqlite3.h
index e2965a2..755b3b3 100644
--- a/arm64/include/external/sqlite/dist/orig/sqlite3.h
+++ b/arm64/include/external/sqlite/dist/orig/sqlite3.h
@@ -125,7 +125,7 @@
 */
 #define SQLITE_VERSION        "3.32.2"
 #define SQLITE_VERSION_NUMBER 3032002
-#define SQLITE_SOURCE_ID      "2020-06-04 12:58:43 ec02243ea6ce33b090870ae55ab8aa2534b54d216d45c4aa2fdbb00e86861e8c"
+#define SQLITE_SOURCE_ID      "2021-07-12 15:00:17 bcd014c473794b09f61fbc0f4d9488365b023f16123b278dbbd49948c27c0fee"
 
 /*
 ** CAPI3REF: Run-Time Library Version Numbers
diff --git a/arm64/include/external/sqlite/dist/sqlite3.h b/arm64/include/external/sqlite/dist/sqlite3.h
index e2965a2..755b3b3 100644
--- a/arm64/include/external/sqlite/dist/sqlite3.h
+++ b/arm64/include/external/sqlite/dist/sqlite3.h
@@ -125,7 +125,7 @@
 */
 #define SQLITE_VERSION        "3.32.2"
 #define SQLITE_VERSION_NUMBER 3032002
-#define SQLITE_SOURCE_ID      "2020-06-04 12:58:43 ec02243ea6ce33b090870ae55ab8aa2534b54d216d45c4aa2fdbb00e86861e8c"
+#define SQLITE_SOURCE_ID      "2021-07-12 15:00:17 bcd014c473794b09f61fbc0f4d9488365b023f16123b278dbbd49948c27c0fee"
 
 /*
 ** CAPI3REF: Run-Time Library Version Numbers
diff --git a/arm64/include/frameworks/av/media/libstagefright/foundation/include/media/stagefright/foundation/ColorUtils.h b/arm64/include/frameworks/av/media/libstagefright/foundation/include/media/stagefright/foundation/ColorUtils.h
index 9e3f718..a2b6c4f 100644
--- a/arm64/include/frameworks/av/media/libstagefright/foundation/include/media/stagefright/foundation/ColorUtils.h
+++ b/arm64/include/frameworks/av/media/libstagefright/foundation/include/media/stagefright/foundation/ColorUtils.h
@@ -191,6 +191,8 @@
     static void setHDRStaticInfoIntoFormat(const HDRStaticInfo &info, sp<AMessage> &format);
     // writes |info| into format.
     static void setHDRStaticInfoIntoAMediaFormat(const HDRStaticInfo &info, AMediaFormat *format);
+    // (internal) used by the setHDRStaticInfoInfo* routines
+    static void fillHdrStaticInfoBuffer( const HDRStaticInfo &info, uint8_t *data);
 };
 
 inline static const char *asString(android::ColorUtils::ColorStandard i, const char *def = "??") {
diff --git a/arm64/include/frameworks/av/media/libstagefright/include/media/stagefright/ACodec.h b/arm64/include/frameworks/av/media/libstagefright/include/media/stagefright/ACodec.h
index c84cc10..632b32c 100644
--- a/arm64/include/frameworks/av/media/libstagefright/include/media/stagefright/ACodec.h
+++ b/arm64/include/frameworks/av/media/libstagefright/include/media/stagefright/ACodec.h
@@ -71,6 +71,9 @@
     virtual void initiateSetInputSurface(const sp<PersistentSurface> &surface);
     virtual void initiateStart();
     virtual void initiateShutdown(bool keepComponentAllocated = false);
+    virtual status_t querySupportedParameters(std::vector<std::string> *names) override;
+    virtual status_t subscribeToParameters(const std::vector<std::string> &names) override;
+    virtual status_t unsubscribeFromParameters(const std::vector<std::string> &names) override;
 
     status_t queryCapabilities(
             const char* owner, const char* name,
diff --git a/arm64/include/frameworks/av/media/libstagefright/include/media/stagefright/CodecBase.h b/arm64/include/frameworks/av/media/libstagefright/include/media/stagefright/CodecBase.h
index efb2f86..48721ec 100644
--- a/arm64/include/frameworks/av/media/libstagefright/include/media/stagefright/CodecBase.h
+++ b/arm64/include/frameworks/av/media/libstagefright/include/media/stagefright/CodecBase.h
@@ -252,9 +252,7 @@
      *         INVALID_OPERATION if already released;
      *         ERROR_UNSUPPORTED if not supported.
      */
-    virtual status_t querySupportedParameters([[maybe_unused]] std::vector<std::string> *names) {
-        return ERROR_UNSUPPORTED;
-    }
+    virtual status_t querySupportedParameters(std::vector<std::string> *names);
     /**
      * Fill |desc| with description of the parameter with |name|.
      *
@@ -267,10 +265,8 @@
      *         ERROR_UNSUPPORTED if not supported.
      */
     virtual status_t describeParameter(
-            [[maybe_unused]] const std::string &name,
-            [[maybe_unused]] CodecParameterDescriptor *desc) {
-        return ERROR_UNSUPPORTED;
-    }
+            const std::string &name,
+            CodecParameterDescriptor *desc);
     /**
      * Subscribe to parameters in |names| and get output format change event
      * when they change.
@@ -281,10 +277,7 @@
      *         INVALID_OPERATION if already released;
      *         ERROR_UNSUPPORTED if not supported.
      */
-    virtual status_t subscribeToParameters(
-            [[maybe_unused]] const std::vector<std::string> &names) {
-        return ERROR_UNSUPPORTED;
-    }
+    virtual status_t subscribeToParameters(const std::vector<std::string> &names);
     /**
      * Unsubscribe from parameters in |names| and no longer get
      * output format change event when they change.
@@ -295,10 +288,7 @@
      *         INVALID_OPERATION if already released;
      *         ERROR_UNSUPPORTED if not supported.
      */
-    virtual status_t unsubscribeFromParameters(
-            [[maybe_unused]] const std::vector<std::string> &names) {
-        return ERROR_UNSUPPORTED;
-    }
+    virtual status_t unsubscribeFromParameters(const std::vector<std::string> &names);
 
     typedef CodecBase *(*CreateCodecFunc)(void);
     typedef PersistentSurface *(*CreateInputSurfaceFunc)(void);
diff --git a/arm64/include/frameworks/native/libs/binder/include/binder/IPCThreadState.h b/arm64/include/frameworks/native/libs/binder/include/binder/IPCThreadState.h
index 196a41b..b401ea9 100644
--- a/arm64/include/frameworks/native/libs/binder/include/binder/IPCThreadState.h
+++ b/arm64/include/frameworks/native/libs/binder/include/binder/IPCThreadState.h
@@ -53,6 +53,13 @@
     // Provide information about the state of a frozen process
     static  status_t            getProcessFreezeInfo(pid_t pid, bool *sync_received,
                                                     bool *async_received);
+
+    // TODO: Remove the above legacy duplicated function in next version
+#ifndef __ANDROID_VNDK__
+    static  status_t            getProcessFreezeInfo(pid_t pid, uint32_t *sync_received,
+                                                    uint32_t *async_received);
+#endif
+
             sp<ProcessState>    process();
             
             status_t            clearLastError();
diff --git a/arm64/include/frameworks/native/libs/gui/include/gui/BLASTBufferQueue.h b/arm64/include/frameworks/native/libs/gui/include/gui/BLASTBufferQueue.h
index 0d6a673..6c5b2aa 100644
--- a/arm64/include/frameworks/native/libs/gui/include/gui/BLASTBufferQueue.h
+++ b/arm64/include/frameworks/native/libs/gui/include/gui/BLASTBufferQueue.h
@@ -62,11 +62,12 @@
     uint64_t mCurrentFrameNumber = 0;
 
     Mutex mMutex;
+    std::mutex mBufferQueueMutex;
     ConsumerFrameEventHistory mFrameEventHistory GUARDED_BY(mMutex);
     std::queue<uint64_t> mDisconnectEvents GUARDED_BY(mMutex);
     bool mCurrentlyConnected GUARDED_BY(mMutex);
     bool mPreviouslyConnected GUARDED_BY(mMutex);
-    BLASTBufferQueue* mBLASTBufferQueue GUARDED_BY(mMutex);
+    BLASTBufferQueue* mBLASTBufferQueue GUARDED_BY(mBufferQueueMutex);
 };
 
 class BLASTBufferQueue
@@ -96,7 +97,8 @@
     void setTransactionCompleteCallback(uint64_t frameNumber,
                                         std::function<void(int64_t)>&& transactionCompleteCallback);
 
-    void update(const sp<SurfaceControl>& surface, uint32_t width, uint32_t height, int32_t format);
+    void update(const sp<SurfaceControl>& surface, uint32_t width, uint32_t height, int32_t format,
+                SurfaceComposerClient::Transaction* outTransaction = nullptr);
     void flushShadowQueue() {}
 
     status_t setFrameRate(float frameRate, int8_t compatibility, bool shouldBeSeamless);
diff --git a/arm64/include/frameworks/native/libs/gui/include/gui/LayerState.h b/arm64/include/frameworks/native/libs/gui/include/gui/LayerState.h
index 8ac1e5d..3e57ff6 100644
--- a/arm64/include/frameworks/native/libs/gui/include/gui/LayerState.h
+++ b/arm64/include/frameworks/native/libs/gui/include/gui/LayerState.h
@@ -118,6 +118,7 @@
         eBlurRegionsChanged = 0x800'00000000,
         eAutoRefreshChanged = 0x1000'00000000,
         eStretchChanged = 0x2000'00000000,
+        eTrustedOverlayChanged = 0x4000'00000000,
     };
 
     layer_state_t();
@@ -126,6 +127,7 @@
     status_t write(Parcel& output) const;
     status_t read(const Parcel& input);
     bool hasBufferChanges() const;
+    bool hasValidBuffer() const;
 
     struct matrix22_t {
         float dsdx{0};
@@ -224,6 +226,10 @@
     // in shared buffer mode.
     bool autoRefresh;
 
+    // An inherited state that indicates that this surface control and its children
+    // should be trusted for input occlusion detection purposes
+    bool isTrustedOverlay;
+
     // Stretch effect to be applied to this layer
     StretchEffect stretchEffect;
 
diff --git a/arm64/include/frameworks/native/libs/gui/include/gui/Surface.h b/arm64/include/frameworks/native/libs/gui/include/gui/Surface.h
index 7e4143b..e540351 100644
--- a/arm64/include/frameworks/native/libs/gui/include/gui/Surface.h
+++ b/arm64/include/frameworks/native/libs/gui/include/gui/Surface.h
@@ -99,7 +99,7 @@
      */
     sp<IGraphicBufferProducer> getIGraphicBufferProducer() const;
 
-    sp<IBinder> getSurfaceControlHandle() const { return mSurfaceControlHandle; }
+    sp<IBinder> getSurfaceControlHandle() const;
 
     /* convenience function to check that the given surface is non NULL as
      * well as its IGraphicBufferProducer */
@@ -333,6 +333,7 @@
     virtual int connect(
             int api, bool reportBufferRemoval,
             const sp<SurfaceListener>& sListener);
+    virtual void destroy();
 
     // When client connects to Surface with reportBufferRemoval set to true, any buffers removed
     // from this Surface will be collected and returned here. Once this method returns, these
diff --git a/arm64/include/frameworks/native/libs/gui/include/gui/SurfaceComposerClient.h b/arm64/include/frameworks/native/libs/gui/include/gui/SurfaceComposerClient.h
index c2963b5..baa0567 100644
--- a/arm64/include/frameworks/native/libs/gui/include/gui/SurfaceComposerClient.h
+++ b/arm64/include/frameworks/native/libs/gui/include/gui/SurfaceComposerClient.h
@@ -537,6 +537,9 @@
         // in shared buffer mode.
         Transaction& setAutoRefresh(const sp<SurfaceControl>& sc, bool autoRefresh);
 
+        // Sets that this surface control and its children are trusted overlays for input
+        Transaction& setTrustedOverlay(const sp<SurfaceControl>& sc, bool isTrustedOverlay);
+
         // Queues up transactions using this token in SurfaceFlinger.  By default, all transactions
         // from a client are placed on the same queue. This can be used to prevent multiple
         // transactions from blocking each other.
diff --git a/arm64/include/frameworks/native/libs/ui/include/ui/Transform.h b/arm64/include/frameworks/native/libs/ui/include/ui/Transform.h
index a197b3b..33fbe05 100644
--- a/arm64/include/frameworks/native/libs/ui/include/ui/Transform.h
+++ b/arm64/include/frameworks/native/libs/ui/include/ui/Transform.h
@@ -112,6 +112,7 @@
     void dump(const char* name, const char* prefix = "") const;
 
     static constexpr RotationFlags toRotationFlags(Rotation);
+    static constexpr Rotation toRotation(RotationFlags);
 
 private:
     struct mat33 {
@@ -151,5 +152,20 @@
     }
 }
 
+inline constexpr Rotation Transform::toRotation(Transform::RotationFlags rotationFlags) {
+    switch (rotationFlags) {
+        case ROT_0:
+            return ROTATION_0;
+        case ROT_90:
+            return ROTATION_90;
+        case ROT_180:
+            return ROTATION_180;
+        case ROT_270:
+            return ROTATION_270;
+        default:
+            return ROTATION_0;
+    }
+}
+
 }  // namespace ui
 }  // namespace android
diff --git a/arm64/include/frameworks/native/libs/ui/include_vndk/ui/Transform.h b/arm64/include/frameworks/native/libs/ui/include_vndk/ui/Transform.h
index a197b3b..33fbe05 100644
--- a/arm64/include/frameworks/native/libs/ui/include_vndk/ui/Transform.h
+++ b/arm64/include/frameworks/native/libs/ui/include_vndk/ui/Transform.h
@@ -112,6 +112,7 @@
     void dump(const char* name, const char* prefix = "") const;
 
     static constexpr RotationFlags toRotationFlags(Rotation);
+    static constexpr Rotation toRotation(RotationFlags);
 
 private:
     struct mat33 {
@@ -151,5 +152,20 @@
     }
 }
 
+inline constexpr Rotation Transform::toRotation(Transform::RotationFlags rotationFlags) {
+    switch (rotationFlags) {
+        case ROT_0:
+            return ROTATION_0;
+        case ROT_90:
+            return ROTATION_90;
+        case ROT_180:
+            return ROTATION_180;
+        case ROT_270:
+            return ROTATION_270;
+        default:
+            return ROTATION_0;
+    }
+}
+
 }  // namespace ui
 }  // namespace android
diff --git a/arm64/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/DriverMonitoringDetection.h b/arm64/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/DriverMonitoringDetection.h
index b1448e1..fccf0a1 100644
--- a/arm64/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/DriverMonitoringDetection.h
+++ b/arm64/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/DriverMonitoringDetection.h
@@ -21,7 +21,7 @@
   typedef std::false_type fixed_size;
   static const char* descriptor;
 
-  ::aidl::android::hardware::automotive::occupant_awareness::ConfidenceLevel confidenceScore;
+  ::aidl::android::hardware::automotive::occupant_awareness::ConfidenceLevel confidenceScore = ::aidl::android::hardware::automotive::occupant_awareness::ConfidenceLevel(0);
   bool isLookingOnRoad = false;
   int64_t gazeDurationMillis = 0L;
 
diff --git a/arm64/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/GazeDetection.h b/arm64/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/GazeDetection.h
index 7d40e47..d62114c 100644
--- a/arm64/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/GazeDetection.h
+++ b/arm64/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/GazeDetection.h
@@ -22,11 +22,11 @@
   typedef std::false_type fixed_size;
   static const char* descriptor;
 
-  ::aidl::android::hardware::automotive::occupant_awareness::ConfidenceLevel gazeConfidence;
+  ::aidl::android::hardware::automotive::occupant_awareness::ConfidenceLevel gazeConfidence = ::aidl::android::hardware::automotive::occupant_awareness::ConfidenceLevel(0);
   std::vector<double> headPosition;
   std::vector<double> headAngleUnitVector;
   std::vector<double> gazeAngleUnitVector;
-  ::aidl::android::hardware::automotive::occupant_awareness::VehicleRegion gazeTarget;
+  ::aidl::android::hardware::automotive::occupant_awareness::VehicleRegion gazeTarget = ::aidl::android::hardware::automotive::occupant_awareness::VehicleRegion(0);
   std::string customGazeTarget;
   int64_t timeOnTargetMillis = 0L;
 
diff --git a/arm64/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/OccupantDetection.h b/arm64/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/OccupantDetection.h
index e5c9a8d..3ce2e33 100644
--- a/arm64/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/OccupantDetection.h
+++ b/arm64/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/OccupantDetection.h
@@ -24,7 +24,7 @@
   typedef std::false_type fixed_size;
   static const char* descriptor;
 
-  ::aidl::android::hardware::automotive::occupant_awareness::Role role;
+  ::aidl::android::hardware::automotive::occupant_awareness::Role role = ::aidl::android::hardware::automotive::occupant_awareness::Role(0);
   std::vector<::aidl::android::hardware::automotive::occupant_awareness::PresenceDetection> presenceData;
   std::vector<::aidl::android::hardware::automotive::occupant_awareness::GazeDetection> gazeData;
   std::vector<::aidl::android::hardware::automotive::occupant_awareness::DriverMonitoringDetection> attentionData;
diff --git a/arm64/include/out/soong/.intermediates/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLight.h b/arm64/include/out/soong/.intermediates/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLight.h
index a760f09..574f1ac 100644
--- a/arm64/include/out/soong/.intermediates/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLight.h
+++ b/arm64/include/out/soong/.intermediates/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLight.h
@@ -22,7 +22,7 @@
 
   int32_t id = 0;
   int32_t ordinal = 0;
-  ::aidl::android::hardware::light::LightType type;
+  ::aidl::android::hardware::light::LightType type = ::aidl::android::hardware::light::LightType(0);
 
   binder_status_t readFromParcel(const AParcel* parcel);
   binder_status_t writeToParcel(AParcel* parcel) const;
diff --git a/arm64/include/out/soong/.intermediates/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLightState.h b/arm64/include/out/soong/.intermediates/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLightState.h
index ccbe14e..f32738c 100644
--- a/arm64/include/out/soong/.intermediates/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLightState.h
+++ b/arm64/include/out/soong/.intermediates/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLightState.h
@@ -22,10 +22,10 @@
   static const char* descriptor;
 
   int32_t color = 0;
-  ::aidl::android::hardware::light::FlashMode flashMode;
+  ::aidl::android::hardware::light::FlashMode flashMode = ::aidl::android::hardware::light::FlashMode(0);
   int32_t flashOnMs = 0;
   int32_t flashOffMs = 0;
-  ::aidl::android::hardware::light::BrightnessMode brightnessMode;
+  ::aidl::android::hardware::light::BrightnessMode brightnessMode = ::aidl::android::hardware::light::BrightnessMode(0);
 
   binder_status_t readFromParcel(const AParcel* parcel);
   binder_status_t writeToParcel(AParcel* parcel) const;
diff --git a/arm64/include/out/soong/.intermediates/hardware/interfaces/vibrator/aidl/android.hardware.vibrator-V2-ndk_platform-source/gen/include/aidl/android/hardware/vibrator/BrakingPwle.h b/arm64/include/out/soong/.intermediates/hardware/interfaces/vibrator/aidl/android.hardware.vibrator-V2-ndk_platform-source/gen/include/aidl/android/hardware/vibrator/BrakingPwle.h
index 2f0b1c8..1a1b7bb 100644
--- a/arm64/include/out/soong/.intermediates/hardware/interfaces/vibrator/aidl/android.hardware.vibrator-V2-ndk_platform-source/gen/include/aidl/android/hardware/vibrator/BrakingPwle.h
+++ b/arm64/include/out/soong/.intermediates/hardware/interfaces/vibrator/aidl/android.hardware.vibrator-V2-ndk_platform-source/gen/include/aidl/android/hardware/vibrator/BrakingPwle.h
@@ -20,7 +20,7 @@
   typedef std::false_type fixed_size;
   static const char* descriptor;
 
-  ::aidl::android::hardware::vibrator::Braking braking;
+  ::aidl::android::hardware::vibrator::Braking braking = ::aidl::android::hardware::vibrator::Braking(0);
   int32_t duration = 0;
 
   binder_status_t readFromParcel(const AParcel* parcel);
diff --git a/arm64/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/AuthenticatorSpec.h b/arm64/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/AuthenticatorSpec.h
index f5aeafc..4d2fa40 100644
--- a/arm64/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/AuthenticatorSpec.h
+++ b/arm64/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/AuthenticatorSpec.h
@@ -20,7 +20,7 @@
   typedef std::false_type fixed_size;
   static const char* descriptor;
 
-  ::aidl::android::hardware::security::keymint::HardwareAuthenticatorType authenticatorType;
+  ::aidl::android::hardware::security::keymint::HardwareAuthenticatorType authenticatorType = ::aidl::android::hardware::security::keymint::HardwareAuthenticatorType(0);
   int64_t authenticatorId = 0L;
 
   binder_status_t readFromParcel(const AParcel* parcel);
diff --git a/arm64/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/Authorization.h b/arm64/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/Authorization.h
index 7a81600..17ebd2f 100644
--- a/arm64/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/Authorization.h
+++ b/arm64/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/Authorization.h
@@ -21,7 +21,7 @@
   typedef std::false_type fixed_size;
   static const char* descriptor;
 
-  ::aidl::android::hardware::security::keymint::SecurityLevel securityLevel;
+  ::aidl::android::hardware::security::keymint::SecurityLevel securityLevel = ::aidl::android::hardware::security::keymint::SecurityLevel(0);
   ::aidl::android::hardware::security::keymint::KeyParameter keyParameter;
 
   binder_status_t readFromParcel(const AParcel* parcel);
diff --git a/arm64/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyDescriptor.h b/arm64/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyDescriptor.h
index 9d94a88..f0d4882 100644
--- a/arm64/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyDescriptor.h
+++ b/arm64/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyDescriptor.h
@@ -20,7 +20,7 @@
   typedef std::false_type fixed_size;
   static const char* descriptor;
 
-  ::aidl::android::system::keystore2::Domain domain;
+  ::aidl::android::system::keystore2::Domain domain = ::aidl::android::system::keystore2::Domain(0);
   int64_t nspace = 0L;
   std::optional<std::string> alias;
   std::optional<std::vector<uint8_t>> blob;
diff --git a/arm64/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyMetadata.h b/arm64/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyMetadata.h
index 168b720..ac664f4 100644
--- a/arm64/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyMetadata.h
+++ b/arm64/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyMetadata.h
@@ -23,7 +23,7 @@
   static const char* descriptor;
 
   ::aidl::android::system::keystore2::KeyDescriptor key;
-  ::aidl::android::hardware::security::keymint::SecurityLevel keySecurityLevel;
+  ::aidl::android::hardware::security::keymint::SecurityLevel keySecurityLevel = ::aidl::android::hardware::security::keymint::SecurityLevel(0);
   std::vector<::aidl::android::system::keystore2::Authorization> authorizations;
   std::optional<std::vector<uint8_t>> certificate;
   std::optional<std::vector<uint8_t>> certificateChain;
diff --git a/arm64/include/packages/modules/NeuralNetworks/runtime/include/NeuralNetworks.h b/arm64/include/packages/modules/NeuralNetworks/runtime/include/NeuralNetworks.h
index 446d99b..a6a10d0 100644
--- a/arm64/include/packages/modules/NeuralNetworks/runtime/include/NeuralNetworks.h
+++ b/arm64/include/packages/modules/NeuralNetworks/runtime/include/NeuralNetworks.h
@@ -59,11 +59,8 @@
 #define __NNAPI_INTRODUCED_IN(x) __INTRODUCED_IN(x)
 #endif
 
-// TODO: replace __ANDROID_API_FUTURE__with 31 when it's official (b/178144708)
-// This is required for __builtin_available guards around functionality
-// introduced in FL5/API31.
 #ifndef __NNAPI_FL5_MIN_ANDROID_API__
-#define __NNAPI_FL5_MIN_ANDROID_API__ __ANDROID_API_FUTURE__
+#define __NNAPI_FL5_MIN_ANDROID_API__ __ANDROID_API_S__
 #endif
 
 __BEGIN_DECLS
diff --git a/arm64/include/system/core/libcutils/include/cutils/trace.h b/arm64/include/system/core/libcutils/include/cutils/trace.h
index ef426ff..24c6ae6 100644
--- a/arm64/include/system/core/libcutils/include/cutils/trace.h
+++ b/arm64/include/system/core/libcutils/include/cutils/trace.h
@@ -75,8 +75,7 @@
 #define ATRACE_TAG_AIDL             (1<<24)
 #define ATRACE_TAG_NNAPI            (1<<25)
 #define ATRACE_TAG_RRO              (1<<26)
-#define ATRACE_TAG_SYSPROP          (1<<27)
-#define ATRACE_TAG_LAST             ATRACE_TAG_SYSPROP
+#define ATRACE_TAG_LAST             ATRACE_TAG_RRO
 
 // Reserved for initialization.
 #define ATRACE_TAG_NOT_READY        (1ULL<<63)
diff --git a/arm64/include/system/core/libcutils/include_outside_system/cutils/trace.h b/arm64/include/system/core/libcutils/include_outside_system/cutils/trace.h
index ef426ff..24c6ae6 100644
--- a/arm64/include/system/core/libcutils/include_outside_system/cutils/trace.h
+++ b/arm64/include/system/core/libcutils/include_outside_system/cutils/trace.h
@@ -75,8 +75,7 @@
 #define ATRACE_TAG_AIDL             (1<<24)
 #define ATRACE_TAG_NNAPI            (1<<25)
 #define ATRACE_TAG_RRO              (1<<26)
-#define ATRACE_TAG_SYSPROP          (1<<27)
-#define ATRACE_TAG_LAST             ATRACE_TAG_SYSPROP
+#define ATRACE_TAG_LAST             ATRACE_TAG_RRO
 
 // Reserved for initialization.
 #define ATRACE_TAG_NOT_READY        (1ULL<<63)
diff --git a/arm64/include/system/media/camera/include/system/camera_metadata_tags.h b/arm64/include/system/media/camera/include/system/camera_metadata_tags.h
index 9c8b041..68b4367 100644
--- a/arm64/include/system/media/camera/include/system/camera_metadata_tags.h
+++ b/arm64/include/system/media/camera/include/system/camera_metadata_tags.h
@@ -183,6 +183,9 @@
     ANDROID_CONTROL_ZOOM_RATIO,                       // float        | public       | HIDL v3.5
     ANDROID_CONTROL_AVAILABLE_HIGH_SPEED_VIDEO_CONFIGURATIONS_MAXIMUM_RESOLUTION,
                                                       // int32[]      | hidden       | HIDL v3.6
+    ANDROID_CONTROL_AF_REGIONS_SET,                   // enum         | fwk_only
+    ANDROID_CONTROL_AE_REGIONS_SET,                   // enum         | fwk_only
+    ANDROID_CONTROL_AWB_REGIONS_SET,                  // enum         | fwk_only
     ANDROID_CONTROL_END,
 
     ANDROID_DEMOSAIC_MODE =                           // enum         | system       | HIDL v3.2
@@ -330,6 +333,7 @@
     ANDROID_SCALER_AVAILABLE_INPUT_OUTPUT_FORMATS_MAP_MAXIMUM_RESOLUTION,
                                                       // int32        | hidden       | HIDL v3.6
     ANDROID_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED, // enum         | ndk_public   | HIDL v3.6
+    ANDROID_SCALER_CROP_REGION_SET,                   // enum         | fwk_only
     ANDROID_SCALER_END,
 
     ANDROID_SENSOR_EXPOSURE_TIME =                    // int64        | public       | HIDL v3.2
@@ -745,6 +749,24 @@
     ANDROID_CONTROL_EXTENDED_SCENE_MODE_VENDOR_START                 = 0x40, // HIDL v3.5
 } camera_metadata_enum_android_control_extended_scene_mode_t;
 
+// ANDROID_CONTROL_AF_REGIONS_SET
+typedef enum camera_metadata_enum_android_control_af_regions_set {
+    ANDROID_CONTROL_AF_REGIONS_SET_FALSE                            ,
+    ANDROID_CONTROL_AF_REGIONS_SET_TRUE                             ,
+} camera_metadata_enum_android_control_af_regions_set_t;
+
+// ANDROID_CONTROL_AE_REGIONS_SET
+typedef enum camera_metadata_enum_android_control_ae_regions_set {
+    ANDROID_CONTROL_AE_REGIONS_SET_FALSE                            ,
+    ANDROID_CONTROL_AE_REGIONS_SET_TRUE                             ,
+} camera_metadata_enum_android_control_ae_regions_set_t;
+
+// ANDROID_CONTROL_AWB_REGIONS_SET
+typedef enum camera_metadata_enum_android_control_awb_regions_set {
+    ANDROID_CONTROL_AWB_REGIONS_SET_FALSE                           ,
+    ANDROID_CONTROL_AWB_REGIONS_SET_TRUE                            ,
+} camera_metadata_enum_android_control_awb_regions_set_t;
+
 
 // ANDROID_DEMOSAIC_MODE
 typedef enum camera_metadata_enum_android_demosaic_mode {
@@ -961,6 +983,12 @@
     ANDROID_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED_TRUE           , // HIDL v3.6
 } camera_metadata_enum_android_scaler_multi_resolution_stream_supported_t;
 
+// ANDROID_SCALER_CROP_REGION_SET
+typedef enum camera_metadata_enum_android_scaler_crop_region_set {
+    ANDROID_SCALER_CROP_REGION_SET_FALSE                            ,
+    ANDROID_SCALER_CROP_REGION_SET_TRUE                             ,
+} camera_metadata_enum_android_scaler_crop_region_set_t;
+
 
 // ANDROID_SENSOR_REFERENCE_ILLUMINANT1
 typedef enum camera_metadata_enum_android_sensor_reference_illuminant1 {
diff --git a/x86/arch-x86/shared/vndk-core/android.hardware.automotive.occupant_awareness-V1-ndk_platform.so b/x86/arch-x86/shared/vndk-core/android.hardware.automotive.occupant_awareness-V1-ndk_platform.so
index ab20ec4..a8b2b2d 100755
--- a/x86/arch-x86/shared/vndk-core/android.hardware.automotive.occupant_awareness-V1-ndk_platform.so
+++ b/x86/arch-x86/shared/vndk-core/android.hardware.automotive.occupant_awareness-V1-ndk_platform.so
Binary files differ
diff --git a/x86/arch-x86/shared/vndk-core/android.hardware.configstore@1.0.so b/x86/arch-x86/shared/vndk-core/android.hardware.configstore@1.0.so
index e0fc9fc..d55f67e 100755
--- a/x86/arch-x86/shared/vndk-core/android.hardware.configstore@1.0.so
+++ b/x86/arch-x86/shared/vndk-core/android.hardware.configstore@1.0.so
Binary files differ
diff --git a/x86/arch-x86/shared/vndk-core/android.hardware.configstore@1.1.so b/x86/arch-x86/shared/vndk-core/android.hardware.configstore@1.1.so
index 9d1450a..185bd2a 100755
--- a/x86/arch-x86/shared/vndk-core/android.hardware.configstore@1.1.so
+++ b/x86/arch-x86/shared/vndk-core/android.hardware.configstore@1.1.so
Binary files differ
diff --git a/x86/arch-x86/shared/vndk-core/android.hardware.graphics.allocator@2.0.so b/x86/arch-x86/shared/vndk-core/android.hardware.graphics.allocator@2.0.so
index 1422ed2..4a8e8fd 100755
--- a/x86/arch-x86/shared/vndk-core/android.hardware.graphics.allocator@2.0.so
+++ b/x86/arch-x86/shared/vndk-core/android.hardware.graphics.allocator@2.0.so
Binary files differ
diff --git a/x86/arch-x86/shared/vndk-core/android.hardware.graphics.allocator@3.0.so b/x86/arch-x86/shared/vndk-core/android.hardware.graphics.allocator@3.0.so
index 491bc24..03db198 100755
--- a/x86/arch-x86/shared/vndk-core/android.hardware.graphics.allocator@3.0.so
+++ b/x86/arch-x86/shared/vndk-core/android.hardware.graphics.allocator@3.0.so
Binary files differ
diff --git a/x86/arch-x86/shared/vndk-core/android.hardware.graphics.allocator@4.0.so b/x86/arch-x86/shared/vndk-core/android.hardware.graphics.allocator@4.0.so
index 82b19b1..66ffd66 100755
--- a/x86/arch-x86/shared/vndk-core/android.hardware.graphics.allocator@4.0.so
+++ b/x86/arch-x86/shared/vndk-core/android.hardware.graphics.allocator@4.0.so
Binary files differ
diff --git a/x86/arch-x86/shared/vndk-core/android.hardware.graphics.bufferqueue@1.0.so b/x86/arch-x86/shared/vndk-core/android.hardware.graphics.bufferqueue@1.0.so
index ed21950..967dd1f 100755
--- a/x86/arch-x86/shared/vndk-core/android.hardware.graphics.bufferqueue@1.0.so
+++ b/x86/arch-x86/shared/vndk-core/android.hardware.graphics.bufferqueue@1.0.so
Binary files differ
diff --git a/x86/arch-x86/shared/vndk-core/android.hardware.graphics.bufferqueue@2.0.so b/x86/arch-x86/shared/vndk-core/android.hardware.graphics.bufferqueue@2.0.so
index 881c5ca..3269bec 100755
--- a/x86/arch-x86/shared/vndk-core/android.hardware.graphics.bufferqueue@2.0.so
+++ b/x86/arch-x86/shared/vndk-core/android.hardware.graphics.bufferqueue@2.0.so
Binary files differ
diff --git a/x86/arch-x86/shared/vndk-core/android.hardware.media.bufferpool@2.0.so b/x86/arch-x86/shared/vndk-core/android.hardware.media.bufferpool@2.0.so
index 601bb0e..1b73d5b 100755
--- a/x86/arch-x86/shared/vndk-core/android.hardware.media.bufferpool@2.0.so
+++ b/x86/arch-x86/shared/vndk-core/android.hardware.media.bufferpool@2.0.so
Binary files differ
diff --git a/x86/arch-x86/shared/vndk-core/android.hardware.media.omx@1.0.so b/x86/arch-x86/shared/vndk-core/android.hardware.media.omx@1.0.so
index 4dda243..726b04c 100755
--- a/x86/arch-x86/shared/vndk-core/android.hardware.media.omx@1.0.so
+++ b/x86/arch-x86/shared/vndk-core/android.hardware.media.omx@1.0.so
Binary files differ
diff --git a/x86/arch-x86/shared/vndk-core/android.hardware.memtrack@1.0.so b/x86/arch-x86/shared/vndk-core/android.hardware.memtrack@1.0.so
index cee1655..45358c6 100755
--- a/x86/arch-x86/shared/vndk-core/android.hardware.memtrack@1.0.so
+++ b/x86/arch-x86/shared/vndk-core/android.hardware.memtrack@1.0.so
Binary files differ
diff --git a/x86/arch-x86/shared/vndk-core/android.hardware.soundtrigger@2.0.so b/x86/arch-x86/shared/vndk-core/android.hardware.soundtrigger@2.0.so
index 8b23ab5..8377ae6 100755
--- a/x86/arch-x86/shared/vndk-core/android.hardware.soundtrigger@2.0.so
+++ b/x86/arch-x86/shared/vndk-core/android.hardware.soundtrigger@2.0.so
Binary files differ
diff --git a/x86/arch-x86/shared/vndk-core/android.hardware.vibrator-V2-ndk_platform.so b/x86/arch-x86/shared/vndk-core/android.hardware.vibrator-V2-ndk_platform.so
index f13d200..9ddc68e 100755
--- a/x86/arch-x86/shared/vndk-core/android.hardware.vibrator-V2-ndk_platform.so
+++ b/x86/arch-x86/shared/vndk-core/android.hardware.vibrator-V2-ndk_platform.so
Binary files differ
diff --git a/x86/arch-x86/shared/vndk-core/android.hidl.token@1.0.so b/x86/arch-x86/shared/vndk-core/android.hidl.token@1.0.so
index 7b32657..349a5f5 100755
--- a/x86/arch-x86/shared/vndk-core/android.hidl.token@1.0.so
+++ b/x86/arch-x86/shared/vndk-core/android.hidl.token@1.0.so
Binary files differ
diff --git a/x86/arch-x86/shared/vndk-core/android.system.keystore2-V1-ndk_platform.so b/x86/arch-x86/shared/vndk-core/android.system.keystore2-V1-ndk_platform.so
index b0109ff..8adb036 100755
--- a/x86/arch-x86/shared/vndk-core/android.system.keystore2-V1-ndk_platform.so
+++ b/x86/arch-x86/shared/vndk-core/android.system.keystore2-V1-ndk_platform.so
Binary files differ
diff --git a/x86/arch-x86/shared/vndk-core/android.system.suspend@1.0.so b/x86/arch-x86/shared/vndk-core/android.system.suspend@1.0.so
index 2ff531d..b2ec3b8 100755
--- a/x86/arch-x86/shared/vndk-core/android.system.suspend@1.0.so
+++ b/x86/arch-x86/shared/vndk-core/android.system.suspend@1.0.so
Binary files differ
diff --git a/x86/arch-x86/shared/vndk-core/libbinder.so b/x86/arch-x86/shared/vndk-core/libbinder.so
index 20283eb..37d1582 100755
--- a/x86/arch-x86/shared/vndk-core/libbinder.so
+++ b/x86/arch-x86/shared/vndk-core/libbinder.so
Binary files differ
diff --git a/x86/arch-x86/shared/vndk-core/libcamera_metadata.so b/x86/arch-x86/shared/vndk-core/libcamera_metadata.so
index 57db7e5..fccdba0 100755
--- a/x86/arch-x86/shared/vndk-core/libcamera_metadata.so
+++ b/x86/arch-x86/shared/vndk-core/libcamera_metadata.so
Binary files differ
diff --git a/x86/arch-x86/shared/vndk-core/libgui.so b/x86/arch-x86/shared/vndk-core/libgui.so
index 644ea26..b48c068 100755
--- a/x86/arch-x86/shared/vndk-core/libgui.so
+++ b/x86/arch-x86/shared/vndk-core/libgui.so
Binary files differ
diff --git a/x86/arch-x86/shared/vndk-core/libhardware_legacy.so b/x86/arch-x86/shared/vndk-core/libhardware_legacy.so
index 17c5461..12aaccb 100755
--- a/x86/arch-x86/shared/vndk-core/libhardware_legacy.so
+++ b/x86/arch-x86/shared/vndk-core/libhardware_legacy.so
Binary files differ
diff --git a/x86/arch-x86/shared/vndk-core/libpower.so b/x86/arch-x86/shared/vndk-core/libpower.so
index 50abd14..9896da5 100755
--- a/x86/arch-x86/shared/vndk-core/libpower.so
+++ b/x86/arch-x86/shared/vndk-core/libpower.so
Binary files differ
diff --git a/x86/arch-x86/shared/vndk-core/libsqlite.so b/x86/arch-x86/shared/vndk-core/libsqlite.so
index 6d0605f..8c0e2b7 100755
--- a/x86/arch-x86/shared/vndk-core/libsqlite.so
+++ b/x86/arch-x86/shared/vndk-core/libsqlite.so
Binary files differ
diff --git a/x86/arch-x86/shared/vndk-core/libstagefright_bufferqueue_helper.so b/x86/arch-x86/shared/vndk-core/libstagefright_bufferqueue_helper.so
index 340f205..7ff2c69 100755
--- a/x86/arch-x86/shared/vndk-core/libstagefright_bufferqueue_helper.so
+++ b/x86/arch-x86/shared/vndk-core/libstagefright_bufferqueue_helper.so
Binary files differ
diff --git a/x86/arch-x86/shared/vndk-core/libstagefright_foundation.so b/x86/arch-x86/shared/vndk-core/libstagefright_foundation.so
index 060a433..b841bb3 100755
--- a/x86/arch-x86/shared/vndk-core/libstagefright_foundation.so
+++ b/x86/arch-x86/shared/vndk-core/libstagefright_foundation.so
Binary files differ
diff --git a/x86/arch-x86/shared/vndk-core/libui.so b/x86/arch-x86/shared/vndk-core/libui.so
index 3a23df5..0b6916a 100755
--- a/x86/arch-x86/shared/vndk-core/libui.so
+++ b/x86/arch-x86/shared/vndk-core/libui.so
Binary files differ
diff --git a/x86/arch-x86/shared/vndk-sp/android.hardware.graphics.mapper@2.0.so b/x86/arch-x86/shared/vndk-sp/android.hardware.graphics.mapper@2.0.so
index 860797b..d6d33f5 100755
--- a/x86/arch-x86/shared/vndk-sp/android.hardware.graphics.mapper@2.0.so
+++ b/x86/arch-x86/shared/vndk-sp/android.hardware.graphics.mapper@2.0.so
Binary files differ
diff --git a/x86/arch-x86/shared/vndk-sp/android.hardware.graphics.mapper@2.1.so b/x86/arch-x86/shared/vndk-sp/android.hardware.graphics.mapper@2.1.so
index f3f2339..f2ef72a 100755
--- a/x86/arch-x86/shared/vndk-sp/android.hardware.graphics.mapper@2.1.so
+++ b/x86/arch-x86/shared/vndk-sp/android.hardware.graphics.mapper@2.1.so
Binary files differ
diff --git a/x86/arch-x86/shared/vndk-sp/android.hardware.graphics.mapper@3.0.so b/x86/arch-x86/shared/vndk-sp/android.hardware.graphics.mapper@3.0.so
index 3f4ea04..6615978 100755
--- a/x86/arch-x86/shared/vndk-sp/android.hardware.graphics.mapper@3.0.so
+++ b/x86/arch-x86/shared/vndk-sp/android.hardware.graphics.mapper@3.0.so
Binary files differ
diff --git a/x86/arch-x86/shared/vndk-sp/android.hardware.graphics.mapper@4.0.so b/x86/arch-x86/shared/vndk-sp/android.hardware.graphics.mapper@4.0.so
index c9ca63f..d540a3f 100755
--- a/x86/arch-x86/shared/vndk-sp/android.hardware.graphics.mapper@4.0.so
+++ b/x86/arch-x86/shared/vndk-sp/android.hardware.graphics.mapper@4.0.so
Binary files differ
diff --git a/x86/arch-x86/shared/vndk-sp/android.hardware.renderscript@1.0.so b/x86/arch-x86/shared/vndk-sp/android.hardware.renderscript@1.0.so
index 62e515b..6982b8e 100755
--- a/x86/arch-x86/shared/vndk-sp/android.hardware.renderscript@1.0.so
+++ b/x86/arch-x86/shared/vndk-sp/android.hardware.renderscript@1.0.so
Binary files differ
diff --git a/x86/arch-x86/shared/vndk-sp/android.hidl.memory.token@1.0.so b/x86/arch-x86/shared/vndk-sp/android.hidl.memory.token@1.0.so
index 30ad2eb..9273f98 100755
--- a/x86/arch-x86/shared/vndk-sp/android.hidl.memory.token@1.0.so
+++ b/x86/arch-x86/shared/vndk-sp/android.hidl.memory.token@1.0.so
Binary files differ
diff --git a/x86/arch-x86/shared/vndk-sp/android.hidl.memory@1.0.so b/x86/arch-x86/shared/vndk-sp/android.hidl.memory@1.0.so
index a6f1098..3d5c166 100755
--- a/x86/arch-x86/shared/vndk-sp/android.hidl.memory@1.0.so
+++ b/x86/arch-x86/shared/vndk-sp/android.hidl.memory@1.0.so
Binary files differ
diff --git a/x86/arch-x86/shared/vndk-sp/libcutils.so b/x86/arch-x86/shared/vndk-sp/libcutils.so
index 03f947f..92006ee 100755
--- a/x86/arch-x86/shared/vndk-sp/libcutils.so
+++ b/x86/arch-x86/shared/vndk-sp/libcutils.so
Binary files differ
diff --git a/x86/arch-x86/shared/vndk-sp/libdmabufheap.so b/x86/arch-x86/shared/vndk-sp/libdmabufheap.so
index 3d2375c..b8852d4 100755
--- a/x86/arch-x86/shared/vndk-sp/libdmabufheap.so
+++ b/x86/arch-x86/shared/vndk-sp/libdmabufheap.so
Binary files differ
diff --git a/x86/arch-x86/shared/vndk-sp/libhidlbase.so b/x86/arch-x86/shared/vndk-sp/libhidlbase.so
index 1a3d37c..5f4f130 100755
--- a/x86/arch-x86/shared/vndk-sp/libhidlbase.so
+++ b/x86/arch-x86/shared/vndk-sp/libhidlbase.so
Binary files differ
diff --git a/x86/arch-x86/shared/vndk-sp/libprocessgroup.so b/x86/arch-x86/shared/vndk-sp/libprocessgroup.so
index 94fcbbb..cda9719 100755
--- a/x86/arch-x86/shared/vndk-sp/libprocessgroup.so
+++ b/x86/arch-x86/shared/vndk-sp/libprocessgroup.so
Binary files differ
diff --git a/x86/arch-x86/shared/vndk-sp/libunwindstack.so b/x86/arch-x86/shared/vndk-sp/libunwindstack.so
index d85e3f9..9c1b80e 100755
--- a/x86/arch-x86/shared/vndk-sp/libunwindstack.so
+++ b/x86/arch-x86/shared/vndk-sp/libunwindstack.so
Binary files differ
diff --git a/x86/arch-x86/shared/vndk-sp/libutils.so b/x86/arch-x86/shared/vndk-sp/libutils.so
index 70e3aa6..f1bb660 100755
--- a/x86/arch-x86/shared/vndk-sp/libutils.so
+++ b/x86/arch-x86/shared/vndk-sp/libutils.so
Binary files differ
diff --git a/x86/include/external/sqlite/dist/orig/sqlite3.h b/x86/include/external/sqlite/dist/orig/sqlite3.h
index e2965a2..755b3b3 100644
--- a/x86/include/external/sqlite/dist/orig/sqlite3.h
+++ b/x86/include/external/sqlite/dist/orig/sqlite3.h
@@ -125,7 +125,7 @@
 */
 #define SQLITE_VERSION        "3.32.2"
 #define SQLITE_VERSION_NUMBER 3032002
-#define SQLITE_SOURCE_ID      "2020-06-04 12:58:43 ec02243ea6ce33b090870ae55ab8aa2534b54d216d45c4aa2fdbb00e86861e8c"
+#define SQLITE_SOURCE_ID      "2021-07-12 15:00:17 bcd014c473794b09f61fbc0f4d9488365b023f16123b278dbbd49948c27c0fee"
 
 /*
 ** CAPI3REF: Run-Time Library Version Numbers
diff --git a/x86/include/external/sqlite/dist/sqlite3.h b/x86/include/external/sqlite/dist/sqlite3.h
index e2965a2..755b3b3 100644
--- a/x86/include/external/sqlite/dist/sqlite3.h
+++ b/x86/include/external/sqlite/dist/sqlite3.h
@@ -125,7 +125,7 @@
 */
 #define SQLITE_VERSION        "3.32.2"
 #define SQLITE_VERSION_NUMBER 3032002
-#define SQLITE_SOURCE_ID      "2020-06-04 12:58:43 ec02243ea6ce33b090870ae55ab8aa2534b54d216d45c4aa2fdbb00e86861e8c"
+#define SQLITE_SOURCE_ID      "2021-07-12 15:00:17 bcd014c473794b09f61fbc0f4d9488365b023f16123b278dbbd49948c27c0fee"
 
 /*
 ** CAPI3REF: Run-Time Library Version Numbers
diff --git a/x86/include/frameworks/av/media/libstagefright/foundation/include/media/stagefright/foundation/ColorUtils.h b/x86/include/frameworks/av/media/libstagefright/foundation/include/media/stagefright/foundation/ColorUtils.h
index 9e3f718..a2b6c4f 100644
--- a/x86/include/frameworks/av/media/libstagefright/foundation/include/media/stagefright/foundation/ColorUtils.h
+++ b/x86/include/frameworks/av/media/libstagefright/foundation/include/media/stagefright/foundation/ColorUtils.h
@@ -191,6 +191,8 @@
     static void setHDRStaticInfoIntoFormat(const HDRStaticInfo &info, sp<AMessage> &format);
     // writes |info| into format.
     static void setHDRStaticInfoIntoAMediaFormat(const HDRStaticInfo &info, AMediaFormat *format);
+    // (internal) used by the setHDRStaticInfoInfo* routines
+    static void fillHdrStaticInfoBuffer( const HDRStaticInfo &info, uint8_t *data);
 };
 
 inline static const char *asString(android::ColorUtils::ColorStandard i, const char *def = "??") {
diff --git a/x86/include/frameworks/av/media/libstagefright/include/media/stagefright/ACodec.h b/x86/include/frameworks/av/media/libstagefright/include/media/stagefright/ACodec.h
index c84cc10..632b32c 100644
--- a/x86/include/frameworks/av/media/libstagefright/include/media/stagefright/ACodec.h
+++ b/x86/include/frameworks/av/media/libstagefright/include/media/stagefright/ACodec.h
@@ -71,6 +71,9 @@
     virtual void initiateSetInputSurface(const sp<PersistentSurface> &surface);
     virtual void initiateStart();
     virtual void initiateShutdown(bool keepComponentAllocated = false);
+    virtual status_t querySupportedParameters(std::vector<std::string> *names) override;
+    virtual status_t subscribeToParameters(const std::vector<std::string> &names) override;
+    virtual status_t unsubscribeFromParameters(const std::vector<std::string> &names) override;
 
     status_t queryCapabilities(
             const char* owner, const char* name,
diff --git a/x86/include/frameworks/av/media/libstagefright/include/media/stagefright/CodecBase.h b/x86/include/frameworks/av/media/libstagefright/include/media/stagefright/CodecBase.h
index efb2f86..48721ec 100644
--- a/x86/include/frameworks/av/media/libstagefright/include/media/stagefright/CodecBase.h
+++ b/x86/include/frameworks/av/media/libstagefright/include/media/stagefright/CodecBase.h
@@ -252,9 +252,7 @@
      *         INVALID_OPERATION if already released;
      *         ERROR_UNSUPPORTED if not supported.
      */
-    virtual status_t querySupportedParameters([[maybe_unused]] std::vector<std::string> *names) {
-        return ERROR_UNSUPPORTED;
-    }
+    virtual status_t querySupportedParameters(std::vector<std::string> *names);
     /**
      * Fill |desc| with description of the parameter with |name|.
      *
@@ -267,10 +265,8 @@
      *         ERROR_UNSUPPORTED if not supported.
      */
     virtual status_t describeParameter(
-            [[maybe_unused]] const std::string &name,
-            [[maybe_unused]] CodecParameterDescriptor *desc) {
-        return ERROR_UNSUPPORTED;
-    }
+            const std::string &name,
+            CodecParameterDescriptor *desc);
     /**
      * Subscribe to parameters in |names| and get output format change event
      * when they change.
@@ -281,10 +277,7 @@
      *         INVALID_OPERATION if already released;
      *         ERROR_UNSUPPORTED if not supported.
      */
-    virtual status_t subscribeToParameters(
-            [[maybe_unused]] const std::vector<std::string> &names) {
-        return ERROR_UNSUPPORTED;
-    }
+    virtual status_t subscribeToParameters(const std::vector<std::string> &names);
     /**
      * Unsubscribe from parameters in |names| and no longer get
      * output format change event when they change.
@@ -295,10 +288,7 @@
      *         INVALID_OPERATION if already released;
      *         ERROR_UNSUPPORTED if not supported.
      */
-    virtual status_t unsubscribeFromParameters(
-            [[maybe_unused]] const std::vector<std::string> &names) {
-        return ERROR_UNSUPPORTED;
-    }
+    virtual status_t unsubscribeFromParameters(const std::vector<std::string> &names);
 
     typedef CodecBase *(*CreateCodecFunc)(void);
     typedef PersistentSurface *(*CreateInputSurfaceFunc)(void);
diff --git a/x86/include/frameworks/native/libs/binder/include/binder/IPCThreadState.h b/x86/include/frameworks/native/libs/binder/include/binder/IPCThreadState.h
index 196a41b..b401ea9 100644
--- a/x86/include/frameworks/native/libs/binder/include/binder/IPCThreadState.h
+++ b/x86/include/frameworks/native/libs/binder/include/binder/IPCThreadState.h
@@ -53,6 +53,13 @@
     // Provide information about the state of a frozen process
     static  status_t            getProcessFreezeInfo(pid_t pid, bool *sync_received,
                                                     bool *async_received);
+
+    // TODO: Remove the above legacy duplicated function in next version
+#ifndef __ANDROID_VNDK__
+    static  status_t            getProcessFreezeInfo(pid_t pid, uint32_t *sync_received,
+                                                    uint32_t *async_received);
+#endif
+
             sp<ProcessState>    process();
             
             status_t            clearLastError();
diff --git a/x86/include/frameworks/native/libs/gui/include/gui/BLASTBufferQueue.h b/x86/include/frameworks/native/libs/gui/include/gui/BLASTBufferQueue.h
index 0d6a673..6c5b2aa 100644
--- a/x86/include/frameworks/native/libs/gui/include/gui/BLASTBufferQueue.h
+++ b/x86/include/frameworks/native/libs/gui/include/gui/BLASTBufferQueue.h
@@ -62,11 +62,12 @@
     uint64_t mCurrentFrameNumber = 0;
 
     Mutex mMutex;
+    std::mutex mBufferQueueMutex;
     ConsumerFrameEventHistory mFrameEventHistory GUARDED_BY(mMutex);
     std::queue<uint64_t> mDisconnectEvents GUARDED_BY(mMutex);
     bool mCurrentlyConnected GUARDED_BY(mMutex);
     bool mPreviouslyConnected GUARDED_BY(mMutex);
-    BLASTBufferQueue* mBLASTBufferQueue GUARDED_BY(mMutex);
+    BLASTBufferQueue* mBLASTBufferQueue GUARDED_BY(mBufferQueueMutex);
 };
 
 class BLASTBufferQueue
@@ -96,7 +97,8 @@
     void setTransactionCompleteCallback(uint64_t frameNumber,
                                         std::function<void(int64_t)>&& transactionCompleteCallback);
 
-    void update(const sp<SurfaceControl>& surface, uint32_t width, uint32_t height, int32_t format);
+    void update(const sp<SurfaceControl>& surface, uint32_t width, uint32_t height, int32_t format,
+                SurfaceComposerClient::Transaction* outTransaction = nullptr);
     void flushShadowQueue() {}
 
     status_t setFrameRate(float frameRate, int8_t compatibility, bool shouldBeSeamless);
diff --git a/x86/include/frameworks/native/libs/gui/include/gui/LayerState.h b/x86/include/frameworks/native/libs/gui/include/gui/LayerState.h
index 8ac1e5d..3e57ff6 100644
--- a/x86/include/frameworks/native/libs/gui/include/gui/LayerState.h
+++ b/x86/include/frameworks/native/libs/gui/include/gui/LayerState.h
@@ -118,6 +118,7 @@
         eBlurRegionsChanged = 0x800'00000000,
         eAutoRefreshChanged = 0x1000'00000000,
         eStretchChanged = 0x2000'00000000,
+        eTrustedOverlayChanged = 0x4000'00000000,
     };
 
     layer_state_t();
@@ -126,6 +127,7 @@
     status_t write(Parcel& output) const;
     status_t read(const Parcel& input);
     bool hasBufferChanges() const;
+    bool hasValidBuffer() const;
 
     struct matrix22_t {
         float dsdx{0};
@@ -224,6 +226,10 @@
     // in shared buffer mode.
     bool autoRefresh;
 
+    // An inherited state that indicates that this surface control and its children
+    // should be trusted for input occlusion detection purposes
+    bool isTrustedOverlay;
+
     // Stretch effect to be applied to this layer
     StretchEffect stretchEffect;
 
diff --git a/x86/include/frameworks/native/libs/gui/include/gui/Surface.h b/x86/include/frameworks/native/libs/gui/include/gui/Surface.h
index 7e4143b..e540351 100644
--- a/x86/include/frameworks/native/libs/gui/include/gui/Surface.h
+++ b/x86/include/frameworks/native/libs/gui/include/gui/Surface.h
@@ -99,7 +99,7 @@
      */
     sp<IGraphicBufferProducer> getIGraphicBufferProducer() const;
 
-    sp<IBinder> getSurfaceControlHandle() const { return mSurfaceControlHandle; }
+    sp<IBinder> getSurfaceControlHandle() const;
 
     /* convenience function to check that the given surface is non NULL as
      * well as its IGraphicBufferProducer */
@@ -333,6 +333,7 @@
     virtual int connect(
             int api, bool reportBufferRemoval,
             const sp<SurfaceListener>& sListener);
+    virtual void destroy();
 
     // When client connects to Surface with reportBufferRemoval set to true, any buffers removed
     // from this Surface will be collected and returned here. Once this method returns, these
diff --git a/x86/include/frameworks/native/libs/gui/include/gui/SurfaceComposerClient.h b/x86/include/frameworks/native/libs/gui/include/gui/SurfaceComposerClient.h
index c2963b5..baa0567 100644
--- a/x86/include/frameworks/native/libs/gui/include/gui/SurfaceComposerClient.h
+++ b/x86/include/frameworks/native/libs/gui/include/gui/SurfaceComposerClient.h
@@ -537,6 +537,9 @@
         // in shared buffer mode.
         Transaction& setAutoRefresh(const sp<SurfaceControl>& sc, bool autoRefresh);
 
+        // Sets that this surface control and its children are trusted overlays for input
+        Transaction& setTrustedOverlay(const sp<SurfaceControl>& sc, bool isTrustedOverlay);
+
         // Queues up transactions using this token in SurfaceFlinger.  By default, all transactions
         // from a client are placed on the same queue. This can be used to prevent multiple
         // transactions from blocking each other.
diff --git a/x86/include/frameworks/native/libs/ui/include/ui/Transform.h b/x86/include/frameworks/native/libs/ui/include/ui/Transform.h
index a197b3b..33fbe05 100644
--- a/x86/include/frameworks/native/libs/ui/include/ui/Transform.h
+++ b/x86/include/frameworks/native/libs/ui/include/ui/Transform.h
@@ -112,6 +112,7 @@
     void dump(const char* name, const char* prefix = "") const;
 
     static constexpr RotationFlags toRotationFlags(Rotation);
+    static constexpr Rotation toRotation(RotationFlags);
 
 private:
     struct mat33 {
@@ -151,5 +152,20 @@
     }
 }
 
+inline constexpr Rotation Transform::toRotation(Transform::RotationFlags rotationFlags) {
+    switch (rotationFlags) {
+        case ROT_0:
+            return ROTATION_0;
+        case ROT_90:
+            return ROTATION_90;
+        case ROT_180:
+            return ROTATION_180;
+        case ROT_270:
+            return ROTATION_270;
+        default:
+            return ROTATION_0;
+    }
+}
+
 }  // namespace ui
 }  // namespace android
diff --git a/x86/include/frameworks/native/libs/ui/include_vndk/ui/Transform.h b/x86/include/frameworks/native/libs/ui/include_vndk/ui/Transform.h
index a197b3b..33fbe05 100644
--- a/x86/include/frameworks/native/libs/ui/include_vndk/ui/Transform.h
+++ b/x86/include/frameworks/native/libs/ui/include_vndk/ui/Transform.h
@@ -112,6 +112,7 @@
     void dump(const char* name, const char* prefix = "") const;
 
     static constexpr RotationFlags toRotationFlags(Rotation);
+    static constexpr Rotation toRotation(RotationFlags);
 
 private:
     struct mat33 {
@@ -151,5 +152,20 @@
     }
 }
 
+inline constexpr Rotation Transform::toRotation(Transform::RotationFlags rotationFlags) {
+    switch (rotationFlags) {
+        case ROT_0:
+            return ROTATION_0;
+        case ROT_90:
+            return ROTATION_90;
+        case ROT_180:
+            return ROTATION_180;
+        case ROT_270:
+            return ROTATION_270;
+        default:
+            return ROTATION_0;
+    }
+}
+
 }  // namespace ui
 }  // namespace android
diff --git a/x86/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/DriverMonitoringDetection.h b/x86/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/DriverMonitoringDetection.h
index b1448e1..fccf0a1 100644
--- a/x86/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/DriverMonitoringDetection.h
+++ b/x86/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/DriverMonitoringDetection.h
@@ -21,7 +21,7 @@
   typedef std::false_type fixed_size;
   static const char* descriptor;
 
-  ::aidl::android::hardware::automotive::occupant_awareness::ConfidenceLevel confidenceScore;
+  ::aidl::android::hardware::automotive::occupant_awareness::ConfidenceLevel confidenceScore = ::aidl::android::hardware::automotive::occupant_awareness::ConfidenceLevel(0);
   bool isLookingOnRoad = false;
   int64_t gazeDurationMillis = 0L;
 
diff --git a/x86/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/GazeDetection.h b/x86/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/GazeDetection.h
index 7d40e47..d62114c 100644
--- a/x86/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/GazeDetection.h
+++ b/x86/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/GazeDetection.h
@@ -22,11 +22,11 @@
   typedef std::false_type fixed_size;
   static const char* descriptor;
 
-  ::aidl::android::hardware::automotive::occupant_awareness::ConfidenceLevel gazeConfidence;
+  ::aidl::android::hardware::automotive::occupant_awareness::ConfidenceLevel gazeConfidence = ::aidl::android::hardware::automotive::occupant_awareness::ConfidenceLevel(0);
   std::vector<double> headPosition;
   std::vector<double> headAngleUnitVector;
   std::vector<double> gazeAngleUnitVector;
-  ::aidl::android::hardware::automotive::occupant_awareness::VehicleRegion gazeTarget;
+  ::aidl::android::hardware::automotive::occupant_awareness::VehicleRegion gazeTarget = ::aidl::android::hardware::automotive::occupant_awareness::VehicleRegion(0);
   std::string customGazeTarget;
   int64_t timeOnTargetMillis = 0L;
 
diff --git a/x86/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/OccupantDetection.h b/x86/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/OccupantDetection.h
index e5c9a8d..3ce2e33 100644
--- a/x86/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/OccupantDetection.h
+++ b/x86/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/OccupantDetection.h
@@ -24,7 +24,7 @@
   typedef std::false_type fixed_size;
   static const char* descriptor;
 
-  ::aidl::android::hardware::automotive::occupant_awareness::Role role;
+  ::aidl::android::hardware::automotive::occupant_awareness::Role role = ::aidl::android::hardware::automotive::occupant_awareness::Role(0);
   std::vector<::aidl::android::hardware::automotive::occupant_awareness::PresenceDetection> presenceData;
   std::vector<::aidl::android::hardware::automotive::occupant_awareness::GazeDetection> gazeData;
   std::vector<::aidl::android::hardware::automotive::occupant_awareness::DriverMonitoringDetection> attentionData;
diff --git a/x86/include/out/soong/.intermediates/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLight.h b/x86/include/out/soong/.intermediates/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLight.h
index a760f09..574f1ac 100644
--- a/x86/include/out/soong/.intermediates/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLight.h
+++ b/x86/include/out/soong/.intermediates/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLight.h
@@ -22,7 +22,7 @@
 
   int32_t id = 0;
   int32_t ordinal = 0;
-  ::aidl::android::hardware::light::LightType type;
+  ::aidl::android::hardware::light::LightType type = ::aidl::android::hardware::light::LightType(0);
 
   binder_status_t readFromParcel(const AParcel* parcel);
   binder_status_t writeToParcel(AParcel* parcel) const;
diff --git a/x86/include/out/soong/.intermediates/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLightState.h b/x86/include/out/soong/.intermediates/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLightState.h
index ccbe14e..f32738c 100644
--- a/x86/include/out/soong/.intermediates/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLightState.h
+++ b/x86/include/out/soong/.intermediates/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLightState.h
@@ -22,10 +22,10 @@
   static const char* descriptor;
 
   int32_t color = 0;
-  ::aidl::android::hardware::light::FlashMode flashMode;
+  ::aidl::android::hardware::light::FlashMode flashMode = ::aidl::android::hardware::light::FlashMode(0);
   int32_t flashOnMs = 0;
   int32_t flashOffMs = 0;
-  ::aidl::android::hardware::light::BrightnessMode brightnessMode;
+  ::aidl::android::hardware::light::BrightnessMode brightnessMode = ::aidl::android::hardware::light::BrightnessMode(0);
 
   binder_status_t readFromParcel(const AParcel* parcel);
   binder_status_t writeToParcel(AParcel* parcel) const;
diff --git a/x86/include/out/soong/.intermediates/hardware/interfaces/vibrator/aidl/android.hardware.vibrator-V2-ndk_platform-source/gen/include/aidl/android/hardware/vibrator/BrakingPwle.h b/x86/include/out/soong/.intermediates/hardware/interfaces/vibrator/aidl/android.hardware.vibrator-V2-ndk_platform-source/gen/include/aidl/android/hardware/vibrator/BrakingPwle.h
index 2f0b1c8..1a1b7bb 100644
--- a/x86/include/out/soong/.intermediates/hardware/interfaces/vibrator/aidl/android.hardware.vibrator-V2-ndk_platform-source/gen/include/aidl/android/hardware/vibrator/BrakingPwle.h
+++ b/x86/include/out/soong/.intermediates/hardware/interfaces/vibrator/aidl/android.hardware.vibrator-V2-ndk_platform-source/gen/include/aidl/android/hardware/vibrator/BrakingPwle.h
@@ -20,7 +20,7 @@
   typedef std::false_type fixed_size;
   static const char* descriptor;
 
-  ::aidl::android::hardware::vibrator::Braking braking;
+  ::aidl::android::hardware::vibrator::Braking braking = ::aidl::android::hardware::vibrator::Braking(0);
   int32_t duration = 0;
 
   binder_status_t readFromParcel(const AParcel* parcel);
diff --git a/x86/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/AuthenticatorSpec.h b/x86/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/AuthenticatorSpec.h
index f5aeafc..4d2fa40 100644
--- a/x86/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/AuthenticatorSpec.h
+++ b/x86/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/AuthenticatorSpec.h
@@ -20,7 +20,7 @@
   typedef std::false_type fixed_size;
   static const char* descriptor;
 
-  ::aidl::android::hardware::security::keymint::HardwareAuthenticatorType authenticatorType;
+  ::aidl::android::hardware::security::keymint::HardwareAuthenticatorType authenticatorType = ::aidl::android::hardware::security::keymint::HardwareAuthenticatorType(0);
   int64_t authenticatorId = 0L;
 
   binder_status_t readFromParcel(const AParcel* parcel);
diff --git a/x86/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/Authorization.h b/x86/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/Authorization.h
index 7a81600..17ebd2f 100644
--- a/x86/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/Authorization.h
+++ b/x86/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/Authorization.h
@@ -21,7 +21,7 @@
   typedef std::false_type fixed_size;
   static const char* descriptor;
 
-  ::aidl::android::hardware::security::keymint::SecurityLevel securityLevel;
+  ::aidl::android::hardware::security::keymint::SecurityLevel securityLevel = ::aidl::android::hardware::security::keymint::SecurityLevel(0);
   ::aidl::android::hardware::security::keymint::KeyParameter keyParameter;
 
   binder_status_t readFromParcel(const AParcel* parcel);
diff --git a/x86/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyDescriptor.h b/x86/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyDescriptor.h
index 9d94a88..f0d4882 100644
--- a/x86/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyDescriptor.h
+++ b/x86/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyDescriptor.h
@@ -20,7 +20,7 @@
   typedef std::false_type fixed_size;
   static const char* descriptor;
 
-  ::aidl::android::system::keystore2::Domain domain;
+  ::aidl::android::system::keystore2::Domain domain = ::aidl::android::system::keystore2::Domain(0);
   int64_t nspace = 0L;
   std::optional<std::string> alias;
   std::optional<std::vector<uint8_t>> blob;
diff --git a/x86/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyMetadata.h b/x86/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyMetadata.h
index 168b720..ac664f4 100644
--- a/x86/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyMetadata.h
+++ b/x86/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyMetadata.h
@@ -23,7 +23,7 @@
   static const char* descriptor;
 
   ::aidl::android::system::keystore2::KeyDescriptor key;
-  ::aidl::android::hardware::security::keymint::SecurityLevel keySecurityLevel;
+  ::aidl::android::hardware::security::keymint::SecurityLevel keySecurityLevel = ::aidl::android::hardware::security::keymint::SecurityLevel(0);
   std::vector<::aidl::android::system::keystore2::Authorization> authorizations;
   std::optional<std::vector<uint8_t>> certificate;
   std::optional<std::vector<uint8_t>> certificateChain;
diff --git a/x86/include/packages/modules/NeuralNetworks/runtime/include/NeuralNetworks.h b/x86/include/packages/modules/NeuralNetworks/runtime/include/NeuralNetworks.h
index 446d99b..a6a10d0 100644
--- a/x86/include/packages/modules/NeuralNetworks/runtime/include/NeuralNetworks.h
+++ b/x86/include/packages/modules/NeuralNetworks/runtime/include/NeuralNetworks.h
@@ -59,11 +59,8 @@
 #define __NNAPI_INTRODUCED_IN(x) __INTRODUCED_IN(x)
 #endif
 
-// TODO: replace __ANDROID_API_FUTURE__with 31 when it's official (b/178144708)
-// This is required for __builtin_available guards around functionality
-// introduced in FL5/API31.
 #ifndef __NNAPI_FL5_MIN_ANDROID_API__
-#define __NNAPI_FL5_MIN_ANDROID_API__ __ANDROID_API_FUTURE__
+#define __NNAPI_FL5_MIN_ANDROID_API__ __ANDROID_API_S__
 #endif
 
 __BEGIN_DECLS
diff --git a/x86/include/system/core/libcutils/include/cutils/trace.h b/x86/include/system/core/libcutils/include/cutils/trace.h
index ef426ff..24c6ae6 100644
--- a/x86/include/system/core/libcutils/include/cutils/trace.h
+++ b/x86/include/system/core/libcutils/include/cutils/trace.h
@@ -75,8 +75,7 @@
 #define ATRACE_TAG_AIDL             (1<<24)
 #define ATRACE_TAG_NNAPI            (1<<25)
 #define ATRACE_TAG_RRO              (1<<26)
-#define ATRACE_TAG_SYSPROP          (1<<27)
-#define ATRACE_TAG_LAST             ATRACE_TAG_SYSPROP
+#define ATRACE_TAG_LAST             ATRACE_TAG_RRO
 
 // Reserved for initialization.
 #define ATRACE_TAG_NOT_READY        (1ULL<<63)
diff --git a/x86/include/system/core/libcutils/include_outside_system/cutils/trace.h b/x86/include/system/core/libcutils/include_outside_system/cutils/trace.h
index ef426ff..24c6ae6 100644
--- a/x86/include/system/core/libcutils/include_outside_system/cutils/trace.h
+++ b/x86/include/system/core/libcutils/include_outside_system/cutils/trace.h
@@ -75,8 +75,7 @@
 #define ATRACE_TAG_AIDL             (1<<24)
 #define ATRACE_TAG_NNAPI            (1<<25)
 #define ATRACE_TAG_RRO              (1<<26)
-#define ATRACE_TAG_SYSPROP          (1<<27)
-#define ATRACE_TAG_LAST             ATRACE_TAG_SYSPROP
+#define ATRACE_TAG_LAST             ATRACE_TAG_RRO
 
 // Reserved for initialization.
 #define ATRACE_TAG_NOT_READY        (1ULL<<63)
diff --git a/x86/include/system/media/camera/include/system/camera_metadata_tags.h b/x86/include/system/media/camera/include/system/camera_metadata_tags.h
index 9c8b041..68b4367 100644
--- a/x86/include/system/media/camera/include/system/camera_metadata_tags.h
+++ b/x86/include/system/media/camera/include/system/camera_metadata_tags.h
@@ -183,6 +183,9 @@
     ANDROID_CONTROL_ZOOM_RATIO,                       // float        | public       | HIDL v3.5
     ANDROID_CONTROL_AVAILABLE_HIGH_SPEED_VIDEO_CONFIGURATIONS_MAXIMUM_RESOLUTION,
                                                       // int32[]      | hidden       | HIDL v3.6
+    ANDROID_CONTROL_AF_REGIONS_SET,                   // enum         | fwk_only
+    ANDROID_CONTROL_AE_REGIONS_SET,                   // enum         | fwk_only
+    ANDROID_CONTROL_AWB_REGIONS_SET,                  // enum         | fwk_only
     ANDROID_CONTROL_END,
 
     ANDROID_DEMOSAIC_MODE =                           // enum         | system       | HIDL v3.2
@@ -330,6 +333,7 @@
     ANDROID_SCALER_AVAILABLE_INPUT_OUTPUT_FORMATS_MAP_MAXIMUM_RESOLUTION,
                                                       // int32        | hidden       | HIDL v3.6
     ANDROID_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED, // enum         | ndk_public   | HIDL v3.6
+    ANDROID_SCALER_CROP_REGION_SET,                   // enum         | fwk_only
     ANDROID_SCALER_END,
 
     ANDROID_SENSOR_EXPOSURE_TIME =                    // int64        | public       | HIDL v3.2
@@ -745,6 +749,24 @@
     ANDROID_CONTROL_EXTENDED_SCENE_MODE_VENDOR_START                 = 0x40, // HIDL v3.5
 } camera_metadata_enum_android_control_extended_scene_mode_t;
 
+// ANDROID_CONTROL_AF_REGIONS_SET
+typedef enum camera_metadata_enum_android_control_af_regions_set {
+    ANDROID_CONTROL_AF_REGIONS_SET_FALSE                            ,
+    ANDROID_CONTROL_AF_REGIONS_SET_TRUE                             ,
+} camera_metadata_enum_android_control_af_regions_set_t;
+
+// ANDROID_CONTROL_AE_REGIONS_SET
+typedef enum camera_metadata_enum_android_control_ae_regions_set {
+    ANDROID_CONTROL_AE_REGIONS_SET_FALSE                            ,
+    ANDROID_CONTROL_AE_REGIONS_SET_TRUE                             ,
+} camera_metadata_enum_android_control_ae_regions_set_t;
+
+// ANDROID_CONTROL_AWB_REGIONS_SET
+typedef enum camera_metadata_enum_android_control_awb_regions_set {
+    ANDROID_CONTROL_AWB_REGIONS_SET_FALSE                           ,
+    ANDROID_CONTROL_AWB_REGIONS_SET_TRUE                            ,
+} camera_metadata_enum_android_control_awb_regions_set_t;
+
 
 // ANDROID_DEMOSAIC_MODE
 typedef enum camera_metadata_enum_android_demosaic_mode {
@@ -961,6 +983,12 @@
     ANDROID_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED_TRUE           , // HIDL v3.6
 } camera_metadata_enum_android_scaler_multi_resolution_stream_supported_t;
 
+// ANDROID_SCALER_CROP_REGION_SET
+typedef enum camera_metadata_enum_android_scaler_crop_region_set {
+    ANDROID_SCALER_CROP_REGION_SET_FALSE                            ,
+    ANDROID_SCALER_CROP_REGION_SET_TRUE                             ,
+} camera_metadata_enum_android_scaler_crop_region_set_t;
+
 
 // ANDROID_SENSOR_REFERENCE_ILLUMINANT1
 typedef enum camera_metadata_enum_android_sensor_reference_illuminant1 {
diff --git a/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.automotive.occupant_awareness-V1-ndk_platform.so b/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.automotive.occupant_awareness-V1-ndk_platform.so
index 9217e64..e9f4b36 100755
--- a/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.automotive.occupant_awareness-V1-ndk_platform.so
+++ b/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.automotive.occupant_awareness-V1-ndk_platform.so
Binary files differ
diff --git a/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.configstore@1.0.so b/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.configstore@1.0.so
index 4185c94..bee6464 100755
--- a/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.configstore@1.0.so
+++ b/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.configstore@1.0.so
Binary files differ
diff --git a/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.configstore@1.1.so b/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.configstore@1.1.so
index f21f712..7b7213c 100755
--- a/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.configstore@1.1.so
+++ b/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.configstore@1.1.so
Binary files differ
diff --git a/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.graphics.allocator@2.0.so b/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.graphics.allocator@2.0.so
index a9a8715..12de86a 100755
--- a/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.graphics.allocator@2.0.so
+++ b/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.graphics.allocator@2.0.so
Binary files differ
diff --git a/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.graphics.allocator@3.0.so b/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.graphics.allocator@3.0.so
index c652ef3..b67a905 100755
--- a/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.graphics.allocator@3.0.so
+++ b/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.graphics.allocator@3.0.so
Binary files differ
diff --git a/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.graphics.allocator@4.0.so b/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.graphics.allocator@4.0.so
index e38503c..9806db8 100755
--- a/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.graphics.allocator@4.0.so
+++ b/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.graphics.allocator@4.0.so
Binary files differ
diff --git a/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.graphics.bufferqueue@1.0.so b/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.graphics.bufferqueue@1.0.so
index 356ab26..da27753 100755
--- a/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.graphics.bufferqueue@1.0.so
+++ b/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.graphics.bufferqueue@1.0.so
Binary files differ
diff --git a/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.graphics.bufferqueue@2.0.so b/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.graphics.bufferqueue@2.0.so
index b5964c9..286a368 100755
--- a/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.graphics.bufferqueue@2.0.so
+++ b/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.graphics.bufferqueue@2.0.so
Binary files differ
diff --git a/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.media.bufferpool@2.0.so b/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.media.bufferpool@2.0.so
index 07faffc..4c400a8 100755
--- a/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.media.bufferpool@2.0.so
+++ b/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.media.bufferpool@2.0.so
Binary files differ
diff --git a/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.media.omx@1.0.so b/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.media.omx@1.0.so
index 6f41dd5..b7912f7 100755
--- a/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.media.omx@1.0.so
+++ b/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.media.omx@1.0.so
Binary files differ
diff --git a/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.memtrack@1.0.so b/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.memtrack@1.0.so
index 9584c47..48e0dd8 100755
--- a/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.memtrack@1.0.so
+++ b/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.memtrack@1.0.so
Binary files differ
diff --git a/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.soundtrigger@2.0.so b/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.soundtrigger@2.0.so
index 2e42175..4083ace 100755
--- a/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.soundtrigger@2.0.so
+++ b/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.soundtrigger@2.0.so
Binary files differ
diff --git a/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.vibrator-V2-ndk_platform.so b/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.vibrator-V2-ndk_platform.so
index 226c775..a6e2ab8 100755
--- a/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.vibrator-V2-ndk_platform.so
+++ b/x86_64/arch-x86-x86_64/shared/vndk-core/android.hardware.vibrator-V2-ndk_platform.so
Binary files differ
diff --git a/x86_64/arch-x86-x86_64/shared/vndk-core/android.hidl.token@1.0.so b/x86_64/arch-x86-x86_64/shared/vndk-core/android.hidl.token@1.0.so
index ac80b4e..db0bf63 100755
--- a/x86_64/arch-x86-x86_64/shared/vndk-core/android.hidl.token@1.0.so
+++ b/x86_64/arch-x86-x86_64/shared/vndk-core/android.hidl.token@1.0.so
Binary files differ
diff --git a/x86_64/arch-x86-x86_64/shared/vndk-core/android.system.keystore2-V1-ndk_platform.so b/x86_64/arch-x86-x86_64/shared/vndk-core/android.system.keystore2-V1-ndk_platform.so
index b7d0759..befafd4 100755
--- a/x86_64/arch-x86-x86_64/shared/vndk-core/android.system.keystore2-V1-ndk_platform.so
+++ b/x86_64/arch-x86-x86_64/shared/vndk-core/android.system.keystore2-V1-ndk_platform.so
Binary files differ
diff --git a/x86_64/arch-x86-x86_64/shared/vndk-core/android.system.suspend@1.0.so b/x86_64/arch-x86-x86_64/shared/vndk-core/android.system.suspend@1.0.so
index 47611e0..77c1ded 100755
--- a/x86_64/arch-x86-x86_64/shared/vndk-core/android.system.suspend@1.0.so
+++ b/x86_64/arch-x86-x86_64/shared/vndk-core/android.system.suspend@1.0.so
Binary files differ
diff --git a/x86_64/arch-x86-x86_64/shared/vndk-core/libbinder.so b/x86_64/arch-x86-x86_64/shared/vndk-core/libbinder.so
index 37ae267..5c97683 100755
--- a/x86_64/arch-x86-x86_64/shared/vndk-core/libbinder.so
+++ b/x86_64/arch-x86-x86_64/shared/vndk-core/libbinder.so
Binary files differ
diff --git a/x86_64/arch-x86-x86_64/shared/vndk-core/libcamera_metadata.so b/x86_64/arch-x86-x86_64/shared/vndk-core/libcamera_metadata.so
index c49650a..e11ff26 100755
--- a/x86_64/arch-x86-x86_64/shared/vndk-core/libcamera_metadata.so
+++ b/x86_64/arch-x86-x86_64/shared/vndk-core/libcamera_metadata.so
Binary files differ
diff --git a/x86_64/arch-x86-x86_64/shared/vndk-core/libgui.so b/x86_64/arch-x86-x86_64/shared/vndk-core/libgui.so
index 70b13bf..726d473 100755
--- a/x86_64/arch-x86-x86_64/shared/vndk-core/libgui.so
+++ b/x86_64/arch-x86-x86_64/shared/vndk-core/libgui.so
Binary files differ
diff --git a/x86_64/arch-x86-x86_64/shared/vndk-core/libhardware_legacy.so b/x86_64/arch-x86-x86_64/shared/vndk-core/libhardware_legacy.so
index 144a8f8..f6fb828 100755
--- a/x86_64/arch-x86-x86_64/shared/vndk-core/libhardware_legacy.so
+++ b/x86_64/arch-x86-x86_64/shared/vndk-core/libhardware_legacy.so
Binary files differ
diff --git a/x86_64/arch-x86-x86_64/shared/vndk-core/libpower.so b/x86_64/arch-x86-x86_64/shared/vndk-core/libpower.so
index 6b874b6..13e0e56 100755
--- a/x86_64/arch-x86-x86_64/shared/vndk-core/libpower.so
+++ b/x86_64/arch-x86-x86_64/shared/vndk-core/libpower.so
Binary files differ
diff --git a/x86_64/arch-x86-x86_64/shared/vndk-core/libsqlite.so b/x86_64/arch-x86-x86_64/shared/vndk-core/libsqlite.so
index 196af76..04ab26a 100755
--- a/x86_64/arch-x86-x86_64/shared/vndk-core/libsqlite.so
+++ b/x86_64/arch-x86-x86_64/shared/vndk-core/libsqlite.so
Binary files differ
diff --git a/x86_64/arch-x86-x86_64/shared/vndk-core/libstagefright_bufferqueue_helper.so b/x86_64/arch-x86-x86_64/shared/vndk-core/libstagefright_bufferqueue_helper.so
index 79752bc..a1fc8c6 100755
--- a/x86_64/arch-x86-x86_64/shared/vndk-core/libstagefright_bufferqueue_helper.so
+++ b/x86_64/arch-x86-x86_64/shared/vndk-core/libstagefright_bufferqueue_helper.so
Binary files differ
diff --git a/x86_64/arch-x86-x86_64/shared/vndk-core/libstagefright_foundation.so b/x86_64/arch-x86-x86_64/shared/vndk-core/libstagefright_foundation.so
index 214c957..6975c36 100755
--- a/x86_64/arch-x86-x86_64/shared/vndk-core/libstagefright_foundation.so
+++ b/x86_64/arch-x86-x86_64/shared/vndk-core/libstagefright_foundation.so
Binary files differ
diff --git a/x86_64/arch-x86-x86_64/shared/vndk-core/libui.so b/x86_64/arch-x86-x86_64/shared/vndk-core/libui.so
index d60a3d7..d0e0885 100755
--- a/x86_64/arch-x86-x86_64/shared/vndk-core/libui.so
+++ b/x86_64/arch-x86-x86_64/shared/vndk-core/libui.so
Binary files differ
diff --git a/x86_64/arch-x86-x86_64/shared/vndk-sp/android.hardware.graphics.mapper@2.0.so b/x86_64/arch-x86-x86_64/shared/vndk-sp/android.hardware.graphics.mapper@2.0.so
index 7b73bf6..1e161f3 100755
--- a/x86_64/arch-x86-x86_64/shared/vndk-sp/android.hardware.graphics.mapper@2.0.so
+++ b/x86_64/arch-x86-x86_64/shared/vndk-sp/android.hardware.graphics.mapper@2.0.so
Binary files differ
diff --git a/x86_64/arch-x86-x86_64/shared/vndk-sp/android.hardware.graphics.mapper@2.1.so b/x86_64/arch-x86-x86_64/shared/vndk-sp/android.hardware.graphics.mapper@2.1.so
index a1db092..c36166c 100755
--- a/x86_64/arch-x86-x86_64/shared/vndk-sp/android.hardware.graphics.mapper@2.1.so
+++ b/x86_64/arch-x86-x86_64/shared/vndk-sp/android.hardware.graphics.mapper@2.1.so
Binary files differ
diff --git a/x86_64/arch-x86-x86_64/shared/vndk-sp/android.hardware.graphics.mapper@3.0.so b/x86_64/arch-x86-x86_64/shared/vndk-sp/android.hardware.graphics.mapper@3.0.so
index 2473767..6b9b9d2 100755
--- a/x86_64/arch-x86-x86_64/shared/vndk-sp/android.hardware.graphics.mapper@3.0.so
+++ b/x86_64/arch-x86-x86_64/shared/vndk-sp/android.hardware.graphics.mapper@3.0.so
Binary files differ
diff --git a/x86_64/arch-x86-x86_64/shared/vndk-sp/android.hardware.graphics.mapper@4.0.so b/x86_64/arch-x86-x86_64/shared/vndk-sp/android.hardware.graphics.mapper@4.0.so
index aed6820..4dc9d13 100755
--- a/x86_64/arch-x86-x86_64/shared/vndk-sp/android.hardware.graphics.mapper@4.0.so
+++ b/x86_64/arch-x86-x86_64/shared/vndk-sp/android.hardware.graphics.mapper@4.0.so
Binary files differ
diff --git a/x86_64/arch-x86-x86_64/shared/vndk-sp/android.hardware.renderscript@1.0.so b/x86_64/arch-x86-x86_64/shared/vndk-sp/android.hardware.renderscript@1.0.so
index a24826d..96d03bc 100755
--- a/x86_64/arch-x86-x86_64/shared/vndk-sp/android.hardware.renderscript@1.0.so
+++ b/x86_64/arch-x86-x86_64/shared/vndk-sp/android.hardware.renderscript@1.0.so
Binary files differ
diff --git a/x86_64/arch-x86-x86_64/shared/vndk-sp/android.hidl.memory.token@1.0.so b/x86_64/arch-x86-x86_64/shared/vndk-sp/android.hidl.memory.token@1.0.so
index 4615682..0405811 100755
--- a/x86_64/arch-x86-x86_64/shared/vndk-sp/android.hidl.memory.token@1.0.so
+++ b/x86_64/arch-x86-x86_64/shared/vndk-sp/android.hidl.memory.token@1.0.so
Binary files differ
diff --git a/x86_64/arch-x86-x86_64/shared/vndk-sp/android.hidl.memory@1.0.so b/x86_64/arch-x86-x86_64/shared/vndk-sp/android.hidl.memory@1.0.so
index 6f79c72..1312aea 100755
--- a/x86_64/arch-x86-x86_64/shared/vndk-sp/android.hidl.memory@1.0.so
+++ b/x86_64/arch-x86-x86_64/shared/vndk-sp/android.hidl.memory@1.0.so
Binary files differ
diff --git a/x86_64/arch-x86-x86_64/shared/vndk-sp/libcutils.so b/x86_64/arch-x86-x86_64/shared/vndk-sp/libcutils.so
index a82ad61..855e19f 100755
--- a/x86_64/arch-x86-x86_64/shared/vndk-sp/libcutils.so
+++ b/x86_64/arch-x86-x86_64/shared/vndk-sp/libcutils.so
Binary files differ
diff --git a/x86_64/arch-x86-x86_64/shared/vndk-sp/libdmabufheap.so b/x86_64/arch-x86-x86_64/shared/vndk-sp/libdmabufheap.so
index 56a4da5..76c8604 100755
--- a/x86_64/arch-x86-x86_64/shared/vndk-sp/libdmabufheap.so
+++ b/x86_64/arch-x86-x86_64/shared/vndk-sp/libdmabufheap.so
Binary files differ
diff --git a/x86_64/arch-x86-x86_64/shared/vndk-sp/libhidlbase.so b/x86_64/arch-x86-x86_64/shared/vndk-sp/libhidlbase.so
index aee6a12..d8bf898 100755
--- a/x86_64/arch-x86-x86_64/shared/vndk-sp/libhidlbase.so
+++ b/x86_64/arch-x86-x86_64/shared/vndk-sp/libhidlbase.so
Binary files differ
diff --git a/x86_64/arch-x86-x86_64/shared/vndk-sp/libprocessgroup.so b/x86_64/arch-x86-x86_64/shared/vndk-sp/libprocessgroup.so
index 27d8654..9fa3f17 100755
--- a/x86_64/arch-x86-x86_64/shared/vndk-sp/libprocessgroup.so
+++ b/x86_64/arch-x86-x86_64/shared/vndk-sp/libprocessgroup.so
Binary files differ
diff --git a/x86_64/arch-x86-x86_64/shared/vndk-sp/libunwindstack.so b/x86_64/arch-x86-x86_64/shared/vndk-sp/libunwindstack.so
index c9ab249..165ef7c 100755
--- a/x86_64/arch-x86-x86_64/shared/vndk-sp/libunwindstack.so
+++ b/x86_64/arch-x86-x86_64/shared/vndk-sp/libunwindstack.so
Binary files differ
diff --git a/x86_64/arch-x86-x86_64/shared/vndk-sp/libutils.so b/x86_64/arch-x86-x86_64/shared/vndk-sp/libutils.so
index 63a770f..05a66b8 100755
--- a/x86_64/arch-x86-x86_64/shared/vndk-sp/libutils.so
+++ b/x86_64/arch-x86-x86_64/shared/vndk-sp/libutils.so
Binary files differ
diff --git a/x86_64/arch-x86_64/shared/vndk-core/android.hardware.automotive.occupant_awareness-V1-ndk_platform.so b/x86_64/arch-x86_64/shared/vndk-core/android.hardware.automotive.occupant_awareness-V1-ndk_platform.so
index eff6997..4af390b 100755
--- a/x86_64/arch-x86_64/shared/vndk-core/android.hardware.automotive.occupant_awareness-V1-ndk_platform.so
+++ b/x86_64/arch-x86_64/shared/vndk-core/android.hardware.automotive.occupant_awareness-V1-ndk_platform.so
Binary files differ
diff --git a/x86_64/arch-x86_64/shared/vndk-core/android.hardware.configstore@1.0.so b/x86_64/arch-x86_64/shared/vndk-core/android.hardware.configstore@1.0.so
index 6ab025e..0dee2b2 100755
--- a/x86_64/arch-x86_64/shared/vndk-core/android.hardware.configstore@1.0.so
+++ b/x86_64/arch-x86_64/shared/vndk-core/android.hardware.configstore@1.0.so
Binary files differ
diff --git a/x86_64/arch-x86_64/shared/vndk-core/android.hardware.configstore@1.1.so b/x86_64/arch-x86_64/shared/vndk-core/android.hardware.configstore@1.1.so
index 725e91e..46d0301 100755
--- a/x86_64/arch-x86_64/shared/vndk-core/android.hardware.configstore@1.1.so
+++ b/x86_64/arch-x86_64/shared/vndk-core/android.hardware.configstore@1.1.so
Binary files differ
diff --git a/x86_64/arch-x86_64/shared/vndk-core/android.hardware.graphics.allocator@2.0.so b/x86_64/arch-x86_64/shared/vndk-core/android.hardware.graphics.allocator@2.0.so
index fd87354..2b0e5a0 100755
--- a/x86_64/arch-x86_64/shared/vndk-core/android.hardware.graphics.allocator@2.0.so
+++ b/x86_64/arch-x86_64/shared/vndk-core/android.hardware.graphics.allocator@2.0.so
Binary files differ
diff --git a/x86_64/arch-x86_64/shared/vndk-core/android.hardware.graphics.allocator@3.0.so b/x86_64/arch-x86_64/shared/vndk-core/android.hardware.graphics.allocator@3.0.so
index 938bf74..0de5293 100755
--- a/x86_64/arch-x86_64/shared/vndk-core/android.hardware.graphics.allocator@3.0.so
+++ b/x86_64/arch-x86_64/shared/vndk-core/android.hardware.graphics.allocator@3.0.so
Binary files differ
diff --git a/x86_64/arch-x86_64/shared/vndk-core/android.hardware.graphics.allocator@4.0.so b/x86_64/arch-x86_64/shared/vndk-core/android.hardware.graphics.allocator@4.0.so
index 425ef16..35d4db9 100755
--- a/x86_64/arch-x86_64/shared/vndk-core/android.hardware.graphics.allocator@4.0.so
+++ b/x86_64/arch-x86_64/shared/vndk-core/android.hardware.graphics.allocator@4.0.so
Binary files differ
diff --git a/x86_64/arch-x86_64/shared/vndk-core/android.hardware.graphics.bufferqueue@1.0.so b/x86_64/arch-x86_64/shared/vndk-core/android.hardware.graphics.bufferqueue@1.0.so
index a04627f..63afa9f 100755
--- a/x86_64/arch-x86_64/shared/vndk-core/android.hardware.graphics.bufferqueue@1.0.so
+++ b/x86_64/arch-x86_64/shared/vndk-core/android.hardware.graphics.bufferqueue@1.0.so
Binary files differ
diff --git a/x86_64/arch-x86_64/shared/vndk-core/android.hardware.graphics.bufferqueue@2.0.so b/x86_64/arch-x86_64/shared/vndk-core/android.hardware.graphics.bufferqueue@2.0.so
index 4f0c76c..665b66d 100755
--- a/x86_64/arch-x86_64/shared/vndk-core/android.hardware.graphics.bufferqueue@2.0.so
+++ b/x86_64/arch-x86_64/shared/vndk-core/android.hardware.graphics.bufferqueue@2.0.so
Binary files differ
diff --git a/x86_64/arch-x86_64/shared/vndk-core/android.hardware.light-V1-ndk_platform.so b/x86_64/arch-x86_64/shared/vndk-core/android.hardware.light-V1-ndk_platform.so
index 5bd05d6..dd3395a 100755
--- a/x86_64/arch-x86_64/shared/vndk-core/android.hardware.light-V1-ndk_platform.so
+++ b/x86_64/arch-x86_64/shared/vndk-core/android.hardware.light-V1-ndk_platform.so
Binary files differ
diff --git a/x86_64/arch-x86_64/shared/vndk-core/android.hardware.media.bufferpool@2.0.so b/x86_64/arch-x86_64/shared/vndk-core/android.hardware.media.bufferpool@2.0.so
index b9b3105..71ec0c9 100755
--- a/x86_64/arch-x86_64/shared/vndk-core/android.hardware.media.bufferpool@2.0.so
+++ b/x86_64/arch-x86_64/shared/vndk-core/android.hardware.media.bufferpool@2.0.so
Binary files differ
diff --git a/x86_64/arch-x86_64/shared/vndk-core/android.hardware.media.omx@1.0.so b/x86_64/arch-x86_64/shared/vndk-core/android.hardware.media.omx@1.0.so
index 1284b28..4ceacdd 100755
--- a/x86_64/arch-x86_64/shared/vndk-core/android.hardware.media.omx@1.0.so
+++ b/x86_64/arch-x86_64/shared/vndk-core/android.hardware.media.omx@1.0.so
Binary files differ
diff --git a/x86_64/arch-x86_64/shared/vndk-core/android.hardware.memtrack@1.0.so b/x86_64/arch-x86_64/shared/vndk-core/android.hardware.memtrack@1.0.so
index 8be56f2..bc6d367 100755
--- a/x86_64/arch-x86_64/shared/vndk-core/android.hardware.memtrack@1.0.so
+++ b/x86_64/arch-x86_64/shared/vndk-core/android.hardware.memtrack@1.0.so
Binary files differ
diff --git a/x86_64/arch-x86_64/shared/vndk-core/android.hardware.soundtrigger@2.0.so b/x86_64/arch-x86_64/shared/vndk-core/android.hardware.soundtrigger@2.0.so
index 5a3a713..182dbff 100755
--- a/x86_64/arch-x86_64/shared/vndk-core/android.hardware.soundtrigger@2.0.so
+++ b/x86_64/arch-x86_64/shared/vndk-core/android.hardware.soundtrigger@2.0.so
Binary files differ
diff --git a/x86_64/arch-x86_64/shared/vndk-core/android.hardware.vibrator-V2-ndk_platform.so b/x86_64/arch-x86_64/shared/vndk-core/android.hardware.vibrator-V2-ndk_platform.so
index 0d7fd95..f022280 100755
--- a/x86_64/arch-x86_64/shared/vndk-core/android.hardware.vibrator-V2-ndk_platform.so
+++ b/x86_64/arch-x86_64/shared/vndk-core/android.hardware.vibrator-V2-ndk_platform.so
Binary files differ
diff --git a/x86_64/arch-x86_64/shared/vndk-core/android.hidl.token@1.0.so b/x86_64/arch-x86_64/shared/vndk-core/android.hidl.token@1.0.so
index 32581be..7737c82 100755
--- a/x86_64/arch-x86_64/shared/vndk-core/android.hidl.token@1.0.so
+++ b/x86_64/arch-x86_64/shared/vndk-core/android.hidl.token@1.0.so
Binary files differ
diff --git a/x86_64/arch-x86_64/shared/vndk-core/android.system.keystore2-V1-ndk_platform.so b/x86_64/arch-x86_64/shared/vndk-core/android.system.keystore2-V1-ndk_platform.so
index c90d464..936aa6f 100755
--- a/x86_64/arch-x86_64/shared/vndk-core/android.system.keystore2-V1-ndk_platform.so
+++ b/x86_64/arch-x86_64/shared/vndk-core/android.system.keystore2-V1-ndk_platform.so
Binary files differ
diff --git a/x86_64/arch-x86_64/shared/vndk-core/android.system.suspend@1.0.so b/x86_64/arch-x86_64/shared/vndk-core/android.system.suspend@1.0.so
index fe8ae94..e97ae8f 100755
--- a/x86_64/arch-x86_64/shared/vndk-core/android.system.suspend@1.0.so
+++ b/x86_64/arch-x86_64/shared/vndk-core/android.system.suspend@1.0.so
Binary files differ
diff --git a/x86_64/arch-x86_64/shared/vndk-core/libbinder.so b/x86_64/arch-x86_64/shared/vndk-core/libbinder.so
index 795a71f..a22b7df 100755
--- a/x86_64/arch-x86_64/shared/vndk-core/libbinder.so
+++ b/x86_64/arch-x86_64/shared/vndk-core/libbinder.so
Binary files differ
diff --git a/x86_64/arch-x86_64/shared/vndk-core/libcamera_metadata.so b/x86_64/arch-x86_64/shared/vndk-core/libcamera_metadata.so
index 1270e85..946903e 100755
--- a/x86_64/arch-x86_64/shared/vndk-core/libcamera_metadata.so
+++ b/x86_64/arch-x86_64/shared/vndk-core/libcamera_metadata.so
Binary files differ
diff --git a/x86_64/arch-x86_64/shared/vndk-core/libgui.so b/x86_64/arch-x86_64/shared/vndk-core/libgui.so
index 5e6f5ed..40b5b3b 100755
--- a/x86_64/arch-x86_64/shared/vndk-core/libgui.so
+++ b/x86_64/arch-x86_64/shared/vndk-core/libgui.so
Binary files differ
diff --git a/x86_64/arch-x86_64/shared/vndk-core/libhardware_legacy.so b/x86_64/arch-x86_64/shared/vndk-core/libhardware_legacy.so
index aa55f2c..f8accbc 100755
--- a/x86_64/arch-x86_64/shared/vndk-core/libhardware_legacy.so
+++ b/x86_64/arch-x86_64/shared/vndk-core/libhardware_legacy.so
Binary files differ
diff --git a/x86_64/arch-x86_64/shared/vndk-core/libpower.so b/x86_64/arch-x86_64/shared/vndk-core/libpower.so
index 467773d..ef8f73d 100755
--- a/x86_64/arch-x86_64/shared/vndk-core/libpower.so
+++ b/x86_64/arch-x86_64/shared/vndk-core/libpower.so
Binary files differ
diff --git a/x86_64/arch-x86_64/shared/vndk-core/libsqlite.so b/x86_64/arch-x86_64/shared/vndk-core/libsqlite.so
index ae457be..18c2075 100755
--- a/x86_64/arch-x86_64/shared/vndk-core/libsqlite.so
+++ b/x86_64/arch-x86_64/shared/vndk-core/libsqlite.so
Binary files differ
diff --git a/x86_64/arch-x86_64/shared/vndk-core/libstagefright_bufferqueue_helper.so b/x86_64/arch-x86_64/shared/vndk-core/libstagefright_bufferqueue_helper.so
index 83b3fd5..22df7dd 100755
--- a/x86_64/arch-x86_64/shared/vndk-core/libstagefright_bufferqueue_helper.so
+++ b/x86_64/arch-x86_64/shared/vndk-core/libstagefright_bufferqueue_helper.so
Binary files differ
diff --git a/x86_64/arch-x86_64/shared/vndk-core/libstagefright_foundation.so b/x86_64/arch-x86_64/shared/vndk-core/libstagefright_foundation.so
index 19dd366..8c072ed 100755
--- a/x86_64/arch-x86_64/shared/vndk-core/libstagefright_foundation.so
+++ b/x86_64/arch-x86_64/shared/vndk-core/libstagefright_foundation.so
Binary files differ
diff --git a/x86_64/arch-x86_64/shared/vndk-core/libui.so b/x86_64/arch-x86_64/shared/vndk-core/libui.so
index af5fe15..7c9c985 100755
--- a/x86_64/arch-x86_64/shared/vndk-core/libui.so
+++ b/x86_64/arch-x86_64/shared/vndk-core/libui.so
Binary files differ
diff --git a/x86_64/arch-x86_64/shared/vndk-sp/android.hardware.graphics.mapper@2.0.so b/x86_64/arch-x86_64/shared/vndk-sp/android.hardware.graphics.mapper@2.0.so
index 66686a8..455fceb 100755
--- a/x86_64/arch-x86_64/shared/vndk-sp/android.hardware.graphics.mapper@2.0.so
+++ b/x86_64/arch-x86_64/shared/vndk-sp/android.hardware.graphics.mapper@2.0.so
Binary files differ
diff --git a/x86_64/arch-x86_64/shared/vndk-sp/android.hardware.graphics.mapper@2.1.so b/x86_64/arch-x86_64/shared/vndk-sp/android.hardware.graphics.mapper@2.1.so
index ed92f9a..d0ae082 100755
--- a/x86_64/arch-x86_64/shared/vndk-sp/android.hardware.graphics.mapper@2.1.so
+++ b/x86_64/arch-x86_64/shared/vndk-sp/android.hardware.graphics.mapper@2.1.so
Binary files differ
diff --git a/x86_64/arch-x86_64/shared/vndk-sp/android.hardware.graphics.mapper@3.0.so b/x86_64/arch-x86_64/shared/vndk-sp/android.hardware.graphics.mapper@3.0.so
index 7b88287..35b429e 100755
--- a/x86_64/arch-x86_64/shared/vndk-sp/android.hardware.graphics.mapper@3.0.so
+++ b/x86_64/arch-x86_64/shared/vndk-sp/android.hardware.graphics.mapper@3.0.so
Binary files differ
diff --git a/x86_64/arch-x86_64/shared/vndk-sp/android.hardware.graphics.mapper@4.0.so b/x86_64/arch-x86_64/shared/vndk-sp/android.hardware.graphics.mapper@4.0.so
index b4fbca8..f617d54 100755
--- a/x86_64/arch-x86_64/shared/vndk-sp/android.hardware.graphics.mapper@4.0.so
+++ b/x86_64/arch-x86_64/shared/vndk-sp/android.hardware.graphics.mapper@4.0.so
Binary files differ
diff --git a/x86_64/arch-x86_64/shared/vndk-sp/android.hardware.renderscript@1.0.so b/x86_64/arch-x86_64/shared/vndk-sp/android.hardware.renderscript@1.0.so
index 75a4e00..c6d2179 100755
--- a/x86_64/arch-x86_64/shared/vndk-sp/android.hardware.renderscript@1.0.so
+++ b/x86_64/arch-x86_64/shared/vndk-sp/android.hardware.renderscript@1.0.so
Binary files differ
diff --git a/x86_64/arch-x86_64/shared/vndk-sp/android.hidl.memory.token@1.0.so b/x86_64/arch-x86_64/shared/vndk-sp/android.hidl.memory.token@1.0.so
index 559aaeb..0e2e42a 100755
--- a/x86_64/arch-x86_64/shared/vndk-sp/android.hidl.memory.token@1.0.so
+++ b/x86_64/arch-x86_64/shared/vndk-sp/android.hidl.memory.token@1.0.so
Binary files differ
diff --git a/x86_64/arch-x86_64/shared/vndk-sp/android.hidl.memory@1.0.so b/x86_64/arch-x86_64/shared/vndk-sp/android.hidl.memory@1.0.so
index d936a0a..4925fa7 100755
--- a/x86_64/arch-x86_64/shared/vndk-sp/android.hidl.memory@1.0.so
+++ b/x86_64/arch-x86_64/shared/vndk-sp/android.hidl.memory@1.0.so
Binary files differ
diff --git a/x86_64/arch-x86_64/shared/vndk-sp/libcutils.so b/x86_64/arch-x86_64/shared/vndk-sp/libcutils.so
index 93120ba..ff218e6 100755
--- a/x86_64/arch-x86_64/shared/vndk-sp/libcutils.so
+++ b/x86_64/arch-x86_64/shared/vndk-sp/libcutils.so
Binary files differ
diff --git a/x86_64/arch-x86_64/shared/vndk-sp/libdmabufheap.so b/x86_64/arch-x86_64/shared/vndk-sp/libdmabufheap.so
index ebe47bd..769b68e 100755
--- a/x86_64/arch-x86_64/shared/vndk-sp/libdmabufheap.so
+++ b/x86_64/arch-x86_64/shared/vndk-sp/libdmabufheap.so
Binary files differ
diff --git a/x86_64/arch-x86_64/shared/vndk-sp/libhidlbase.so b/x86_64/arch-x86_64/shared/vndk-sp/libhidlbase.so
index 1ead022..c978e2e 100755
--- a/x86_64/arch-x86_64/shared/vndk-sp/libhidlbase.so
+++ b/x86_64/arch-x86_64/shared/vndk-sp/libhidlbase.so
Binary files differ
diff --git a/x86_64/arch-x86_64/shared/vndk-sp/libprocessgroup.so b/x86_64/arch-x86_64/shared/vndk-sp/libprocessgroup.so
index ced18a1..ffc7e58 100755
--- a/x86_64/arch-x86_64/shared/vndk-sp/libprocessgroup.so
+++ b/x86_64/arch-x86_64/shared/vndk-sp/libprocessgroup.so
Binary files differ
diff --git a/x86_64/arch-x86_64/shared/vndk-sp/libunwindstack.so b/x86_64/arch-x86_64/shared/vndk-sp/libunwindstack.so
index bece50d..a7cbcaf 100755
--- a/x86_64/arch-x86_64/shared/vndk-sp/libunwindstack.so
+++ b/x86_64/arch-x86_64/shared/vndk-sp/libunwindstack.so
Binary files differ
diff --git a/x86_64/arch-x86_64/shared/vndk-sp/libutils.so b/x86_64/arch-x86_64/shared/vndk-sp/libutils.so
index 98c4f95..0037cae 100755
--- a/x86_64/arch-x86_64/shared/vndk-sp/libutils.so
+++ b/x86_64/arch-x86_64/shared/vndk-sp/libutils.so
Binary files differ
diff --git a/x86_64/include/external/sqlite/dist/orig/sqlite3.h b/x86_64/include/external/sqlite/dist/orig/sqlite3.h
index e2965a2..755b3b3 100644
--- a/x86_64/include/external/sqlite/dist/orig/sqlite3.h
+++ b/x86_64/include/external/sqlite/dist/orig/sqlite3.h
@@ -125,7 +125,7 @@
 */
 #define SQLITE_VERSION        "3.32.2"
 #define SQLITE_VERSION_NUMBER 3032002
-#define SQLITE_SOURCE_ID      "2020-06-04 12:58:43 ec02243ea6ce33b090870ae55ab8aa2534b54d216d45c4aa2fdbb00e86861e8c"
+#define SQLITE_SOURCE_ID      "2021-07-12 15:00:17 bcd014c473794b09f61fbc0f4d9488365b023f16123b278dbbd49948c27c0fee"
 
 /*
 ** CAPI3REF: Run-Time Library Version Numbers
diff --git a/x86_64/include/external/sqlite/dist/sqlite3.h b/x86_64/include/external/sqlite/dist/sqlite3.h
index e2965a2..755b3b3 100644
--- a/x86_64/include/external/sqlite/dist/sqlite3.h
+++ b/x86_64/include/external/sqlite/dist/sqlite3.h
@@ -125,7 +125,7 @@
 */
 #define SQLITE_VERSION        "3.32.2"
 #define SQLITE_VERSION_NUMBER 3032002
-#define SQLITE_SOURCE_ID      "2020-06-04 12:58:43 ec02243ea6ce33b090870ae55ab8aa2534b54d216d45c4aa2fdbb00e86861e8c"
+#define SQLITE_SOURCE_ID      "2021-07-12 15:00:17 bcd014c473794b09f61fbc0f4d9488365b023f16123b278dbbd49948c27c0fee"
 
 /*
 ** CAPI3REF: Run-Time Library Version Numbers
diff --git a/x86_64/include/frameworks/av/media/libstagefright/foundation/include/media/stagefright/foundation/ColorUtils.h b/x86_64/include/frameworks/av/media/libstagefright/foundation/include/media/stagefright/foundation/ColorUtils.h
index 9e3f718..a2b6c4f 100644
--- a/x86_64/include/frameworks/av/media/libstagefright/foundation/include/media/stagefright/foundation/ColorUtils.h
+++ b/x86_64/include/frameworks/av/media/libstagefright/foundation/include/media/stagefright/foundation/ColorUtils.h
@@ -191,6 +191,8 @@
     static void setHDRStaticInfoIntoFormat(const HDRStaticInfo &info, sp<AMessage> &format);
     // writes |info| into format.
     static void setHDRStaticInfoIntoAMediaFormat(const HDRStaticInfo &info, AMediaFormat *format);
+    // (internal) used by the setHDRStaticInfoInfo* routines
+    static void fillHdrStaticInfoBuffer( const HDRStaticInfo &info, uint8_t *data);
 };
 
 inline static const char *asString(android::ColorUtils::ColorStandard i, const char *def = "??") {
diff --git a/x86_64/include/frameworks/av/media/libstagefright/include/media/stagefright/ACodec.h b/x86_64/include/frameworks/av/media/libstagefright/include/media/stagefright/ACodec.h
index c84cc10..632b32c 100644
--- a/x86_64/include/frameworks/av/media/libstagefright/include/media/stagefright/ACodec.h
+++ b/x86_64/include/frameworks/av/media/libstagefright/include/media/stagefright/ACodec.h
@@ -71,6 +71,9 @@
     virtual void initiateSetInputSurface(const sp<PersistentSurface> &surface);
     virtual void initiateStart();
     virtual void initiateShutdown(bool keepComponentAllocated = false);
+    virtual status_t querySupportedParameters(std::vector<std::string> *names) override;
+    virtual status_t subscribeToParameters(const std::vector<std::string> &names) override;
+    virtual status_t unsubscribeFromParameters(const std::vector<std::string> &names) override;
 
     status_t queryCapabilities(
             const char* owner, const char* name,
diff --git a/x86_64/include/frameworks/av/media/libstagefright/include/media/stagefright/CodecBase.h b/x86_64/include/frameworks/av/media/libstagefright/include/media/stagefright/CodecBase.h
index efb2f86..48721ec 100644
--- a/x86_64/include/frameworks/av/media/libstagefright/include/media/stagefright/CodecBase.h
+++ b/x86_64/include/frameworks/av/media/libstagefright/include/media/stagefright/CodecBase.h
@@ -252,9 +252,7 @@
      *         INVALID_OPERATION if already released;
      *         ERROR_UNSUPPORTED if not supported.
      */
-    virtual status_t querySupportedParameters([[maybe_unused]] std::vector<std::string> *names) {
-        return ERROR_UNSUPPORTED;
-    }
+    virtual status_t querySupportedParameters(std::vector<std::string> *names);
     /**
      * Fill |desc| with description of the parameter with |name|.
      *
@@ -267,10 +265,8 @@
      *         ERROR_UNSUPPORTED if not supported.
      */
     virtual status_t describeParameter(
-            [[maybe_unused]] const std::string &name,
-            [[maybe_unused]] CodecParameterDescriptor *desc) {
-        return ERROR_UNSUPPORTED;
-    }
+            const std::string &name,
+            CodecParameterDescriptor *desc);
     /**
      * Subscribe to parameters in |names| and get output format change event
      * when they change.
@@ -281,10 +277,7 @@
      *         INVALID_OPERATION if already released;
      *         ERROR_UNSUPPORTED if not supported.
      */
-    virtual status_t subscribeToParameters(
-            [[maybe_unused]] const std::vector<std::string> &names) {
-        return ERROR_UNSUPPORTED;
-    }
+    virtual status_t subscribeToParameters(const std::vector<std::string> &names);
     /**
      * Unsubscribe from parameters in |names| and no longer get
      * output format change event when they change.
@@ -295,10 +288,7 @@
      *         INVALID_OPERATION if already released;
      *         ERROR_UNSUPPORTED if not supported.
      */
-    virtual status_t unsubscribeFromParameters(
-            [[maybe_unused]] const std::vector<std::string> &names) {
-        return ERROR_UNSUPPORTED;
-    }
+    virtual status_t unsubscribeFromParameters(const std::vector<std::string> &names);
 
     typedef CodecBase *(*CreateCodecFunc)(void);
     typedef PersistentSurface *(*CreateInputSurfaceFunc)(void);
diff --git a/x86_64/include/frameworks/native/libs/binder/include/binder/IPCThreadState.h b/x86_64/include/frameworks/native/libs/binder/include/binder/IPCThreadState.h
index 196a41b..b401ea9 100644
--- a/x86_64/include/frameworks/native/libs/binder/include/binder/IPCThreadState.h
+++ b/x86_64/include/frameworks/native/libs/binder/include/binder/IPCThreadState.h
@@ -53,6 +53,13 @@
     // Provide information about the state of a frozen process
     static  status_t            getProcessFreezeInfo(pid_t pid, bool *sync_received,
                                                     bool *async_received);
+
+    // TODO: Remove the above legacy duplicated function in next version
+#ifndef __ANDROID_VNDK__
+    static  status_t            getProcessFreezeInfo(pid_t pid, uint32_t *sync_received,
+                                                    uint32_t *async_received);
+#endif
+
             sp<ProcessState>    process();
             
             status_t            clearLastError();
diff --git a/x86_64/include/frameworks/native/libs/gui/include/gui/BLASTBufferQueue.h b/x86_64/include/frameworks/native/libs/gui/include/gui/BLASTBufferQueue.h
index 0d6a673..6c5b2aa 100644
--- a/x86_64/include/frameworks/native/libs/gui/include/gui/BLASTBufferQueue.h
+++ b/x86_64/include/frameworks/native/libs/gui/include/gui/BLASTBufferQueue.h
@@ -62,11 +62,12 @@
     uint64_t mCurrentFrameNumber = 0;
 
     Mutex mMutex;
+    std::mutex mBufferQueueMutex;
     ConsumerFrameEventHistory mFrameEventHistory GUARDED_BY(mMutex);
     std::queue<uint64_t> mDisconnectEvents GUARDED_BY(mMutex);
     bool mCurrentlyConnected GUARDED_BY(mMutex);
     bool mPreviouslyConnected GUARDED_BY(mMutex);
-    BLASTBufferQueue* mBLASTBufferQueue GUARDED_BY(mMutex);
+    BLASTBufferQueue* mBLASTBufferQueue GUARDED_BY(mBufferQueueMutex);
 };
 
 class BLASTBufferQueue
@@ -96,7 +97,8 @@
     void setTransactionCompleteCallback(uint64_t frameNumber,
                                         std::function<void(int64_t)>&& transactionCompleteCallback);
 
-    void update(const sp<SurfaceControl>& surface, uint32_t width, uint32_t height, int32_t format);
+    void update(const sp<SurfaceControl>& surface, uint32_t width, uint32_t height, int32_t format,
+                SurfaceComposerClient::Transaction* outTransaction = nullptr);
     void flushShadowQueue() {}
 
     status_t setFrameRate(float frameRate, int8_t compatibility, bool shouldBeSeamless);
diff --git a/x86_64/include/frameworks/native/libs/gui/include/gui/LayerState.h b/x86_64/include/frameworks/native/libs/gui/include/gui/LayerState.h
index 8ac1e5d..3e57ff6 100644
--- a/x86_64/include/frameworks/native/libs/gui/include/gui/LayerState.h
+++ b/x86_64/include/frameworks/native/libs/gui/include/gui/LayerState.h
@@ -118,6 +118,7 @@
         eBlurRegionsChanged = 0x800'00000000,
         eAutoRefreshChanged = 0x1000'00000000,
         eStretchChanged = 0x2000'00000000,
+        eTrustedOverlayChanged = 0x4000'00000000,
     };
 
     layer_state_t();
@@ -126,6 +127,7 @@
     status_t write(Parcel& output) const;
     status_t read(const Parcel& input);
     bool hasBufferChanges() const;
+    bool hasValidBuffer() const;
 
     struct matrix22_t {
         float dsdx{0};
@@ -224,6 +226,10 @@
     // in shared buffer mode.
     bool autoRefresh;
 
+    // An inherited state that indicates that this surface control and its children
+    // should be trusted for input occlusion detection purposes
+    bool isTrustedOverlay;
+
     // Stretch effect to be applied to this layer
     StretchEffect stretchEffect;
 
diff --git a/x86_64/include/frameworks/native/libs/gui/include/gui/Surface.h b/x86_64/include/frameworks/native/libs/gui/include/gui/Surface.h
index 7e4143b..e540351 100644
--- a/x86_64/include/frameworks/native/libs/gui/include/gui/Surface.h
+++ b/x86_64/include/frameworks/native/libs/gui/include/gui/Surface.h
@@ -99,7 +99,7 @@
      */
     sp<IGraphicBufferProducer> getIGraphicBufferProducer() const;
 
-    sp<IBinder> getSurfaceControlHandle() const { return mSurfaceControlHandle; }
+    sp<IBinder> getSurfaceControlHandle() const;
 
     /* convenience function to check that the given surface is non NULL as
      * well as its IGraphicBufferProducer */
@@ -333,6 +333,7 @@
     virtual int connect(
             int api, bool reportBufferRemoval,
             const sp<SurfaceListener>& sListener);
+    virtual void destroy();
 
     // When client connects to Surface with reportBufferRemoval set to true, any buffers removed
     // from this Surface will be collected and returned here. Once this method returns, these
diff --git a/x86_64/include/frameworks/native/libs/gui/include/gui/SurfaceComposerClient.h b/x86_64/include/frameworks/native/libs/gui/include/gui/SurfaceComposerClient.h
index c2963b5..baa0567 100644
--- a/x86_64/include/frameworks/native/libs/gui/include/gui/SurfaceComposerClient.h
+++ b/x86_64/include/frameworks/native/libs/gui/include/gui/SurfaceComposerClient.h
@@ -537,6 +537,9 @@
         // in shared buffer mode.
         Transaction& setAutoRefresh(const sp<SurfaceControl>& sc, bool autoRefresh);
 
+        // Sets that this surface control and its children are trusted overlays for input
+        Transaction& setTrustedOverlay(const sp<SurfaceControl>& sc, bool isTrustedOverlay);
+
         // Queues up transactions using this token in SurfaceFlinger.  By default, all transactions
         // from a client are placed on the same queue. This can be used to prevent multiple
         // transactions from blocking each other.
diff --git a/x86_64/include/frameworks/native/libs/ui/include/ui/Transform.h b/x86_64/include/frameworks/native/libs/ui/include/ui/Transform.h
index a197b3b..33fbe05 100644
--- a/x86_64/include/frameworks/native/libs/ui/include/ui/Transform.h
+++ b/x86_64/include/frameworks/native/libs/ui/include/ui/Transform.h
@@ -112,6 +112,7 @@
     void dump(const char* name, const char* prefix = "") const;
 
     static constexpr RotationFlags toRotationFlags(Rotation);
+    static constexpr Rotation toRotation(RotationFlags);
 
 private:
     struct mat33 {
@@ -151,5 +152,20 @@
     }
 }
 
+inline constexpr Rotation Transform::toRotation(Transform::RotationFlags rotationFlags) {
+    switch (rotationFlags) {
+        case ROT_0:
+            return ROTATION_0;
+        case ROT_90:
+            return ROTATION_90;
+        case ROT_180:
+            return ROTATION_180;
+        case ROT_270:
+            return ROTATION_270;
+        default:
+            return ROTATION_0;
+    }
+}
+
 }  // namespace ui
 }  // namespace android
diff --git a/x86_64/include/frameworks/native/libs/ui/include_vndk/ui/Transform.h b/x86_64/include/frameworks/native/libs/ui/include_vndk/ui/Transform.h
index a197b3b..33fbe05 100644
--- a/x86_64/include/frameworks/native/libs/ui/include_vndk/ui/Transform.h
+++ b/x86_64/include/frameworks/native/libs/ui/include_vndk/ui/Transform.h
@@ -112,6 +112,7 @@
     void dump(const char* name, const char* prefix = "") const;
 
     static constexpr RotationFlags toRotationFlags(Rotation);
+    static constexpr Rotation toRotation(RotationFlags);
 
 private:
     struct mat33 {
@@ -151,5 +152,20 @@
     }
 }
 
+inline constexpr Rotation Transform::toRotation(Transform::RotationFlags rotationFlags) {
+    switch (rotationFlags) {
+        case ROT_0:
+            return ROTATION_0;
+        case ROT_90:
+            return ROTATION_90;
+        case ROT_180:
+            return ROTATION_180;
+        case ROT_270:
+            return ROTATION_270;
+        default:
+            return ROTATION_0;
+    }
+}
+
 }  // namespace ui
 }  // namespace android
diff --git a/x86_64/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/DriverMonitoringDetection.h b/x86_64/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/DriverMonitoringDetection.h
index b1448e1..fccf0a1 100644
--- a/x86_64/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/DriverMonitoringDetection.h
+++ b/x86_64/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/DriverMonitoringDetection.h
@@ -21,7 +21,7 @@
   typedef std::false_type fixed_size;
   static const char* descriptor;
 
-  ::aidl::android::hardware::automotive::occupant_awareness::ConfidenceLevel confidenceScore;
+  ::aidl::android::hardware::automotive::occupant_awareness::ConfidenceLevel confidenceScore = ::aidl::android::hardware::automotive::occupant_awareness::ConfidenceLevel(0);
   bool isLookingOnRoad = false;
   int64_t gazeDurationMillis = 0L;
 
diff --git a/x86_64/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/GazeDetection.h b/x86_64/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/GazeDetection.h
index 7d40e47..d62114c 100644
--- a/x86_64/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/GazeDetection.h
+++ b/x86_64/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/GazeDetection.h
@@ -22,11 +22,11 @@
   typedef std::false_type fixed_size;
   static const char* descriptor;
 
-  ::aidl::android::hardware::automotive::occupant_awareness::ConfidenceLevel gazeConfidence;
+  ::aidl::android::hardware::automotive::occupant_awareness::ConfidenceLevel gazeConfidence = ::aidl::android::hardware::automotive::occupant_awareness::ConfidenceLevel(0);
   std::vector<double> headPosition;
   std::vector<double> headAngleUnitVector;
   std::vector<double> gazeAngleUnitVector;
-  ::aidl::android::hardware::automotive::occupant_awareness::VehicleRegion gazeTarget;
+  ::aidl::android::hardware::automotive::occupant_awareness::VehicleRegion gazeTarget = ::aidl::android::hardware::automotive::occupant_awareness::VehicleRegion(0);
   std::string customGazeTarget;
   int64_t timeOnTargetMillis = 0L;
 
diff --git a/x86_64/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/OccupantDetection.h b/x86_64/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/OccupantDetection.h
index e5c9a8d..3ce2e33 100644
--- a/x86_64/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/OccupantDetection.h
+++ b/x86_64/include/out/soong/.intermediates/hardware/interfaces/automotive/occupant_awareness/aidl/android.hardware.automotive.occupant_awareness-V1-ndk_platform-source/gen/include/aidl/android/hardware/automotive/occupant_awareness/OccupantDetection.h
@@ -24,7 +24,7 @@
   typedef std::false_type fixed_size;
   static const char* descriptor;
 
-  ::aidl::android::hardware::automotive::occupant_awareness::Role role;
+  ::aidl::android::hardware::automotive::occupant_awareness::Role role = ::aidl::android::hardware::automotive::occupant_awareness::Role(0);
   std::vector<::aidl::android::hardware::automotive::occupant_awareness::PresenceDetection> presenceData;
   std::vector<::aidl::android::hardware::automotive::occupant_awareness::GazeDetection> gazeData;
   std::vector<::aidl::android::hardware::automotive::occupant_awareness::DriverMonitoringDetection> attentionData;
diff --git a/x86_64/include/out/soong/.intermediates/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLight.h b/x86_64/include/out/soong/.intermediates/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLight.h
index a760f09..574f1ac 100644
--- a/x86_64/include/out/soong/.intermediates/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLight.h
+++ b/x86_64/include/out/soong/.intermediates/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLight.h
@@ -22,7 +22,7 @@
 
   int32_t id = 0;
   int32_t ordinal = 0;
-  ::aidl::android::hardware::light::LightType type;
+  ::aidl::android::hardware::light::LightType type = ::aidl::android::hardware::light::LightType(0);
 
   binder_status_t readFromParcel(const AParcel* parcel);
   binder_status_t writeToParcel(AParcel* parcel) const;
diff --git a/x86_64/include/out/soong/.intermediates/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLightState.h b/x86_64/include/out/soong/.intermediates/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLightState.h
index ccbe14e..f32738c 100644
--- a/x86_64/include/out/soong/.intermediates/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLightState.h
+++ b/x86_64/include/out/soong/.intermediates/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLightState.h
@@ -22,10 +22,10 @@
   static const char* descriptor;
 
   int32_t color = 0;
-  ::aidl::android::hardware::light::FlashMode flashMode;
+  ::aidl::android::hardware::light::FlashMode flashMode = ::aidl::android::hardware::light::FlashMode(0);
   int32_t flashOnMs = 0;
   int32_t flashOffMs = 0;
-  ::aidl::android::hardware::light::BrightnessMode brightnessMode;
+  ::aidl::android::hardware::light::BrightnessMode brightnessMode = ::aidl::android::hardware::light::BrightnessMode(0);
 
   binder_status_t readFromParcel(const AParcel* parcel);
   binder_status_t writeToParcel(AParcel* parcel) const;
diff --git a/x86_64/include/out/soong/.intermediates/hardware/interfaces/vibrator/aidl/android.hardware.vibrator-V2-ndk_platform-source/gen/include/aidl/android/hardware/vibrator/BrakingPwle.h b/x86_64/include/out/soong/.intermediates/hardware/interfaces/vibrator/aidl/android.hardware.vibrator-V2-ndk_platform-source/gen/include/aidl/android/hardware/vibrator/BrakingPwle.h
index 2f0b1c8..1a1b7bb 100644
--- a/x86_64/include/out/soong/.intermediates/hardware/interfaces/vibrator/aidl/android.hardware.vibrator-V2-ndk_platform-source/gen/include/aidl/android/hardware/vibrator/BrakingPwle.h
+++ b/x86_64/include/out/soong/.intermediates/hardware/interfaces/vibrator/aidl/android.hardware.vibrator-V2-ndk_platform-source/gen/include/aidl/android/hardware/vibrator/BrakingPwle.h
@@ -20,7 +20,7 @@
   typedef std::false_type fixed_size;
   static const char* descriptor;
 
-  ::aidl::android::hardware::vibrator::Braking braking;
+  ::aidl::android::hardware::vibrator::Braking braking = ::aidl::android::hardware::vibrator::Braking(0);
   int32_t duration = 0;
 
   binder_status_t readFromParcel(const AParcel* parcel);
diff --git a/x86_64/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/AuthenticatorSpec.h b/x86_64/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/AuthenticatorSpec.h
index f5aeafc..4d2fa40 100644
--- a/x86_64/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/AuthenticatorSpec.h
+++ b/x86_64/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/AuthenticatorSpec.h
@@ -20,7 +20,7 @@
   typedef std::false_type fixed_size;
   static const char* descriptor;
 
-  ::aidl::android::hardware::security::keymint::HardwareAuthenticatorType authenticatorType;
+  ::aidl::android::hardware::security::keymint::HardwareAuthenticatorType authenticatorType = ::aidl::android::hardware::security::keymint::HardwareAuthenticatorType(0);
   int64_t authenticatorId = 0L;
 
   binder_status_t readFromParcel(const AParcel* parcel);
diff --git a/x86_64/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/Authorization.h b/x86_64/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/Authorization.h
index 7a81600..17ebd2f 100644
--- a/x86_64/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/Authorization.h
+++ b/x86_64/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/Authorization.h
@@ -21,7 +21,7 @@
   typedef std::false_type fixed_size;
   static const char* descriptor;
 
-  ::aidl::android::hardware::security::keymint::SecurityLevel securityLevel;
+  ::aidl::android::hardware::security::keymint::SecurityLevel securityLevel = ::aidl::android::hardware::security::keymint::SecurityLevel(0);
   ::aidl::android::hardware::security::keymint::KeyParameter keyParameter;
 
   binder_status_t readFromParcel(const AParcel* parcel);
diff --git a/x86_64/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyDescriptor.h b/x86_64/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyDescriptor.h
index 9d94a88..f0d4882 100644
--- a/x86_64/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyDescriptor.h
+++ b/x86_64/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyDescriptor.h
@@ -20,7 +20,7 @@
   typedef std::false_type fixed_size;
   static const char* descriptor;
 
-  ::aidl::android::system::keystore2::Domain domain;
+  ::aidl::android::system::keystore2::Domain domain = ::aidl::android::system::keystore2::Domain(0);
   int64_t nspace = 0L;
   std::optional<std::string> alias;
   std::optional<std::vector<uint8_t>> blob;
diff --git a/x86_64/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyMetadata.h b/x86_64/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyMetadata.h
index 168b720..ac664f4 100644
--- a/x86_64/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyMetadata.h
+++ b/x86_64/include/out/soong/.intermediates/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyMetadata.h
@@ -23,7 +23,7 @@
   static const char* descriptor;
 
   ::aidl::android::system::keystore2::KeyDescriptor key;
-  ::aidl::android::hardware::security::keymint::SecurityLevel keySecurityLevel;
+  ::aidl::android::hardware::security::keymint::SecurityLevel keySecurityLevel = ::aidl::android::hardware::security::keymint::SecurityLevel(0);
   std::vector<::aidl::android::system::keystore2::Authorization> authorizations;
   std::optional<std::vector<uint8_t>> certificate;
   std::optional<std::vector<uint8_t>> certificateChain;
diff --git a/x86_64/include/packages/modules/NeuralNetworks/runtime/include/NeuralNetworks.h b/x86_64/include/packages/modules/NeuralNetworks/runtime/include/NeuralNetworks.h
index 446d99b..a6a10d0 100644
--- a/x86_64/include/packages/modules/NeuralNetworks/runtime/include/NeuralNetworks.h
+++ b/x86_64/include/packages/modules/NeuralNetworks/runtime/include/NeuralNetworks.h
@@ -59,11 +59,8 @@
 #define __NNAPI_INTRODUCED_IN(x) __INTRODUCED_IN(x)
 #endif
 
-// TODO: replace __ANDROID_API_FUTURE__with 31 when it's official (b/178144708)
-// This is required for __builtin_available guards around functionality
-// introduced in FL5/API31.
 #ifndef __NNAPI_FL5_MIN_ANDROID_API__
-#define __NNAPI_FL5_MIN_ANDROID_API__ __ANDROID_API_FUTURE__
+#define __NNAPI_FL5_MIN_ANDROID_API__ __ANDROID_API_S__
 #endif
 
 __BEGIN_DECLS
diff --git a/x86_64/include/system/core/libcutils/include/cutils/trace.h b/x86_64/include/system/core/libcutils/include/cutils/trace.h
index ef426ff..24c6ae6 100644
--- a/x86_64/include/system/core/libcutils/include/cutils/trace.h
+++ b/x86_64/include/system/core/libcutils/include/cutils/trace.h
@@ -75,8 +75,7 @@
 #define ATRACE_TAG_AIDL             (1<<24)
 #define ATRACE_TAG_NNAPI            (1<<25)
 #define ATRACE_TAG_RRO              (1<<26)
-#define ATRACE_TAG_SYSPROP          (1<<27)
-#define ATRACE_TAG_LAST             ATRACE_TAG_SYSPROP
+#define ATRACE_TAG_LAST             ATRACE_TAG_RRO
 
 // Reserved for initialization.
 #define ATRACE_TAG_NOT_READY        (1ULL<<63)
diff --git a/x86_64/include/system/core/libcutils/include_outside_system/cutils/trace.h b/x86_64/include/system/core/libcutils/include_outside_system/cutils/trace.h
index ef426ff..24c6ae6 100644
--- a/x86_64/include/system/core/libcutils/include_outside_system/cutils/trace.h
+++ b/x86_64/include/system/core/libcutils/include_outside_system/cutils/trace.h
@@ -75,8 +75,7 @@
 #define ATRACE_TAG_AIDL             (1<<24)
 #define ATRACE_TAG_NNAPI            (1<<25)
 #define ATRACE_TAG_RRO              (1<<26)
-#define ATRACE_TAG_SYSPROP          (1<<27)
-#define ATRACE_TAG_LAST             ATRACE_TAG_SYSPROP
+#define ATRACE_TAG_LAST             ATRACE_TAG_RRO
 
 // Reserved for initialization.
 #define ATRACE_TAG_NOT_READY        (1ULL<<63)
diff --git a/x86_64/include/system/media/camera/include/system/camera_metadata_tags.h b/x86_64/include/system/media/camera/include/system/camera_metadata_tags.h
index 9c8b041..68b4367 100644
--- a/x86_64/include/system/media/camera/include/system/camera_metadata_tags.h
+++ b/x86_64/include/system/media/camera/include/system/camera_metadata_tags.h
@@ -183,6 +183,9 @@
     ANDROID_CONTROL_ZOOM_RATIO,                       // float        | public       | HIDL v3.5
     ANDROID_CONTROL_AVAILABLE_HIGH_SPEED_VIDEO_CONFIGURATIONS_MAXIMUM_RESOLUTION,
                                                       // int32[]      | hidden       | HIDL v3.6
+    ANDROID_CONTROL_AF_REGIONS_SET,                   // enum         | fwk_only
+    ANDROID_CONTROL_AE_REGIONS_SET,                   // enum         | fwk_only
+    ANDROID_CONTROL_AWB_REGIONS_SET,                  // enum         | fwk_only
     ANDROID_CONTROL_END,
 
     ANDROID_DEMOSAIC_MODE =                           // enum         | system       | HIDL v3.2
@@ -330,6 +333,7 @@
     ANDROID_SCALER_AVAILABLE_INPUT_OUTPUT_FORMATS_MAP_MAXIMUM_RESOLUTION,
                                                       // int32        | hidden       | HIDL v3.6
     ANDROID_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED, // enum         | ndk_public   | HIDL v3.6
+    ANDROID_SCALER_CROP_REGION_SET,                   // enum         | fwk_only
     ANDROID_SCALER_END,
 
     ANDROID_SENSOR_EXPOSURE_TIME =                    // int64        | public       | HIDL v3.2
@@ -745,6 +749,24 @@
     ANDROID_CONTROL_EXTENDED_SCENE_MODE_VENDOR_START                 = 0x40, // HIDL v3.5
 } camera_metadata_enum_android_control_extended_scene_mode_t;
 
+// ANDROID_CONTROL_AF_REGIONS_SET
+typedef enum camera_metadata_enum_android_control_af_regions_set {
+    ANDROID_CONTROL_AF_REGIONS_SET_FALSE                            ,
+    ANDROID_CONTROL_AF_REGIONS_SET_TRUE                             ,
+} camera_metadata_enum_android_control_af_regions_set_t;
+
+// ANDROID_CONTROL_AE_REGIONS_SET
+typedef enum camera_metadata_enum_android_control_ae_regions_set {
+    ANDROID_CONTROL_AE_REGIONS_SET_FALSE                            ,
+    ANDROID_CONTROL_AE_REGIONS_SET_TRUE                             ,
+} camera_metadata_enum_android_control_ae_regions_set_t;
+
+// ANDROID_CONTROL_AWB_REGIONS_SET
+typedef enum camera_metadata_enum_android_control_awb_regions_set {
+    ANDROID_CONTROL_AWB_REGIONS_SET_FALSE                           ,
+    ANDROID_CONTROL_AWB_REGIONS_SET_TRUE                            ,
+} camera_metadata_enum_android_control_awb_regions_set_t;
+
 
 // ANDROID_DEMOSAIC_MODE
 typedef enum camera_metadata_enum_android_demosaic_mode {
@@ -961,6 +983,12 @@
     ANDROID_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED_TRUE           , // HIDL v3.6
 } camera_metadata_enum_android_scaler_multi_resolution_stream_supported_t;
 
+// ANDROID_SCALER_CROP_REGION_SET
+typedef enum camera_metadata_enum_android_scaler_crop_region_set {
+    ANDROID_SCALER_CROP_REGION_SET_FALSE                            ,
+    ANDROID_SCALER_CROP_REGION_SET_TRUE                             ,
+} camera_metadata_enum_android_scaler_crop_region_set_t;
+
 
 // ANDROID_SENSOR_REFERENCE_ILLUMINANT1
 typedef enum camera_metadata_enum_android_sensor_reference_illuminant1 {