Merge "Fix NPE when creating mirror displays w/o VDM" into main
diff --git a/apex/jobscheduler/framework/aconfig/job.aconfig b/apex/jobscheduler/framework/aconfig/job.aconfig
index 47a85498f..63624d8 100644
--- a/apex/jobscheduler/framework/aconfig/job.aconfig
+++ b/apex/jobscheduler/framework/aconfig/job.aconfig
@@ -29,6 +29,7 @@
    namespace: "backstage_power"
    description: "Detect, report and take action on jobs that maybe abandoned by the app without calling jobFinished."
    bug: "372529068"
+   is_exported: true
 }
 
 flag {
@@ -36,6 +37,7 @@
     namespace: "backstage_power"
     description: "Ignore the important_while_foreground flag and change the related APIs to be not effective"
     bug: "374175032"
+    is_exported: true
 }
 
 flag {
diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java
index 0268b5b..a4d8a5c 100644
--- a/core/java/android/app/Notification.java
+++ b/core/java/android/app/Notification.java
@@ -6767,19 +6767,6 @@
         }
 
         /**
-         * Construct a RemoteViews for the ambient version of the notification.
-         *
-         * @hide
-         */
-        public RemoteViews makeAmbientNotification() {
-            RemoteViews headsUpContentView = createHeadsUpContentView(false /* increasedHeight */);
-            if (headsUpContentView != null) {
-                return headsUpContentView;
-            }
-            return createContentView();
-        }
-
-        /**
          * Adapt the Notification header if this view is used as an expanded view.
          *
          * @hide
diff --git a/core/java/android/app/activity_manager.aconfig b/core/java/android/app/activity_manager.aconfig
index 1f31ab5..44940ae 100644
--- a/core/java/android/app/activity_manager.aconfig
+++ b/core/java/android/app/activity_manager.aconfig
@@ -164,4 +164,5 @@
      name: "app_start_info_component"
      description: "Control ApplicationStartInfo component field and API"
      bug: "362537357"
+     is_exported: true
 }
diff --git a/core/java/android/app/admin/flags/flags.aconfig b/core/java/android/app/admin/flags/flags.aconfig
index 686c830..02a7a76 100644
--- a/core/java/android/app/admin/flags/flags.aconfig
+++ b/core/java/android/app/admin/flags/flags.aconfig
@@ -367,6 +367,7 @@
     namespace: "enterprise"
     description: "API that removes a given managed profile."
     bug: "372652841"
+    is_exported: true
 }
 
 flag {
@@ -391,6 +392,7 @@
   namespace: "enterprise"
   description: "Split up existing create and provision managed profile API."
   bug: "375382324"
+  is_exported: true
 }
 
 flag {
diff --git a/core/java/android/app/contextualsearch/flags.aconfig b/core/java/android/app/contextualsearch/flags.aconfig
index 5e09517..529b59a 100644
--- a/core/java/android/app/contextualsearch/flags.aconfig
+++ b/core/java/android/app/contextualsearch/flags.aconfig
@@ -6,6 +6,7 @@
   namespace: "machine_learning"
   description: "Flag to enable the service"
   bug: "309689654"
+  is_exported: true
 }
 flag {
   name: "enable_token_refresh"
diff --git a/core/java/android/app/jank/flags.aconfig b/core/java/android/app/jank/flags.aconfig
index 5657f7e..a62df1b 100644
--- a/core/java/android/app/jank/flags.aconfig
+++ b/core/java/android/app/jank/flags.aconfig
@@ -6,6 +6,7 @@
   namespace: "system_performance"
   description: "Control the API portion of Detailed Application Jank Metrics"
   bug: "366264614"
+  is_exported: true
 }
 
 flag {
diff --git a/core/java/android/appwidget/flags.aconfig b/core/java/android/appwidget/flags.aconfig
index 17bcdb0..9914ba2 100644
--- a/core/java/android/appwidget/flags.aconfig
+++ b/core/java/android/appwidget/flags.aconfig
@@ -111,4 +111,5 @@
   namespace: "app_widgets"
   description: "Enable collection of widget engagement metrics"
   bug: "364655296"
+  is_exported: true
 }
diff --git a/core/java/android/companion/flags.aconfig b/core/java/android/companion/flags.aconfig
index 2539a12..2b9f700 100644
--- a/core/java/android/companion/flags.aconfig
+++ b/core/java/android/companion/flags.aconfig
@@ -46,6 +46,7 @@
     namespace: "companion"
     description: "Unpair with an associated bluetooth device"
     bug: "322237619"
+    is_exported: true
 }
 
 flag {
diff --git a/core/java/android/content/pm/flags.aconfig b/core/java/android/content/pm/flags.aconfig
index fbe581c..8ba2dcc 100644
--- a/core/java/android/content/pm/flags.aconfig
+++ b/core/java/android/content/pm/flags.aconfig
@@ -341,6 +341,7 @@
     description: "Feature flag to introduce a new way to change the launcher badging."
     bug: "364760703"
     is_fixed_read_only: true
+    is_exported: true
 }
 
 flag {
@@ -357,6 +358,7 @@
     namespace: "package_manager_service"
     description: "Block app installations that specify an incompatible minor SDK version"
     bug: "377302905"
+    is_exported: true
 }
 
 flag {
diff --git a/core/java/android/content/pm/multiuser.aconfig b/core/java/android/content/pm/multiuser.aconfig
index d351ebc..f29e2e8 100644
--- a/core/java/android/content/pm/multiuser.aconfig
+++ b/core/java/android/content/pm/multiuser.aconfig
@@ -593,4 +593,5 @@
     namespace: "profile_experiences"
     description: "Add support for LauncherUserInfo configs"
     bug: "346553745"
+    is_exported: true
 }
diff --git a/core/java/android/content/pm/xr.aconfig b/core/java/android/content/pm/xr.aconfig
index 61835c1..a26f48e 100644
--- a/core/java/android/content/pm/xr.aconfig
+++ b/core/java/android/content/pm/xr.aconfig
@@ -6,4 +6,5 @@
     name: "xr_manifest_entries"
     description: "Adds manifest entries used by Android XR"
     bug: "364416355"
+    is_exported: true
 }
\ No newline at end of file
diff --git a/core/java/android/hardware/biometrics/flags.aconfig b/core/java/android/hardware/biometrics/flags.aconfig
index 7a23033..73b6417 100644
--- a/core/java/android/hardware/biometrics/flags.aconfig
+++ b/core/java/android/hardware/biometrics/flags.aconfig
@@ -53,6 +53,7 @@
   namespace: "biometrics_framework"
   description: "This flag is for API changes related to Identity Check"
   bug: "373424727"
+  is_exported: true
 }
 
 flag {
diff --git a/core/java/android/hardware/input/input_framework.aconfig b/core/java/android/hardware/input/input_framework.aconfig
index 0c89059..716b3af 100644
--- a/core/java/android/hardware/input/input_framework.aconfig
+++ b/core/java/android/hardware/input/input_framework.aconfig
@@ -160,6 +160,7 @@
     namespace: "input"
     description: "Enables new 25Q2 keycodes"
     bug: "365920375"
+    is_exported: true
 }
 
 flag {
diff --git a/core/java/android/hardware/usb/flags/usb_framework_flags.aconfig b/core/java/android/hardware/usb/flags/usb_framework_flags.aconfig
index b719a7c..9403f78 100644
--- a/core/java/android/hardware/usb/flags/usb_framework_flags.aconfig
+++ b/core/java/android/hardware/usb/flags/usb_framework_flags.aconfig
@@ -30,6 +30,7 @@
     namespace: "usb"
     description: "Feature flag to enable exposing usb speed system api"
     bug: "373653182"
+    is_exported: true
 }
 
 flag {
diff --git a/core/java/android/net/flags.aconfig b/core/java/android/net/flags.aconfig
index f7dc790..6799db3 100644
--- a/core/java/android/net/flags.aconfig
+++ b/core/java/android/net/flags.aconfig
@@ -27,4 +27,5 @@
   metadata {
     purpose: PURPOSE_BUGFIX
   }
+  is_exported: true
 }
diff --git a/core/java/android/os/flags.aconfig b/core/java/android/os/flags.aconfig
index 3001fbd..d3de3f5 100644
--- a/core/java/android/os/flags.aconfig
+++ b/core/java/android/os/flags.aconfig
@@ -96,6 +96,7 @@
     namespace: "crumpet"
     description: "Allow privileged apps to call bugreport generation without enforcing user consent and delegate it to the calling app instead"
     bug: "324046728"
+    is_exported: true
 }
 
 # This flag guards the private space feature, its APIs, and some of the feature implementations. The flag android.multiuser.Flags.enable_private_space_features exclusively guards all the implementations.
@@ -178,6 +179,7 @@
     namespace: "game"
     description: "Feature flag for adding CPU/GPU headroom API"
     bug: "346604998"
+    is_exported: true
 }
 
 flag {
diff --git a/core/java/android/permission/flags.aconfig b/core/java/android/permission/flags.aconfig
index b5139b5..0bd301c 100644
--- a/core/java/android/permission/flags.aconfig
+++ b/core/java/android/permission/flags.aconfig
@@ -213,6 +213,7 @@
     namespace: "permissions"
     description: "Enable getDeviceId API in OpEventProxyInfo"
     bug: "337340961"
+    is_exported: true
 }
 
 flag {
@@ -254,6 +255,7 @@
   namespace: "permissions"
   description: "New setOnOpNotedCallback API to allow subscribing to only sync ops."
   bug: "372910217"
+  is_exported: true
 }
 
 flag {
diff --git a/core/java/android/security/flags.aconfig b/core/java/android/security/flags.aconfig
index 09004b3..34bae46 100644
--- a/core/java/android/security/flags.aconfig
+++ b/core/java/android/security/flags.aconfig
@@ -112,6 +112,7 @@
     namespace: "hardware_backed_security"
     description: "AFL feature"
     bug: "365994454"
+    is_exported: true
 }
 
 flag {
@@ -127,6 +128,7 @@
     namespace: "hardware_backed_security"
     description: "Feature flag for exposing KeyStore grant APIs"
     bug: "351158708"
+    is_exported: true
 }
 
 flag {
@@ -134,4 +136,5 @@
     namespace: "biometrics"
     description: "Feature flag for Secure Lockdown feature"
     bug: "373422357"
+    is_exported: true
 }
\ No newline at end of file
diff --git a/core/java/android/security/responsible_apis_flags.aconfig b/core/java/android/security/responsible_apis_flags.aconfig
index 2007a5f..ec7e3a5 100644
--- a/core/java/android/security/responsible_apis_flags.aconfig
+++ b/core/java/android/security/responsible_apis_flags.aconfig
@@ -78,6 +78,7 @@
     description: "Prevent intent redirect attacks"
     bug: "361143368"
     is_fixed_read_only: true
+    is_exported: true
 }
 
 flag {
diff --git a/core/java/android/service/quickaccesswallet/flags.aconfig b/core/java/android/service/quickaccesswallet/flags.aconfig
index 7225f27..9736345 100644
--- a/core/java/android/service/quickaccesswallet/flags.aconfig
+++ b/core/java/android/service/quickaccesswallet/flags.aconfig
@@ -6,6 +6,7 @@
     namespace: "wallet_integration"
     description: "Option to launch the Wallet app on double-tap of the power button"
     bug: "378469025"
+    is_exported: true
 }
 
 flag {
diff --git a/core/java/android/text/flags/flags.aconfig b/core/java/android/text/flags/flags.aconfig
index f43f172..c2e542c 100644
--- a/core/java/android/text/flags/flags.aconfig
+++ b/core/java/android/text/flags/flags.aconfig
@@ -91,6 +91,7 @@
   metadata {
     purpose: PURPOSE_BUGFIX
   }
+  is_exported: true
 }
 
 flag {
@@ -196,6 +197,7 @@
   namespace: "text"
   description: "Feature flag for adding a TYPE_DURATION to TtsSpan"
   bug: "337103893"
+  is_exported: true
 }
 
 flag {
@@ -203,6 +205,7 @@
   namespace: "text"
   description: "Deprecate the Paint#elegantTextHeight API and stick it to true"
   bug: "349519475"
+  is_exported: true
 }
 
 flag {
@@ -210,4 +213,5 @@
   namespace: "text"
   description: "Make Paint class work for vertical layout text."
   bug: "355296926"
+  is_exported: true
 }
diff --git a/core/java/android/view/LetterboxScrollProcessor.java b/core/java/android/view/LetterboxScrollProcessor.java
index 1364a82..8c1b0f8 100644
--- a/core/java/android/view/LetterboxScrollProcessor.java
+++ b/core/java/android/view/LetterboxScrollProcessor.java
@@ -78,6 +78,11 @@
     @Nullable
     @VisibleForTesting(visibility = PACKAGE)
     public List<MotionEvent> processMotionEvent(@NonNull MotionEvent motionEvent) {
+        if (!motionEvent.isFromSource(InputDevice.SOURCE_CLASS_POINTER)) {
+            // This is a non-pointer event that doesn't correspond to any location on the screen.
+            // Ignore it.
+            return null;
+        }
         mProcessedEvents.clear();
         final Rect appBounds = getAppBounds();
 
diff --git a/core/java/android/view/accessibility/flags/accessibility_flags.aconfig b/core/java/android/view/accessibility/flags/accessibility_flags.aconfig
index e60fc3a..049ad20 100644
--- a/core/java/android/view/accessibility/flags/accessibility_flags.aconfig
+++ b/core/java/android/view/accessibility/flags/accessibility_flags.aconfig
@@ -8,6 +8,7 @@
     namespace: "accessibility"
     description: "Enables new APIs for an app to convey if a node is expanded or collapsed."
     bug: "362782536"
+    is_exported: true
 }
 
 flag {
@@ -15,6 +16,7 @@
     namespace: "accessibility"
     description: "Adds an API to indicate whether a form field (or similar element) is required."
     bug: "362784403"
+    is_exported: true
 }
 
 flag {
@@ -44,6 +46,7 @@
     namespace: "accessibility"
     description: "Enables new extra data key for an AccessibilityService to request character bounds in unmagnified window coordinates."
     bug: "375429616"
+    is_exported: true
 }
 
 flag {
@@ -88,6 +91,7 @@
     name: "deprecate_accessibility_announcement_apis"
     description: "Controls the deprecation of platform APIs related to disruptive accessibility announcements"
     bug: "376727542"
+    is_exported: true
 }
 
 flag {
@@ -95,6 +99,7 @@
     name: "deprecate_ani_label_for_apis"
     description: "Controls the deprecation of AccessibilityNodeInfo labelFor apis"
     bug: "333783827"
+    is_exported: true
 }
 
 flag {
@@ -145,6 +150,7 @@
     name: "global_action_menu"
     description: "Allow AccessibilityService to perform GLOBAL_ACTION_MENU"
     bug: "334954140"
+    is_exported: true
 }
 
 flag {
@@ -152,6 +158,7 @@
     name: "global_action_media_play_pause"
     description: "Allow AccessibilityService to perform GLOBAL_ACTION_MEDIA_PLAY_PAUSE"
     bug: "334954140"
+    is_exported: true
 }
 
 flag {
@@ -230,6 +237,7 @@
     namespace: "accessibility"
     description: "Feature flag for supplemental description api"
     bug: "375266174"
+    is_exported: true
 }
 
 flag {
@@ -237,6 +245,7 @@
     namespace: "accessibility"
     description: "Feature flag for supporting multiple labels in AccessibilityNodeInfo labeledby api"
     bug: "333780959"
+    is_exported: true
 }
 
 flag {
@@ -251,6 +260,7 @@
     namespace: "accessibility"
     description: "Feature flag for adding tri-state checked api"
     bug: "333784774"
+    is_exported: true
 }
 
 flag {
@@ -261,11 +271,12 @@
     metadata {
         purpose: PURPOSE_BUGFIX
     }
- }
+}
 
- flag {
+flag {
     name: "indeterminate_range_info"
     namespace: "accessibility"
     description: "Creates a way to create an INDETERMINATE RangeInfo"
     bug: "376108874"
- }
+    is_exported: true
+}
diff --git a/core/java/android/view/flags/refresh_rate_flags.aconfig b/core/java/android/view/flags/refresh_rate_flags.aconfig
index 1c7570e..675e5a1 100644
--- a/core/java/android/view/flags/refresh_rate_flags.aconfig
+++ b/core/java/android/view/flags/refresh_rate_flags.aconfig
@@ -127,6 +127,7 @@
     description: "Feature flag to introduce new frame rate setting APIs on ViewGroup"
     bug: "335874198"
     is_fixed_read_only: true
+    is_exported: true
 }
 
 flag {
diff --git a/core/java/android/view/flags/view_flags.aconfig b/core/java/android/view/flags/view_flags.aconfig
index 3b6343e..641b010 100644
--- a/core/java/android/view/flags/view_flags.aconfig
+++ b/core/java/android/view/flags/view_flags.aconfig
@@ -116,6 +116,7 @@
     description: "Add a SurfaceView composition order control API."
     bug: "341021569"
     is_fixed_read_only: true
+    is_exported: true
 }
 
 flag {
@@ -124,6 +125,7 @@
     description: "Add APIs to manage SurfacePackage of the parent SurfaceView."
     bug: "341021569"
     is_fixed_read_only: true
+    is_exported: true
 }
 
 flag {
diff --git a/core/java/android/view/inputmethod/flags.aconfig b/core/java/android/view/inputmethod/flags.aconfig
index 73abc47..41567fb 100644
--- a/core/java/android/view/inputmethod/flags.aconfig
+++ b/core/java/android/view/inputmethod/flags.aconfig
@@ -165,6 +165,7 @@
     description: "Writing tools API"
     bug: "373788889"
     is_fixed_read_only: true
+    is_exported: true
 }
 
 flag {
@@ -191,4 +192,5 @@
   description: "Verify KeyEvents in IME"
   bug: "331730488"
   is_fixed_read_only: true
+  is_exported: true
 }
diff --git a/core/java/android/window/flags/lse_desktop_experience.aconfig b/core/java/android/window/flags/lse_desktop_experience.aconfig
index 65e5679..4fb5fa7 100644
--- a/core/java/android/window/flags/lse_desktop_experience.aconfig
+++ b/core/java/android/window/flags/lse_desktop_experience.aconfig
@@ -297,6 +297,7 @@
     namespace: "lse_desktop_experience"
     description: "Enables desktop windowing app-to-web education"
     bug: "348205896"
+    is_exported: true
 }
 
 flag {
diff --git a/core/java/android/window/flags/responsible_apis.aconfig b/core/java/android/window/flags/responsible_apis.aconfig
index b2f125d..d5ba32c 100644
--- a/core/java/android/window/flags/responsible_apis.aconfig
+++ b/core/java/android/window/flags/responsible_apis.aconfig
@@ -48,6 +48,7 @@
     namespace: "responsible_apis"
     description: "Introduce additional start modes."
     bug: "352182359"
+    is_exported: true
 }
 
 flag {
@@ -55,6 +56,7 @@
     namespace: "responsible_apis"
     description: "Add options parameter to IntentSender.sendIntent."
     bug: "339720406"
+    is_exported: true
 }
 
 flag {
@@ -63,6 +65,7 @@
     description: "Strict mode flag"
     bug: "324089586"
     is_fixed_read_only: true
+    is_exported: true
 }
 
 flag {
diff --git a/core/java/android/window/flags/wallpaper_manager.aconfig b/core/java/android/window/flags/wallpaper_manager.aconfig
index efacc34..1ddfe87 100644
--- a/core/java/android/window/flags/wallpaper_manager.aconfig
+++ b/core/java/android/window/flags/wallpaper_manager.aconfig
@@ -14,6 +14,7 @@
   namespace: "systemui"
   description: "Support storing different wallpaper crops for different display dimensions. Only effective after rebooting."
   bug: "281648899"
+  is_exported: true
 }
 
 flag {
diff --git a/core/java/android/window/flags/windowing_frontend.aconfig b/core/java/android/window/flags/windowing_frontend.aconfig
index ebbe483..0b034b6 100644
--- a/core/java/android/window/flags/windowing_frontend.aconfig
+++ b/core/java/android/window/flags/windowing_frontend.aconfig
@@ -368,6 +368,7 @@
     description: "PRIORITY_SYSTEM_NAVIGATION_OBSERVER predictive back API extension"
     is_fixed_read_only: true
     bug: "362938401"
+    is_exported: true
 }
 
 flag {
@@ -376,6 +377,7 @@
     description: "expose timestamp in BackEvent (API extension)"
     is_fixed_read_only: true
     bug: "362938401"
+    is_exported: true
 }
 
 flag {
@@ -384,6 +386,7 @@
     description: "EDGE_NONE swipeEdge option in BackEvent"
     is_fixed_read_only: true
     bug: "362938401"
+    is_exported: true
 }
 
 flag {
@@ -422,6 +425,7 @@
     description: "Provide pre-make predictive back API extension"
     is_fixed_read_only: true
     bug: "362938401"
+    is_exported: true
 }
 
 flag {
diff --git a/core/java/android/window/flags/windowing_sdk.aconfig b/core/java/android/window/flags/windowing_sdk.aconfig
index b7012b6..81734a3 100644
--- a/core/java/android/window/flags/windowing_sdk.aconfig
+++ b/core/java/android/window/flags/windowing_sdk.aconfig
@@ -100,6 +100,7 @@
     name: "touch_pass_through_opt_in"
     description: "Requires apps to opt-in to overlay pass through touches and provide APIs to opt-in"
     bug: "358129114"
+    is_exported: true
 }
 
 flag {
diff --git a/libs/hwui/aconfig/hwui_flags.aconfig b/libs/hwui/aconfig/hwui_flags.aconfig
index fa27af6..e497ea1 100644
--- a/libs/hwui/aconfig/hwui_flags.aconfig
+++ b/libs/hwui/aconfig/hwui_flags.aconfig
@@ -6,6 +6,7 @@
   namespace: "core_graphics"
   description: "API for AGSL authored runtime color filters and blenders"
   bug: "358126864"
+  is_exported: true
 }
 
 flag {
@@ -44,6 +45,7 @@
   namespace: "accessibility"
   description: "Draw a solid rectangle background behind text instead of a stroke outline"
   bug: "186567103"
+  is_exported: true
 }
 
 flag {
@@ -96,6 +98,7 @@
   namespace: "core_graphics"
   description: "Add canvas#drawRegion API"
   bug: "318612129"
+  is_exported: true
 }
 
 flag {
diff --git a/location/java/android/location/flags/location.aconfig b/location/java/android/location/flags/location.aconfig
index 24e1d32..5395206 100644
--- a/location/java/android/location/flags/location.aconfig
+++ b/location/java/android/location/flags/location.aconfig
@@ -6,6 +6,7 @@
     namespace: "location"
     description: "Deprecates LocationManager ProviderChanged APIs"
     bug: "361811782"
+    is_exported: true
 }
 
 flag {
@@ -27,6 +28,7 @@
     namespace: "location"
     description: "Flag for new Geocoder APIs"
     bug: "229872126"
+    is_exported: true
 }
 
 flag {
@@ -56,6 +58,7 @@
     namespace: "location"
     description: "Flag for making geoid heights available via the Altitude HAL"
     bug: "304375846"
+    is_exported: true
 }
 
 flag {
@@ -63,6 +66,7 @@
     namespace: "location"
     description: "Flag for GNSS API for NavIC L1"
     bug: "302199306"
+    is_exported: true
 }
 
 flag {
@@ -70,6 +74,7 @@
     namespace: "location"
     description: "Flag for GnssMeasurementRequest WorkSource API"
     bug: "295235160"
+    is_exported: true
 }
 
 flag {
@@ -129,6 +134,7 @@
     metadata {
         purpose: PURPOSE_BUGFIX
     }
+    is_exported: true
 }
 
 flag {
diff --git a/packages/CarrierDefaultApp/AndroidManifest.xml b/packages/CarrierDefaultApp/AndroidManifest.xml
index 8f9730a..6fdd73a 100644
--- a/packages/CarrierDefaultApp/AndroidManifest.xml
+++ b/packages/CarrierDefaultApp/AndroidManifest.xml
@@ -50,6 +50,7 @@
             android:name="com.android.carrierdefaultapp.CaptivePortalLoginActivity"
             android:label="@string/action_bar_label"
             android:exported="true"
+            android:enableOnBackInvokedCallback="false"
             android:permission="android.permission.MODIFY_PHONE_STATE"
             android:theme="@style/AppTheme"
             android:configChanges="keyboardHidden|orientation|screenSize">
diff --git a/packages/PackageInstaller/AndroidManifest.xml b/packages/PackageInstaller/AndroidManifest.xml
index 68443a7..e029f3a 100644
--- a/packages/PackageInstaller/AndroidManifest.xml
+++ b/packages/PackageInstaller/AndroidManifest.xml
@@ -81,10 +81,12 @@
             android:exported="false" />
 
         <activity android:name=".PackageInstallerActivity"
-                android:exported="false" />
+                android:exported="false"
+                android:enableOnBackInvokedCallback="false" />
 
         <activity android:name=".InstallInstalling"
-                android:exported="false" />
+                android:exported="false"
+                android:enableOnBackInvokedCallback="false" />
 
         <receiver android:name=".common.InstallEventReceiver"
                 android:permission="android.permission.INSTALL_PACKAGES"
@@ -138,6 +140,7 @@
 
         <activity android:name=".UninstallUninstalling"
             android:excludeFromRecents="true"
+            android:enableOnBackInvokedCallback="false"
             android:exported="false" />
 
         <receiver android:name=".UninstallFinish"
diff --git a/packages/SettingsLib/aconfig/settingslib.aconfig b/packages/SettingsLib/aconfig/settingslib.aconfig
index 89de995..2d13add 100644
--- a/packages/SettingsLib/aconfig/settingslib.aconfig
+++ b/packages/SettingsLib/aconfig/settingslib.aconfig
@@ -98,6 +98,7 @@
     namespace: "android_settings"
     description: "Settings catalyst project migration"
     bug: "323791114"
+    is_exported: true
 }
 
 flag {
@@ -106,6 +107,7 @@
     namespace: "android_settings"
     description: "Enable WRITE_SYSTEM_PREFERENCE permission and appop"
     bug: "375193223"
+    is_exported: true
 }
 
 flag {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/core/StatusBarOrchestrator.kt b/packages/SystemUI/src/com/android/systemui/statusbar/core/StatusBarOrchestrator.kt
index 9f5a311..f91c5dd 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/core/StatusBarOrchestrator.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/core/StatusBarOrchestrator.kt
@@ -242,10 +242,10 @@
 
     private fun updateBubblesVisibility(statusBarVisible: Boolean) {
         if (displayId != Display.DEFAULT_DISPLAY) {
+            // Bubbles are currently only supported on the default display.
             return
         }
         bubblesOptional.ifPresent { bubbles: Bubbles ->
-            // TODO(b/373311537): per display implementation of Bubbles
             bubbles.onStatusBarVisibilityChanged(statusBarVisible)
         }
     }
diff --git a/packages/VpnDialogs/AndroidManifest.xml b/packages/VpnDialogs/AndroidManifest.xml
index ca4b5d4..6ccfaf3 100644
--- a/packages/VpnDialogs/AndroidManifest.xml
+++ b/packages/VpnDialogs/AndroidManifest.xml
@@ -41,6 +41,7 @@
         <activity android:name=".PlatformVpnConfirmDialog"
                   android:theme="@*android:style/Theme.DeviceDefault.Dialog.Alert.DayNight"
                   android:noHistory="true"
+                  android:enableOnBackInvokedCallback="false"
                   android:excludeFromRecents="true"
                   android:exported="true">
         </activity>
diff --git a/services/autofill/features.aconfig b/services/autofill/features.aconfig
index 5703633..80e0e5d 100644
--- a/services/autofill/features.aconfig
+++ b/services/autofill/features.aconfig
@@ -6,6 +6,7 @@
   namespace: "autofill"
   description: "Guards against new metrics definitions introduced in W"
   bug: "342676602"
+  is_exported: true
 }
 
 flag {
diff --git a/services/backup/flags.aconfig b/services/backup/flags.aconfig
index 28d3cae..b4adad2 100644
--- a/services/backup/flags.aconfig
+++ b/services/backup/flags.aconfig
@@ -68,6 +68,7 @@
             "B&R operations in certain cases."
     bug: "376661510"
     is_fixed_read_only: true
+    is_exported: true
 }
 
 flag {
@@ -76,4 +77,11 @@
     namespace: "onboarding"
     description: "Enables read all external storage files"
     bug: "376598575"
-}
\ No newline at end of file
+}
+flag {
+    name: "enable_metrics_settings_backup_agents"
+    namespace: "onboarding"
+    description: "Enable SettingsBackupAgent to collect B&R agent metrics."
+    bug: "379861078"
+    is_fixed_read_only: true
+}
diff --git a/services/core/java/com/android/server/am/ProcessList.java b/services/core/java/com/android/server/am/ProcessList.java
index f86474f..70febcd 100644
--- a/services/core/java/com/android/server/am/ProcessList.java
+++ b/services/core/java/com/android/server/am/ProcessList.java
@@ -22,6 +22,7 @@
 import static android.app.ActivityManagerInternal.OOM_ADJ_REASON_PROCESS_END;
 import static android.app.ActivityManagerInternal.OOM_ADJ_REASON_RESTRICTION_CHANGE;
 import static android.app.ActivityThread.PROC_START_SEQ_IDENT;
+import static android.content.pm.Flags.appCompatOption16kb;
 import static android.content.pm.PackageManager.MATCH_DIRECT_BOOT_AUTO;
 import static android.net.NetworkPolicyManager.isProcStateAllowedWhileIdleOrPowerSaveMode;
 import static android.net.NetworkPolicyManager.isProcStateAllowedWhileOnRestrictBackground;
@@ -2025,6 +2026,16 @@
                 runtimeFlags |= Zygote.USE_APP_IMAGE_STARTUP_CACHE;
             }
 
+            if (appCompatOption16kb()) {
+                boolean is16KbDevice = Os.sysconf(OsConstants._SC_PAGESIZE) == 16384;
+                if (is16KbDevice
+                        && mService.mContext
+                        .getPackageManager()
+                        .isPageSizeCompatEnabled(app.info.packageName)) {
+                    runtimeFlags |= Zygote.ENABLE_PAGE_SIZE_APP_COMPAT;
+                }
+            }
+
             String invokeWith = null;
             if (debuggableFlag) {
                 // Debuggable apps may include a wrapper script with their library directory.
diff --git a/services/core/java/com/android/server/display/feature/display_flags.aconfig b/services/core/java/com/android/server/display/feature/display_flags.aconfig
index 3976d01..123b7df 100644
--- a/services/core/java/com/android/server/display/feature/display_flags.aconfig
+++ b/services/core/java/com/android/server/display/feature/display_flags.aconfig
@@ -9,6 +9,7 @@
     description: "Allows querying of AOD availability"
     bug: "324046664"
     is_fixed_read_only: true
+    is_exported: true
 }
 
 flag {
@@ -267,6 +268,7 @@
     description: "Feature flag for an API to get the highest defined HDR/SDR ratio for a display."
     bug: "335181559"
     is_fixed_read_only: true
+    is_exported: true
 }
 
 flag {
@@ -429,6 +431,7 @@
     description: "Flag for an API to get whether display supports ARR or not"
     bug: "361433651"
     is_fixed_read_only: true
+    is_exported: true
 }
 
 flag {
@@ -445,6 +448,7 @@
     description: "Flag for an API to get suggested frame rates"
     bug: "361433796"
     is_fixed_read_only: true
+    is_exported: true
 }
 
 flag {
@@ -453,6 +457,7 @@
     description: "Feature flag for an API to let the apps subscribe to a specific property change of the Display."
     bug: "372700957"
     is_fixed_read_only: true
+    is_exported: true
 }
 
 flag {
@@ -461,6 +466,7 @@
     description: "Flag to use the surfaceflinger rates for getSupportedRefreshRates"
     bug: "365163968"
     is_fixed_read_only: true
+    is_exported: true
 }
 
 flag {
diff --git a/services/core/java/com/android/server/power/stats/flags.aconfig b/services/core/java/com/android/server/power/stats/flags.aconfig
index ce6f57f..5e04881 100644
--- a/services/core/java/com/android/server/power/stats/flags.aconfig
+++ b/services/core/java/com/android/server/power/stats/flags.aconfig
@@ -29,6 +29,7 @@
     namespace: "backstage_power"
     description: "Feature flag for streamlined connectivity battery stats"
     bug: "323970018"
+    is_exported: true
 }
 
 flag {