Merge "Export video codec variables to soong" into main
diff --git a/target/product/generic/Android.bp b/target/product/generic/Android.bp
index 8923ca1..6d80886 100644
--- a/target/product/generic/Android.bp
+++ b/target/product/generic/Android.bp
@@ -318,6 +318,11 @@
         ],
         libs: [":framework-res{.export-package.apk}"],
     },
+    type: "erofs",
+    erofs: {
+        compressor: "lz4hc,9",
+        compress_hints: "erofs_compress_hints.txt",
+    },
     build_logtags: true,
     gen_aconfig_flags_pb: true,
 
diff --git a/target/product/generic/erofs_compress_hints.txt b/target/product/generic/erofs_compress_hints.txt
new file mode 100644
index 0000000..8b2a711
--- /dev/null
+++ b/target/product/generic/erofs_compress_hints.txt
@@ -0,0 +1 @@
+0 .*\.apex$
\ No newline at end of file
diff --git a/tools/aconfig/aconfig/src/codegen/java.rs b/tools/aconfig/aconfig/src/codegen/java.rs
index a34166d..47d4042 100644
--- a/tools/aconfig/aconfig/src/codegen/java.rs
+++ b/tools/aconfig/aconfig/src/codegen/java.rs
@@ -531,15 +531,16 @@
             private static boolean enabledRw = true;
             private void init() {
                 StorageInternalReader reader = null;
+                boolean foundPackage = true;
                 try {
                     reader = new StorageInternalReader("system", "com.android.aconfig.test");
-                    disabledRw = reader.getBooleanFlagValue(1);
-                    disabledRwExported = reader.getBooleanFlagValue(2);
-                    enabledRw = reader.getBooleanFlagValue(8);
-                    disabledRwInOtherNamespace = reader.getBooleanFlagValue(3);
                 } catch (Exception e) {
-                    throw new RuntimeException("Cannot read flag in codegen", e);
+                    foundPackage = false;
                 }
+                disabledRw = foundPackage ? reader.getBooleanFlagValue(1) : false;
+                disabledRwExported = foundPackage ? reader.getBooleanFlagValue(2) : false;
+                enabledRw = foundPackage ? reader.getBooleanFlagValue(8) : true;
+                disabledRwInOtherNamespace = foundPackage ? reader.getBooleanFlagValue(3) : false;
                 isCached = true;
             }
             private void load_overrides_aconfig_test() {
diff --git a/tools/aconfig/aconfig/templates/FeatureFlags.java.template b/tools/aconfig/aconfig/templates/FeatureFlags.java.template
index 38c8f13..d2799b2 100644
--- a/tools/aconfig/aconfig/templates/FeatureFlags.java.template
+++ b/tools/aconfig/aconfig/templates/FeatureFlags.java.template
@@ -19,4 +19,4 @@
 {{ -endif }}
     boolean {item.method_name}();
 {{ -endfor }}
-}
\ No newline at end of file
+}
diff --git a/tools/aconfig/aconfig/templates/FeatureFlagsImpl.java.template b/tools/aconfig/aconfig/templates/FeatureFlagsImpl.java.template
index d1cf191..26d3069 100644
--- a/tools/aconfig/aconfig/templates/FeatureFlagsImpl.java.template
+++ b/tools/aconfig/aconfig/templates/FeatureFlagsImpl.java.template
@@ -36,18 +36,19 @@
 {{ if not library_exported }}
     private void init() \{
         StorageInternalReader reader = null;
+        boolean foundPackage = true;
         try \{
             reader = new StorageInternalReader("{container}", "{package_name}");
-{{ for namespace_with_flags in namespace_flags }}
-{{ -for flag in namespace_with_flags.flags }}
-{{ if flag.is_read_write }}
-            {flag.method_name} = reader.getBooleanFlagValue({flag.flag_offset});
-{{ endif }}
-{{ -endfor }}
-{{ -endfor }}
         } catch (Exception e) \{
-            throw new RuntimeException("Cannot read flag in codegen", e);
+            foundPackage = false;
         }
+        {{ for namespace_with_flags in namespace_flags }}
+        {{ -for flag in namespace_with_flags.flags }}
+        {{ if flag.is_read_write }}
+            {flag.method_name} = foundPackage ? reader.getBooleanFlagValue({flag.flag_offset}) : {flag.default_value};
+        {{ endif }}
+        {{ -endfor }}
+        {{ -endfor }}
         isCached = true;
     }
 {{ endif }}
diff --git a/tools/compliance/go.work b/tools/compliance/go.work
index a24d2ea..506e619 100644
--- a/tools/compliance/go.work
+++ b/tools/compliance/go.work
@@ -1,4 +1,4 @@
-go 1.22
+go 1.23
 
 use (
 	.