tree bb086aa611a2f2012cb5a8ce9e1b509a1456120c
parent 5f6988fe83df49e46e3a85941079bab96d47daab
parent d062b42e9164938ea34b6200dbf69858272b1fbd
author Tim Zimmermann <tim@linux4.de> 1718474080 +0200
committer Tim Zimmermann <tim@linux4.de> 1718474080 +0200
mergetag object d062b42e9164938ea34b6200dbf69858272b1fbd
 type commit
 tag android-14.0.0_r50
 tagger The Android Open Source Project <initial-contribution@android.com> 1718055846 -0700
 
 Android 14.0.0 Release 50 (AP2A.240605.024)
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQRDQNE1cO+UXoOBCWTorT+BmrEOeAUCZmdzpgAKCRDorT+BmrEO
 eOvUAJ4v5fSP5+eG3ukH2UHIxQes4XzfKwCZATeP9MA0n50JD8FuyqS5UgZQjGk=
 =Hw/+
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEuwYxAyE4TRnuhLgPbcIaY/gZxe8FAmZt1cYACgkQbcIaY/gZ
 xe9ufw//UpTaoRyXnr1TFW4mq/qsHn7VIyaL1Rk02LFIwGRBVdxhjCkaqWVXvWnm
 iWFkJGaQoTt4JDoXdXSADJRDfkTXTM+OO++1SpuEA6nPJaR7ojYHOGcwTGWD9DA3
 eFjIEk2fKqKldc/g+/rj/g5cMXXDdJ5MFKj216GtCfIBRob2W3Ef0Belmm5wlMK0
 29myIFZ7K8YnOZOz22erS9wd7hTQChp0wGUgIDOoOHSbTEj0coBPH5c6PnuOQMSI
 fkRmTIzJhfUQVyR/nVdvUdlkOxvFK/kgO3jQquRFavKcdkADKNUL8f0sCNbNyJkd
 k4EyN055xlqsgl2P4hkg09y78YjVgeSlyg0XQGNGzAqmAnMaW4IDNmU+Iu3QlNDE
 evCbSTa8v55afgYSQ/rcJNz4/eonvn8KgNABfmceQHGgyztKxAsHO5FJW3kCrj6f
 ztRDXxkhmuhgCyCYknSZ6JlNtQHsxtHVZqC9mJoYL87hnTu9o+/WwGpZEbEdIWmu
 AR+ZB5I77898xV5YEGKtVvLojvR+rSO04pCveI3jOQRGjBBBVhoN7PXcwaIa2SuA
 KQAixMbmPQcp0m6WM34/pWYZOkwVnUMiRR1obgKxifL/vnPxAAoaIfrXmi5v1cw5
 bc9n5qc7gAuA/z1iKndwvA1U/H2XPZXAevTWbb2ONdC5gCBf1dM=
 =mReN
 -----END PGP SIGNATURE-----

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

Android 14.0.0 Release 50 (AP2A.240605.024)

* tag 'android-14.0.0_r50': (42 commits)
  Import translations. DO NOT MERGE ANYWHERE
  Import translations. DO NOT MERGE ANYWHERE
  Fixing bugs related to pausing of private space.
  Fixing time delay on launch on flag change.
  Modify onProfileActionStatusChange and add tests.
  Import translations. DO NOT MERGE ANYWHERE
  Update the imports to androidx.test.filters.*
  Fix for loss of `Recents` content from private tab on flag change.
  Add androidx.annotation_annotation dependency.
  Import translations. DO NOT MERGE ANYWHERE
  Import translations. DO NOT MERGE ANYWHERE
  Fixing profile badge themes for various grid and list holders.
  Fixing gantry failures by ignoring tests.
  Import translations. DO NOT MERGE ANYWHERE
  Fixing Gantry Failures.
  Fix for AppsRowManagerTest failing on R.
  Import translations. DO NOT MERGE ANYWHERE
  Add ConfigStore to use feature flags in DocsUI.
  Generalising apis in `dirlist` directory using UserManagerState.
  Replacing @RequieresAPI with @SuppressLint to avoid merge conflicts.
  ...

Change-Id: I571377d98ff1848ea1335b32a3f265e50767cbf8
