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.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.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/libbinder.so b/arm/arch-arm-armv7-a-neon/shared/vndk-core/libbinder.so
index 0b36bec..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 825da4a..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 4b07d40..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-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/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/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/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/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/generated-headers/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/generated-headers/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/generated-headers/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/generated-headers/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/generated-headers/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/generated-headers/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/generated-headers/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/generated-headers/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/generated-headers/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/generated-headers/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/generated-headers/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/generated-headers/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/generated-headers/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLight.h b/arm/include/generated-headers/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/generated-headers/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLight.h
+++ b/arm/include/generated-headers/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/generated-headers/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLightState.h b/arm/include/generated-headers/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/generated-headers/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLightState.h
+++ b/arm/include/generated-headers/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/generated-headers/hardware/interfaces/vibrator/aidl/android.hardware.vibrator-V2-ndk_platform-source/gen/include/aidl/android/hardware/vibrator/BrakingPwle.h b/arm/include/generated-headers/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/generated-headers/hardware/interfaces/vibrator/aidl/android.hardware.vibrator-V2-ndk_platform-source/gen/include/aidl/android/hardware/vibrator/BrakingPwle.h
+++ b/arm/include/generated-headers/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/generated-headers/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/AuthenticatorSpec.h b/arm/include/generated-headers/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/generated-headers/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/AuthenticatorSpec.h
+++ b/arm/include/generated-headers/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/generated-headers/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/Authorization.h b/arm/include/generated-headers/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/generated-headers/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/Authorization.h
+++ b/arm/include/generated-headers/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/generated-headers/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyDescriptor.h b/arm/include/generated-headers/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/generated-headers/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyDescriptor.h
+++ b/arm/include/generated-headers/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/generated-headers/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyMetadata.h b/arm/include/generated-headers/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/generated-headers/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyMetadata.h
+++ b/arm/include/generated-headers/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/system/media/camera/include/system/camera_metadata_tags.h b/arm/include/system/media/camera/include/system/camera_metadata_tags.h
index 2b3dfc2..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
@@ -751,20 +751,20 @@
 
 // ANDROID_CONTROL_AF_REGIONS_SET
 typedef enum camera_metadata_enum_android_control_af_regions_set {
-    ANDROID_CONTROL_AF_REGIONS_SET_TRUE                             ,
     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_TRUE                             ,
     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_TRUE                            ,
     ANDROID_CONTROL_AWB_REGIONS_SET_FALSE                           ,
+    ANDROID_CONTROL_AWB_REGIONS_SET_TRUE                            ,
 } camera_metadata_enum_android_control_awb_regions_set_t;
 
 
@@ -985,8 +985,8 @@
 
 // ANDROID_SCALER_CROP_REGION_SET
 typedef enum camera_metadata_enum_android_scaler_crop_region_set {
-    ANDROID_SCALER_CROP_REGION_SET_TRUE                             ,
     ANDROID_SCALER_CROP_REGION_SET_FALSE                            ,
+    ANDROID_SCALER_CROP_REGION_SET_TRUE                             ,
 } camera_metadata_enum_android_scaler_crop_region_set_t;
 
 
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.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.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/libbinder.so b/arm64/arch-arm-armv8-a/shared/vndk-core/libbinder.so
index a97f508..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 4e7699b..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 e36f4a6..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-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/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.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.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.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/libbinder.so b/arm64/arch-arm64-armv8-a/shared/vndk-core/libbinder.so
index 497a8fe..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 c84713a..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 5d788e8..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-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/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/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/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/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/generated-headers/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/generated-headers/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/generated-headers/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/generated-headers/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/generated-headers/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/generated-headers/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/generated-headers/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/generated-headers/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/generated-headers/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/generated-headers/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/generated-headers/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/generated-headers/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/generated-headers/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLight.h b/arm64/include/generated-headers/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/generated-headers/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLight.h
+++ b/arm64/include/generated-headers/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/generated-headers/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLightState.h b/arm64/include/generated-headers/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/generated-headers/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLightState.h
+++ b/arm64/include/generated-headers/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/generated-headers/hardware/interfaces/vibrator/aidl/android.hardware.vibrator-V2-ndk_platform-source/gen/include/aidl/android/hardware/vibrator/BrakingPwle.h b/arm64/include/generated-headers/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/generated-headers/hardware/interfaces/vibrator/aidl/android.hardware.vibrator-V2-ndk_platform-source/gen/include/aidl/android/hardware/vibrator/BrakingPwle.h
+++ b/arm64/include/generated-headers/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/generated-headers/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/AuthenticatorSpec.h b/arm64/include/generated-headers/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/generated-headers/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/AuthenticatorSpec.h
+++ b/arm64/include/generated-headers/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/generated-headers/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/Authorization.h b/arm64/include/generated-headers/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/generated-headers/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/Authorization.h
+++ b/arm64/include/generated-headers/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/generated-headers/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyDescriptor.h b/arm64/include/generated-headers/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/generated-headers/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyDescriptor.h
+++ b/arm64/include/generated-headers/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/generated-headers/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyMetadata.h b/arm64/include/generated-headers/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/generated-headers/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyMetadata.h
+++ b/arm64/include/generated-headers/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/system/media/camera/include/system/camera_metadata_tags.h b/arm64/include/system/media/camera/include/system/camera_metadata_tags.h
index 2b3dfc2..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
@@ -751,20 +751,20 @@
 
 // ANDROID_CONTROL_AF_REGIONS_SET
 typedef enum camera_metadata_enum_android_control_af_regions_set {
-    ANDROID_CONTROL_AF_REGIONS_SET_TRUE                             ,
     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_TRUE                             ,
     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_TRUE                            ,
     ANDROID_CONTROL_AWB_REGIONS_SET_FALSE                           ,
+    ANDROID_CONTROL_AWB_REGIONS_SET_TRUE                            ,
 } camera_metadata_enum_android_control_awb_regions_set_t;
 
 
@@ -985,8 +985,8 @@
 
 // ANDROID_SCALER_CROP_REGION_SET
 typedef enum camera_metadata_enum_android_scaler_crop_region_set {
-    ANDROID_SCALER_CROP_REGION_SET_TRUE                             ,
     ANDROID_SCALER_CROP_REGION_SET_FALSE                            ,
+    ANDROID_SCALER_CROP_REGION_SET_TRUE                             ,
 } camera_metadata_enum_android_scaler_crop_region_set_t;
 
 
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.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.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/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 4194d48..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 98e2593..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-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/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/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/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/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/generated-headers/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/generated-headers/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/generated-headers/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/generated-headers/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/generated-headers/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/generated-headers/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/generated-headers/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/generated-headers/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/generated-headers/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/generated-headers/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/generated-headers/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/generated-headers/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/generated-headers/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLight.h b/x86/include/generated-headers/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/generated-headers/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLight.h
+++ b/x86/include/generated-headers/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/generated-headers/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLightState.h b/x86/include/generated-headers/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/generated-headers/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLightState.h
+++ b/x86/include/generated-headers/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/generated-headers/hardware/interfaces/vibrator/aidl/android.hardware.vibrator-V2-ndk_platform-source/gen/include/aidl/android/hardware/vibrator/BrakingPwle.h b/x86/include/generated-headers/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/generated-headers/hardware/interfaces/vibrator/aidl/android.hardware.vibrator-V2-ndk_platform-source/gen/include/aidl/android/hardware/vibrator/BrakingPwle.h
+++ b/x86/include/generated-headers/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/generated-headers/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/AuthenticatorSpec.h b/x86/include/generated-headers/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/generated-headers/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/AuthenticatorSpec.h
+++ b/x86/include/generated-headers/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/generated-headers/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/Authorization.h b/x86/include/generated-headers/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/generated-headers/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/Authorization.h
+++ b/x86/include/generated-headers/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/generated-headers/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyDescriptor.h b/x86/include/generated-headers/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/generated-headers/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyDescriptor.h
+++ b/x86/include/generated-headers/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/generated-headers/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyMetadata.h b/x86/include/generated-headers/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/generated-headers/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyMetadata.h
+++ b/x86/include/generated-headers/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/system/media/camera/include/system/camera_metadata_tags.h b/x86/include/system/media/camera/include/system/camera_metadata_tags.h
index 2b3dfc2..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
@@ -751,20 +751,20 @@
 
 // ANDROID_CONTROL_AF_REGIONS_SET
 typedef enum camera_metadata_enum_android_control_af_regions_set {
-    ANDROID_CONTROL_AF_REGIONS_SET_TRUE                             ,
     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_TRUE                             ,
     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_TRUE                            ,
     ANDROID_CONTROL_AWB_REGIONS_SET_FALSE                           ,
+    ANDROID_CONTROL_AWB_REGIONS_SET_TRUE                            ,
 } camera_metadata_enum_android_control_awb_regions_set_t;
 
 
@@ -985,8 +985,8 @@
 
 // ANDROID_SCALER_CROP_REGION_SET
 typedef enum camera_metadata_enum_android_scaler_crop_region_set {
-    ANDROID_SCALER_CROP_REGION_SET_TRUE                             ,
     ANDROID_SCALER_CROP_REGION_SET_FALSE                            ,
+    ANDROID_SCALER_CROP_REGION_SET_TRUE                             ,
 } camera_metadata_enum_android_scaler_crop_region_set_t;
 
 
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.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.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/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 af68894..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 6191603..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-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/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.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.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.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/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 2c40515..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 424dde9..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-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/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/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/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/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/generated-headers/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/generated-headers/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/generated-headers/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/generated-headers/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/generated-headers/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/generated-headers/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/generated-headers/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/generated-headers/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/generated-headers/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/generated-headers/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/generated-headers/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/generated-headers/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/generated-headers/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLight.h b/x86_64/include/generated-headers/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/generated-headers/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLight.h
+++ b/x86_64/include/generated-headers/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/generated-headers/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLightState.h b/x86_64/include/generated-headers/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/generated-headers/hardware/interfaces/light/aidl/android.hardware.light-V1-ndk_platform-source/gen/include/aidl/android/hardware/light/HwLightState.h
+++ b/x86_64/include/generated-headers/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/generated-headers/hardware/interfaces/vibrator/aidl/android.hardware.vibrator-V2-ndk_platform-source/gen/include/aidl/android/hardware/vibrator/BrakingPwle.h b/x86_64/include/generated-headers/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/generated-headers/hardware/interfaces/vibrator/aidl/android.hardware.vibrator-V2-ndk_platform-source/gen/include/aidl/android/hardware/vibrator/BrakingPwle.h
+++ b/x86_64/include/generated-headers/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/generated-headers/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/AuthenticatorSpec.h b/x86_64/include/generated-headers/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/generated-headers/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/AuthenticatorSpec.h
+++ b/x86_64/include/generated-headers/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/generated-headers/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/Authorization.h b/x86_64/include/generated-headers/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/generated-headers/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/Authorization.h
+++ b/x86_64/include/generated-headers/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/generated-headers/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyDescriptor.h b/x86_64/include/generated-headers/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/generated-headers/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyDescriptor.h
+++ b/x86_64/include/generated-headers/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/generated-headers/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyMetadata.h b/x86_64/include/generated-headers/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/generated-headers/system/hardware/interfaces/keystore2/aidl/android.system.keystore2-V1-ndk_platform-source/gen/include/aidl/android/system/keystore2/KeyMetadata.h
+++ b/x86_64/include/generated-headers/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/system/media/camera/include/system/camera_metadata_tags.h b/x86_64/include/system/media/camera/include/system/camera_metadata_tags.h
index 2b3dfc2..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
@@ -751,20 +751,20 @@
 
 // ANDROID_CONTROL_AF_REGIONS_SET
 typedef enum camera_metadata_enum_android_control_af_regions_set {
-    ANDROID_CONTROL_AF_REGIONS_SET_TRUE                             ,
     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_TRUE                             ,
     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_TRUE                            ,
     ANDROID_CONTROL_AWB_REGIONS_SET_FALSE                           ,
+    ANDROID_CONTROL_AWB_REGIONS_SET_TRUE                            ,
 } camera_metadata_enum_android_control_awb_regions_set_t;
 
 
@@ -985,8 +985,8 @@
 
 // ANDROID_SCALER_CROP_REGION_SET
 typedef enum camera_metadata_enum_android_scaler_crop_region_set {
-    ANDROID_SCALER_CROP_REGION_SET_TRUE                             ,
     ANDROID_SCALER_CROP_REGION_SET_FALSE                            ,
+    ANDROID_SCALER_CROP_REGION_SET_TRUE                             ,
 } camera_metadata_enum_android_scaler_crop_region_set_t;
 
 
