Merge "Switch the FS type of generic_system_image to erofs" into main
diff --git a/target/product/generic/Android.bp b/target/product/generic/Android.bp
index f94865b..6d80886 100644
--- a/target/product/generic/Android.bp
+++ b/target/product/generic/Android.bp
@@ -410,7 +410,6 @@
         "init.zygote32.rc",
         "init.zygote64.rc",
         "init.zygote64_32.rc",
-        "init_first_stage", // for boot partition
         "initial-package-stopped-states.xml",
         "input",
         "installd",
@@ -424,7 +423,6 @@
         "ld.mc",
         "llkd", // base_system
         "lmkd", // base_system
-        "local_time.default", // handheld_vendo
         "locksettings", // base_system
         "logcat", // base_system
         "logd", // base_system
@@ -486,7 +484,6 @@
         "sm", // base_system
         "snapshotctl", // base_system
         "snapuserd", // base_system
-        "snapuserd_ramdisk", // ramdisk
         "storaged", // base_system
         "surfaceflinger", // base_system
         "svc", // base_system
@@ -586,6 +583,7 @@
                 "ContactsProvider", // base_system
                 "CredentialManager", // handheld_system
                 "DeviceAsWebcam", // handheld_system
+                "DeviceDiagnostics", // handheld_system - internal
                 "DocumentsUI", // handheld_system
                 "DownloadProvider", // base_system
                 "DownloadProviderUi", // handheld_system
@@ -611,7 +609,6 @@
                 "PacProcessor", // handheld_system
                 "PackageInstaller", // base_system
                 "PartnerBookmarksProvider", // generic_system
-                "PhotoTable", // full_base
                 "PrintRecommendationService", // handheld_system
                 "PrintSpooler", // handheld_system
                 "ProxyHandler", // handheld_system
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 (
 	.