tree 7df551365d1c6319271663784106905cc7a033a5
parent 0deaebd06a61ead91330dd8e067ed56d98556465
parent 823e3198c4645fdfbbda326b62bbafc8322e5c55
author Tim Zimmermann <tim@linux4.de> 1722998032 +0200
committer Tim Zimmermann <tim@linux4.de> 1722998032 +0200
mergetag object 823e3198c4645fdfbbda326b62bbafc8322e5c55
 type commit
 tag android-14.0.0_r61
 tagger The Android Open Source Project <initial-contribution@android.com> 1722980410 -0700
 
 Android 14.0.0 Release 61 (AP2A.240805.005.F1)
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQRDQNE1cO+UXoOBCWTorT+BmrEOeAUCZrKYOgAKCRDorT+BmrEO
 eJn0AJ9K7D3DWtnBOKD+ML5N7ays+6Tp5wCdHB2QsNOl1ZdnnmpgtnsgvHH3jwI=
 =RP9k
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEuwYxAyE4TRnuhLgPbcIaY/gZxe8FAmay3RQACgkQbcIaY/gZ
 xe/+zg/9FPjDeQiHEtBL0QAlog7W5xJe+VqzjOnJe7NFh8zn11QvrCwU3cEMqxfi
 nM17O7Se1CKRw/yFoKuCAqf/wpW5TRISlKQxqfF+emVRdH9ssp4+T8Ip7XRMTbUP
 Ht0u/+sVc0o6LzrywpAnZ8egzTjxahnCKqxFhHkoGeo1BbGlDly8kjvAfmKldXfi
 5TE7XYKQmtnx4yehPCV4qEDh6y70YdIHTjhxFTOIJO96fQaoE51ELXczf7aYi5zk
 enPFo23ytXHooQDHLj+gWs7Ew71kCpOZjSZSqKED0qa3lpNCB08GBWWs2FgEvoVv
 xnifSmc29wQ+0yhyJODybrbU9K/h/WsEWdxZCKkQxsa1AE1c4KF4buQfiUVgjlKe
 iEaxRKpTUydI9kJoxu5vfskCpyJ0UhlU6E0t/7CmGyIfkwlxmsiLsONbJ8Wjs37x
 lTDMlBeY7/11yXutIhiOB7+gLHtNfpCorgtfV+knuIbRaDVmWQGaPPrZFubEApQg
 7uH3NshxpZ6Vt2zsLRM9cIKI0GtkhQGLJu9xRcjHbRqcsuwxXNUgE8E8gpn67kIA
 FbuSFXV5GzJuUZr28cgBV+CTKEOmBs2GWSLmRJYNYRGWFGc19jmuieQ0I5xr2AhM
 OYdwdBEusWcxiXpv1za6Dg3G2hEOB1M3ypqgc4vTAXkqffORl/g=
 =om0x
 -----END PGP SIGNATURE-----

Merge tag 'android-14.0.0_r61' into leaf-3.2

Android 14.0.0 Release 61 (AP2A.240805.005.F1)

* tag 'android-14.0.0_r61': (21 commits)
  Move showing keyguard after the UserSwitchObservers.
  Move showing keyguard after the UserSwitchObservers.
  Revert "Move showing keyguard after the UserSwitchObservers."
  Move showing keyguard after the UserSwitchObservers.
  Remove Dependency#get call from ToggleSeekBar.
  Enforce BaseUserRestriction for DISALLOW_CONFIG_BRIGHTNESS
  Remove Dependency#get call from ToggleSeekBar.
  Enforce BaseUserRestriction for DISALLOW_CONFIG_BRIGHTNESS
  Remove Dependency#get call from ToggleSeekBar.
  Enforce BaseUserRestriction for DISALLOW_CONFIG_BRIGHTNESS
  [RESTRICT AUTOMERGE] Messaging child requestLayout
  Revert "Security fix for VPN app killable via lockscreen."
  Revert "Security fix for VPN app killable via lockscreen."
  Security fix for VPN app killable via lockscreen.
  Security fix for VPN app killable via lockscreen.
  Ensure device_owners2.xml is always written.
  Add unit test to test data overflow when using BinaryXmlSerializer
  Restrict USB poups while setup is in progress
  Rate limiting PiP aspect ratio change request
  Fix READ/WRITE operation access issues on Restricted appOps.
  ...

Change-Id: Ia09ed2bf2bae9345927e0cb7186737aefdce528a
