Merge tag 'android-15.0.0_r6' into staging/lineage-22.0_merge-android-15.0.0_r6

Android 15.0.0 Release 6 (AP4A.241205.013)

# -----BEGIN PGP SIGNATURE-----
#
# iF0EABECAB0WIQRDQNE1cO+UXoOBCWTorT+BmrEOeAUCZ1IssgAKCRDorT+BmrEO
# eD4kAJ9ABvGoXpxJgkBGieH114f5tre6yQCdETCiblnjz566o61UjloZJXCvc84=
# =0zkq
# -----END PGP SIGNATURE-----
# gpg: Signature made Fri Dec  6 00:44:02 2024 EET
# gpg:                using DSA key 4340D13570EF945E83810964E8AD3F819AB10E78
# gpg: Good signature from "The Android Open Source Project <initial-contribution@android.com>" [marginal]
# gpg: initial-contribution@android.com: Verified 2468 signatures in the past
#      3 years.  Encrypted 4 messages in the past 2 years.
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg:          It is not certain that the signature belongs to the owner.
# Primary key fingerprint: 4340 D135 70EF 945E 8381  0964 E8AD 3F81 9AB1 0E78

# By Bill Yi (334) and others
# Via Android (Google) Code Review (5055) and others
* tag 'android-15.0.0_r6': (6071 commits)
  Do not handle touches next to shelf Take #2
  Revert "AudioService: synchronize audio mode and focus for Telecom"
  Use simple equality to compare media notif intents
  Disallow autofill session for visible background users
  Always allow System user to change device config in case of Multi-user-multi-display (MUMD)
  Revert "Sanitize Bundle from  AbstractAccountAuthenticator."
  Make Wearable settings readable
  Keep wallpaper in prepare back transition.
  Specify the display ID to mirror when creating virtual display
  Block uninstall if DMRH in a managed user
  Revert "Migrate to best practise to read network state"
  Fix tapping HUNs with weather clock
  Update mPosition when creating a new InsetsSourceControl
  Fix the enforcing method to pass current user for visible background users
  Fixes the issue of UDFPS icon background being white when the device is in DOZE_PULSING state
  [SingleLineView] Fallback to mUser when senderPerson is null
  Partially revert the decor bounds calculation
  Fix persisting SFPS indicator issue.
  AudioService: synchronize audio mode and focus for Telecom
  Revert "Reset HUN clipping after cancellation of disappearing animation"
  ...

 Conflicts:
	core/api/module-lib-current.txt
	core/java/android/content/res/AssetManager.java
	core/java/android/hardware/devicestate/feature/flags.aconfig
	core/java/android/os/BatteryConsumer.java
	core/java/android/os/BatteryManager.java
	core/java/android/os/PowerManager.java
	core/java/android/service/dreams/DreamService.java
	core/java/android/view/IWindowManager.aidl
	core/java/com/android/internal/widget/ILockSettings.aidl
	core/java/com/android/internal/widget/LockPatternView.java
	libs/WindowManager/Shell/src/com/android/wm/shell/draganddrop/DragAndDropController.java
	libs/WindowManager/Shell/src/com/android/wm/shell/draganddrop/DragLayout.java
	libs/WindowManager/Shell/src/com/android/wm/shell/draganddrop/DragSession.java
	libs/WindowManager/Shell/src/com/android/wm/shell/draganddrop/DropZoneView.java
	libs/WindowManager/Shell/src/com/android/wm/shell/draganddrop/SplitDragPolicy.java
	libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentTasksController.java
	libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/SplitScreenController.java
	libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/draganddrop/SplitDragPolicyTest.java
	libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/splitscreen/SplitScreenControllerTests.java
	packages/SystemUI/Android.bp
	packages/SystemUI/res/layout/navigation_layout.xml
	packages/SystemUI/res/layout/navigation_layout_vertical.xml
	packages/SystemUI/res/layout/screenshot_static.xml
	packages/SystemUI/shared/Android.bp
	packages/SystemUI/shared/biometrics/src/com/android/systemui/biometrics/Utils.kt
	packages/SystemUI/src/com/android/systemui/biometrics/UdfpsControllerOverlay.kt
	packages/SystemUI/src/com/android/systemui/biometrics/ui/binder/BiometricCustomizedViewBinder.kt
	packages/SystemUI/src/com/android/systemui/biometrics/ui/binder/BiometricViewBinder.kt
	packages/SystemUI/src/com/android/systemui/display/ui/viewmodel/ConnectingDisplayViewModel.kt
	packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardInteractor.kt
	packages/SystemUI/src/com/android/systemui/keyguard/shared/model/CameraLaunchSourceModel.kt
	packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardQuickAffordanceViewBinder.kt
	packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarControllerImpl.java
	packages/SystemUI/src/com/android/systemui/navigationbar/gestural/EdgeBackGestureHandler.java
	packages/SystemUI/src/com/android/systemui/qs/QSTileHost.java
	packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java
	packages/SystemUI/src/com/android/systemui/recents/ScreenPinningRequest.java
	packages/SystemUI/src/com/android/systemui/screenrecord/RecordingService.java
	packages/SystemUI/src/com/android/systemui/screenshot/ImageExporter.java
	packages/SystemUI/src/com/android/systemui/screenshot/LegacyScreenshotController.java
	packages/SystemUI/src/com/android/systemui/screenshot/SaveImageInBackgroundTask.java
	packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotView.java
	packages/SystemUI/src/com/android/systemui/settings/brightness/BrightnessController.java
	packages/SystemUI/src/com/android/systemui/shade/NotificationShadeWindowViewController.java
	packages/SystemUI/src/com/android/systemui/shade/PulsingGestureListener.kt
	packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/fragment/CollapsedStatusBarFragment.java
	packages/SystemUI/src/com/android/systemui/statusbar/policy/CastControllerImpl.java
	packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java
	packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java
	packages/SystemUI/tests/src/com/android/systemui/navigationbar/NavigationBarControllerImplTest.java
	packages/SystemUI/tests/src/com/android/systemui/qs/QSTileHostTest.java
	packages/SystemUI/tests/src/com/android/systemui/screenshot/appclips/AppClipsViewModelTest.java
	services/core/java/com/android/server/BatteryService.java
	services/core/java/com/android/server/am/BatteryStatsService.java
	services/core/java/com/android/server/display/AutomaticBrightnessController.java
	services/core/java/com/android/server/display/DisplayPowerController.java
	services/core/java/com/android/server/display/brightness/strategy/AutomaticBrightnessStrategy.java
	services/core/java/com/android/server/display/brightness/strategy/AutomaticBrightnessStrategy2.java
	services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
	services/core/java/com/android/server/net/NetworkPolicyManagerService.java
	services/core/java/com/android/server/notification/PreferencesHelper.java
	services/core/java/com/android/server/policy/PhoneWindowManager.java
	services/core/java/com/android/server/power/PowerManagerService.java
	services/core/java/com/android/server/power/stats/BatteryStatsImpl.java
	services/core/java/com/android/server/power/stats/BatteryUsageStatsProvider.java
	services/core/java/com/android/server/power/stats/CameraPowerStatsCollector.java
	services/core/java/com/android/server/power/stats/EnergyConsumerPowerStatsCollector.java
	services/core/java/com/android/server/power/stats/GnssPowerStatsCollector.java
	services/core/java/com/android/server/power/stats/PowerStatsCollector.java
	services/core/java/com/android/server/power/stats/format/GnssPowerStatsLayout.java
	services/core/java/com/android/server/power/stats/processor/BinaryStatePowerStatsProcessor.java
	services/core/java/com/android/server/power/stats/processor/CameraPowerStatsProcessor.java
	services/core/java/com/android/server/power/stats/processor/GnssPowerStatsProcessor.java
	services/core/java/com/android/server/statusbar/StatusBarManagerService.java
	services/core/java/com/android/server/webkit/SystemImpl.java
	services/core/java/com/android/server/wm/ActivityRecord.java
	services/core/java/com/android/server/wm/DisplayRotation.java
	services/core/java/com/android/server/wm/RootWindowContainer.java
	services/tests/powerstatstests/src/com/android/server/power/stats/BatteryUsageStatsTest.java
	services/tests/powerstatstests/src/com/android/server/power/stats/processor/CameraPowerStatsTest.java
	services/tests/powerstatstests/src/com/android/server/power/stats/processor/GnssPowerStatsTest.java

Change-Id: Iddc43d3424c859c6f178b7530b488db4becffef3
diff --git a/core/api/module-lib-current.txt b/core/api/module-lib-current.txt
index 8ba4589..dcb380a 100644
--- a/core/api/module-lib-current.txt
+++ b/core/api/module-lib-current.txt
@@ -272,13 +272,13 @@
     method @RequiresPermission(android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK) public void notifyDenylistChanged(@NonNull int[], @NonNull int[]);
     method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public void notifyStatsProviderLimitReached();
     method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public void notifyStatsProviderWarningReached();
-    method @RequiresPermission(android.Manifest.permission.OBSERVE_NETWORK_POLICY) public void registerNetworkPolicyCallback(@Nullable java.util.concurrent.Executor, @NonNull android.net.NetworkPolicyManager.NetworkPolicyCallback);
-    method @RequiresPermission(android.Manifest.permission.OBSERVE_NETWORK_POLICY) public void unregisterNetworkPolicyCallback(@NonNull android.net.NetworkPolicyManager.NetworkPolicyCallback);
+    method @Deprecated @FlaggedApi("android.net.platform.flags.deprecate_network_policy_callback") @RequiresPermission(android.Manifest.permission.OBSERVE_NETWORK_POLICY) public void registerNetworkPolicyCallback(@Nullable java.util.concurrent.Executor, @NonNull android.net.NetworkPolicyManager.NetworkPolicyCallback);
+    method @Deprecated @FlaggedApi("android.net.platform.flags.deprecate_network_policy_callback") @RequiresPermission(android.Manifest.permission.OBSERVE_NETWORK_POLICY) public void unregisterNetworkPolicyCallback(@NonNull android.net.NetworkPolicyManager.NetworkPolicyCallback);
   }
 
-  public static interface NetworkPolicyManager.NetworkPolicyCallback {
-    method public default void onUidBlockedReasonChanged(int, int);
-    method public default void onUidsAllowedTransportsChanged(@NonNull int[], @NonNull long[]);
+  @Deprecated @FlaggedApi("android.net.platform.flags.deprecate_network_policy_callback") public static interface NetworkPolicyManager.NetworkPolicyCallback {
+    method @Deprecated public default void onUidBlockedReasonChanged(int, int);
+    method @Deprecated public default void onUidsAllowedTransportsChanged(@NonNull int[], @NonNull long[]);
   }
 
   public class NetworkWatchlistManager {
@@ -320,6 +320,17 @@
 
 }
 
+package android.net.wifi {
+
+  public final class WifiMigration {
+    method @FlaggedApi("android.net.wifi.flags.legacy_keystore_to_wifi_blobstore_migration_read_only") public static int migrateLegacyKeystoreToWifiBlobstore();
+    field @FlaggedApi("android.net.wifi.flags.legacy_keystore_to_wifi_blobstore_migration_read_only") public static final int KEYSTORE_MIGRATION_FAILURE_ENCOUNTERED_EXCEPTION = 2; // 0x2
+    field @FlaggedApi("android.net.wifi.flags.legacy_keystore_to_wifi_blobstore_migration_read_only") public static final int KEYSTORE_MIGRATION_SUCCESS_MIGRATION_COMPLETE = 0; // 0x0
+    field @FlaggedApi("android.net.wifi.flags.legacy_keystore_to_wifi_blobstore_migration_read_only") public static final int KEYSTORE_MIGRATION_SUCCESS_MIGRATION_NOT_NEEDED = 1; // 0x1
+  }
+
+}
+
 package android.nfc {
 
   public class NfcServiceManager {
@@ -378,8 +389,10 @@
     field public static final int DEVICE_INITIAL_SDK_INT;
   }
 
-  public class Environment {
-    method @FlaggedApi("android.crashrecovery.flags.enable_crashrecovery") @NonNull public static java.io.File getDataSystemDeDirectory();
+  public class Handler {
+    method @FlaggedApi("android.os.mainline_vcn_platform_api") public final boolean hasMessagesOrCallbacks();
+    method @FlaggedApi("android.os.mainline_vcn_platform_api") public final void removeCallbacksAndEqualMessages(@Nullable Object);
+    method @FlaggedApi("android.os.mainline_vcn_platform_api") public final void removeEqualMessages(int, @Nullable Object);
   }
 
   public class IpcDataCache<Query, Result> {
@@ -667,8 +680,8 @@
     method @Nullable public android.content.pm.PackageInfo getCurrentWebViewPackage();
     method @Nullable public String getCurrentWebViewPackageName();
     method @FlaggedApi("android.webkit.update_service_v2") @NonNull public android.webkit.WebViewProviderInfo getDefaultWebViewPackage();
-    method @Nullable public static android.webkit.WebViewUpdateManager getInstance();
-    method @NonNull public android.webkit.WebViewProviderInfo[] getValidWebViewPackages();
+    method @NonNull public static android.webkit.WebViewUpdateManager getInstance();
+    method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public android.webkit.WebViewProviderInfo[] getValidWebViewPackages();
     method @NonNull public android.webkit.WebViewProviderResponse waitForAndGetProvider();
   }