summaryrefslogtreecommitdiff
path: root/core/java/android/os
Commit message (Collapse)AuthorAgeFilesLines
* BaseBundle: fix unparcel error logicSteven Moreland2025-07-082-9/+12
| | | | | | | | | | | This code considered a success case to be an unsuccessful case. Bug: 373357090 Test: repro in bug no longer works (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:1997a76a8846a5d5cd27472976885bed0180a59c) Merged-In: Id423936872cbb0e0265ccf2855092357cb175d47 Change-Id: Id423936872cbb0e0265ccf2855092357cb175d47
* Fix allowlist token issuesMatías Hernández2025-01-131-0/+22
| | | | | | | | | | | | | | 1) Don't accept enqueued notifications with an unexpected token. 2) Ensure allowlist token matches for all parceled and unparceled notifications (by only using the "root notification" one). 3) Simplify cookie usage in allowlist token serialization. 4) Ensure group summary (and any notifications added directly by NMS) have the correct token. Bug: 328254922 Bug: 305695605 Test: atest NotificationManagerServiceTest ParcelTest CloseSystemDialogsTest + manually (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:8a7453435b633282a9445ee01a902f090adc138c) Merged-In: I232e9b74eece745560ed2e762071b48984b3f176 Change-Id: I232e9b74eece745560ed2e762071b48984b3f176
* Check hidden API exemptionsHans Boehm2024-06-231-0/+10
| | | | | | | | | | | | | Refuse to deal with newlines and null characters in HiddenApiSettings.update(). Also disallow nulls in process start arguments. Bug: 316153291 Test: Treehugger for now (cherry picked from commit 7ba059e2cf0a2c20f9a849719cdc32b12c933a44) (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:60669aa49aba34c0950d6246bd95b54f91a3c8e8) Merged-In: I83cd60e46407a4a082f9f3c80e937dbd522dbac4 Change-Id: I83cd60e46407a4a082f9f3c80e937dbd522dbac4
* Fix security vulnerability that creates user with no restrictions when ↵Tetiana Meronyk2024-04-092-4/+56
| | | | | | | | | | accountOptions are too long. Bug: 293602970 Test: atest UserManagerTest#testAddUserAccountData_validStringValuesAreSaved_validBundleIsSaved && atest UserManagerTest#testAddUserAccountData_invalidStringValuesAreTruncated_invalidBundleIsDropped (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:8dc6feaee7c0a5cea093b5280acaad862921cf3e) Merged-In: I23c971f671546ac085060add89485cfac6691ca3 Change-Id: I23c971f671546ac085060add89485cfac6691ca3
* RESTRICT AUTOMERGE: Drop invalid data.Kweku Adams2023-12-141-8/+34
| | | | | | | | | | | | | | | Drop invalid data when writing or reading from XML. PersistableBundle does lazy unparcelling, so checking the values during unparcelling would remove the benefit of the lazy unparcelling. Checking the validity when writing to or reading from XML seems like the best alternative. Bug: 246542285 Bug: 247513680 Test: install test app with invalid job config, start app to schedule job, then check logcat and jobscheduler persisted file (cherry picked from commit 666e8ac60a31e2cc52b335b41004263f28a8db06) (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:3c5aa21b4df54c0c0fcbcf00d1b62fa771022146) Merged-In: Ie817aa0993e9046cb313a750d2323cadc8c1ef15 Change-Id: Ie817aa0993e9046cb313a750d2323cadc8c1ef15
* Merge tag 'android-13.0.0_r52' of ↵George Zacharia2023-08-026-11/+36
|\ | | | | | | | | | | | | https://android.googlesource.com/platform/frameworks/base into t13.0 Android 13.0.0 Release 52 (TQ3A.230605.012) Change-Id: Ic80f318636f1f70bbd009504352ddde511d0dead
| * Proportionally attribute Mobile Radio Energy Consumption to Phone usage.Michael Wachenschwanz2023-03-161-0/+9
| | | | | | | | | | | | | | | | | | | | | | Proportionally split out the energy consumption of phone usage from the rest of the mobile radio energy consumption. Fixes: 244603408 Test: atest MobileRadioPowerCalculator Change-Id: I5db49ea7c88cfd502db36265ae5a6555f728d2f7 Merged-In: I5db49ea7c88cfd502db36265ae5a6555f728d2f7 (cherry picked from commit 4789053d52cdb92c44ccee76c7e4babc2bbbb3dc)
| * Revert "Add UpsideDownCake to aapt2 codenames and android.os.Build" am: ↵Patrick Baumann2023-02-231-5/+0
| |\ | | | | | | | | | | | | | | | | | | | | | | | | 20aacbf012 am: a4299e799f Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21524504 Change-Id: I911b005dddef5d30ebd1c790c1e580d0a1b24fc8 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| | * Revert "Add UpsideDownCake to aapt2 codenames and android.os.Build"Patrick Baumann2023-02-231-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit e422b7da01a56766996ed5b8f4e9b78d8edd7951. Reason for revert: Test failures on tm-branches b/269588126 Change-Id: I529eba46a1c341e75b02b59432e011fada8ae648 Bug: 269470863 Fixes: 269588126 Merged-In: Icb6ad340bfea7109aac9b74c6fb5165c030df16c
| * | Add UpsideDownCake to aapt2 codenames and android.os.Build am: e422b7da01 ↵Colin Cross2023-02-161-0/+5
| |\| | | | | | | | | | | | | | | | | | | | | | | | | am: 748236fd28 Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21423290 Change-Id: I3866ad5981636d1b978a1abee66d5a01b5e2a061 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| | * Add UpsideDownCake to aapt2 codenames and android.os.BuildColin Cross2023-02-151-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 219519679# Bug: 269470863 Test: m checkbuild Change-Id: I2b668d1cd875657b27a1d52bda21f238d7020862 (cherry picked from commit d27566da4cc7e0de8efe00140fe28db1536bef43) Merged-In: I2b668d1cd875657b27a1d52bda21f238d7020862
| * | Reclassify FGS and BOUND_TOP as "background" in BatteryUsageStatsDmitri Plotnikov2023-02-072-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 257392992 Bug: 239667114 Test: atest FrameworksCoreTests:BatteryStatsTests Change-Id: Ice58ea7537847441f41ed97c5f8b2bda2b4b7e4d (cherry picked from commit 758ad303e54b9a4b37376f65fce2daad74231976) Merged-In: Ice58ea7537847441f41ed97c5f8b2bda2b4b7e4d
| * | Introduce a way to debug relayouts and slow measures/layoutNicolo' Mazzucato2023-01-301-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This cl introduces a way to debug 2 different but related things: (1) Which classes suffer from long measure and layout pass (2) What caused those classes to be re-measured/re-layout In the current form, only sysui sets the flags to enable the above based on some sysprop. (1) is enabled by `adb shell setprop persist.debug.trace_layouts 1` for all classes in sysui process (note: the process needs to restart). The ideal workflow is to first enable this to spot which are the main classes have long measure/layout slices. Once those are identified (e.g. class X) (2) `adb shell setprop persist.debug.trace_request_layout_class X` enables requestLayout tracing for class X. At this point, every time requestLayout is called on that class, both an instant event (visible in perfetto) and the stacktrace (in logcat) is output. After recording at perfetto trace with (2) enabled, it's possible to aggregate data with an SQL query in ui.perfetto.dev: For example, with the following we can have the most common relayout reasons: ``` SELECT count(*) cnt, msg FROM android_logs WHERE msg LIKE "requestLayout %" GROUP BY msg ORDER BY cnt DESC ``` The following helper bash function makes the above more efficient: trace_class_layouts() { adb shell setprop persist.debug.trace_layouts 1 adb shell setprop persist.debug.trace_request_layout_class $1 adb shell am force-stop com.google.android.apps.nexuslauncher adb shell am force-stop com.android.systemui } Then, use `trace_class_layouts X` and record a perfetto trace. To reduce the overhead, several strings are cached when the view is attached to the window. However, it should be noted that enabling this can have an impact on performance and should only be used for debugging purposes. Test: record a trace after enabling options Bug: 266090955 Merged-In: I89a518d4f3c69c13cdced0f70d8a1e2793bc923a Change-Id: I89a518d4f3c69c13cdced0f70d8a1e2793bc923a
| * | Merge "Log wtf for warn-on-blocking on eng builds" into tm-qpr-devPeter Kalauskas2023-01-201-2/+2
| |\ \
| | * | Log wtf for warn-on-blocking on eng buildsPeter Kalauskas2023-01-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Log.wtf on eng builds when setWarnOnBlocking is enabled. Previously, setWarnOnBlocking would only log a WTF on userdebug builds. Bug: 32715088 Bug: 241131634 Test: Confirm eng build boots, and that calling Binder.setWarnOnBlocking(true) does not crash sysui Change-Id: Iab416c58827db558d21e518c09af1dac1569ebe8 Merged-In: Iab416c58827db558d21e518c09af1dac1569ebe8
| * | | Merge "Fixing Storage Volume listing for Cloned User." into tm-qpr-devHimanshu Gupta2023-01-191-1/+10
| |\ \ \
| | * | | Fixing Storage Volume listing for Cloned User.Himanshu Gupta2022-12-211-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current implementation only returns the Volumes for the current user. In case of Cloned user this causes issues as Cloned user uses Media Provider of User 0, thereby returning only Volume 0, causing problems in assigning projectIds, and affecting storage calculation. The projectId assignement happens via MediaProvider.updateExternalStorageFileQuota. Bug: 235321217 Test: atest android.appsecurity.cts.StorageHostTest Change-Id: I617bae9b201fd66d7b62b6cbd1c48b9f276f1924 Fixing Storage Volume(s) Retrieval. With ag/19901205 shared_profile's volumes were also listed in StorageManager#updateExternalStorageFileQuotaType. However, the above API can be called from MediaProvider process, without MANAGE_EXTERNAL_STORAGE permissions, resulting in SecurityException("Only File Manager Apps permitted") to be thrown from StorageManagerService#getVolumeList This fix allows the exception to be bypassed in case the caller is Media Store process. Bug: 235321217 Test: atest android.appsecurity.cts.StorageHostTest Change-Id: I6835cc4d29f3e9c85731979aaf9ab12a30f6419b Downgrading API permissions for updateExternalStorage With ag/19901205 the permissions for this API were increased, and calling users required 'MANAGE_EXTERNAL_STORAGE' permissions. There is now a way to add the same functionality without adding any additional permissions. Bug: 235321217 Test: atest android.appsecurity.cts.StorageHostTest Change-Id: I6b166ac191a80c600b527266f53107b8d9c78177 Merged-In: I6b166ac191a80c600b527266f53107b8d9c78177 Change-Id: I475d0782cab9fa1033e16d2b4dc297b00296783b
| * | | | Merge "Move getUserSwitchability from UserManager to UserManagerService." ↵Yasin Kilicdere2023-01-102-43/+14
| |\ \ \ \ | | | | | | | | | | | | | | | | | | into tm-qpr-dev
| | * | | | Move getUserSwitchability from UserManager to UserManagerService.Yasin Kilicdere2023-01-062-43/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | UserManager.getUserSwitchability was calling telecomManager.isInCall method to see whether there is an ongoing phone call. Since the call was made from client side, it was causing a SecurityException when switcing users via adb command and breaking CtsMultiUserHostTestCases tests. This CL moves all the logic from UserManager to UserManagerService, and calls telecomManager.isInCall() with Binder.clearCallingIdentity. Bug: 257538981 Bug: 261505371 Fixes: 260184263 Test: atest CtsMultiUserHostTestCases Merged-In: Idfca1fcb89688d08878b908ceed9c64f1e7091d3 Change-Id: Idfca1fcb89688d08878b908ceed9c64f1e7091d3 (cherry picked from commit 2f17ef912ee8cc321d54b08acb119d1ad641b756)
| * | | | | Merge "docs: Explanation on "profile owner on the primary user"" into tm-dev ↵Pietro Maggi2023-01-081-2/+5
| |\ \ \ \ \ | | |/ / / / | |/| | | / | | | |_|/ | | |/| | | | | | | | | | | | | | | | | | | | | | am: de6b490d72 am: 2d0e68d362 Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20403491 Change-Id: If220f4e475f1bfb23848c72ce1101a5be03a1cd2 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| | * | | docs: Explanation on "profile owner on the primary user"Pietro F. Maggi2023-01-081-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | staging: https://android.devsite.corp.google.com/reference/android/os/UserManager?db=pmaggi#DISALLOW_USB_FILE_TRANSFER Bug: 224648697 Test: documentation fix Change-Id: Ie3efcc71542753fc5e2a3d023e31b361ae2b4a83
* | | | | Merge tag 'android-13.0.0_r49' into t13.0Semavi Ulusoy2023-05-172-43/+14
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Android 13.0.0 Release 49 (TQ2B.230505.005.A1) Change-Id: I562410c4cae2550692078d7e7545392152b31b1c
| * | | | | Move getUserSwitchability from UserManager to UserManagerService.Yasin Kilicdere2023-02-032-43/+14
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | UserManager.getUserSwitchability was calling telecomManager.isInCall method to see whether there is an ongoing phone call. Since the call was made from client side, it was causing a SecurityException when switcing users via adb command and breaking CtsMultiUserHostTestCases tests. This CL moves all the logic from UserManager to UserManagerService, and calls telecomManager.isInCall() with Binder.clearCallingIdentity. Bug: 257538981 Bug: 261505371 Fixes: 260184263 Test: atest CtsMultiUserHostTestCases Merged-In: Idfca1fcb89688d08878b908ceed9c64f1e7091d3 Change-Id: Idfca1fcb89688d08878b908ceed9c64f1e7091d3 (cherry picked from commit 2f17ef912ee8cc321d54b08acb119d1ad641b756) (cherry picked from commit e2062736eced6afdaa40b557f8c32461ae896020) Merged-In: Idfca1fcb89688d08878b908ceed9c64f1e7091d3
* | | | | os: Process: Fix wrong code in isThreadInProcessleo zhang2023-05-051-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rename the "tid" and "pid" variables that had the names inverted. Change-Id: I572497a0350c50b61674d46d45dfbcad66cd130f
* | | | | Merge tag 'android-13.0.0_r35' of ↵George Zacharia2023-04-038-41/+194
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://android.googlesource.com/platform/frameworks/base into t13.0 Android 13.0.0 release 35 Change-Id: I709958b2f015d1774b2ece25894467c3a279f93c
| * | | | Add additional PowerManager wakeup reasonsBeverly2022-12-201-3/+30
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | Test: manual (builds) Bug: 263155290 Bug: 242628816 Change-Id: I2b445e545427bd3411ac1f3b33359d51b1bdbad0 Merged-In: I2b445e545427bd3411ac1f3b33359d51b1bdbad0
| * | | Merge "Fix permanent denial of service via apis with illegal intent filter" ↵Rhed Jao2022-12-191-0/+18
| |\ \ \ | | | | | | | | | | | | | | | into tm-qpr-dev
| | * | | Fix permanent denial of service via apis with illegal intent filterRhed Jao2022-11-241-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 246749702 Bug: 246749764 Bug: 246749936 Bug: 246750467 Bug: 249094310 Test: atest android.security.cts.PackageManagerBadIntentFilterTest Change-Id: I632ebd1342e0f39da494a02ffabc690ad242e14a
| * | | | Merge "Reconcile WorkSource parcel and unparcel code." into qt-dev am: ↵Josep del Río2022-12-171-1/+1
| |\ \ \ \ | | | |/ / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9a64b4bbe5 am: 4a3603ed0a am: d1d3755436 am: 5c8400f0d8 am: d2fdb41514 am: 242667158c am: 7d188c8207 am: d946501617 am: 467e924657 Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20082616 Change-Id: Ieb7bc234eaaf6f0a200f9afe8897706721cef8c0 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| | * | | Merge "Reconcile WorkSource parcel and unparcel code." into qt-dev am: ↵Josep del Río2022-12-171-1/+1
| | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9a64b4bbe5 am: 4a3603ed0a am: d1d3755436 am: 5c8400f0d8 am: d2fdb41514 am: 242667158c am: 7d188c8207 Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20082616 Change-Id: I630dbad4e9d619f0f9fb188cfb1d40ce81b36831 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| | | * \ \ Merge "Reconcile WorkSource parcel and unparcel code." into qt-dev am: ↵Josep del Río2022-12-171-1/+1
| | | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9a64b4bbe5 am: 4a3603ed0a am: d1d3755436 am: 5c8400f0d8 am: d2fdb41514 am: 242667158c Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20082616 Change-Id: I193f10277d1250012df65355c2de605660f14f1c Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| | | | * \ \ Merge "Reconcile WorkSource parcel and unparcel code." into qt-dev am: ↵Josep del Río2022-12-171-1/+1
| | | | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9a64b4bbe5 am: 4a3603ed0a am: d1d3755436 am: 5c8400f0d8 am: d2fdb41514 Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20082616 Change-Id: I1dae823cf968d9cf4772437b6391589cd2a960a7 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| | | | | * \ \ Merge "Reconcile WorkSource parcel and unparcel code." into qt-dev am: ↵Josep del Río2022-12-171-1/+1
| | | | | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9a64b4bbe5 am: 4a3603ed0a am: d1d3755436 am: 5c8400f0d8 Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20082616 Change-Id: I521df4123142659f640ac32c5e72932eb3d71c6e Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| | | | | | * \ \ Merge "Reconcile WorkSource parcel and unparcel code." into qt-dev am: ↵Josep del Río2022-12-171-1/+1
| | | | | | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9a64b4bbe5 am: 4a3603ed0a am: d1d3755436 Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20082616 Change-Id: Ia4addaae8e16ca21be1748fd28240d11b7908f8b Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| | | | | | | * \ \ Merge "Reconcile WorkSource parcel and unparcel code." into qt-dev am: ↵Josep del Río2022-12-171-1/+1
| | | | | | | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9a64b4bbe5 am: 4a3603ed0a Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20082616 Change-Id: I80e83c3f6a8c81d1919ba1d2abbc9c7266737312 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| | | | | | | | * \ \ Merge "Reconcile WorkSource parcel and unparcel code." into qt-dev am: ↵Josep del Río2022-12-171-1/+1
| | | | | | | | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9a64b4bbe5 Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20082616 Change-Id: Ie47160e41ef1751dbaecb5953fa851a13598d35c Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| | | | | | | | | * | | Reconcile WorkSource parcel and unparcel code.Michael Wright2022-10-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prior to this CL, WorkSources would Parcel their list of WorkChains as -1 if null, or the size of the list followed by the list itself if non-null. When reading it back in, on the other hand, they would check if the size was positive, and only then read the list from the Parcel. This works for all cases except when the WorkSource has an empty but non-null list of WorkChains as the list would get written to the parcel, but then never read on the other side. If parceling a list was a no-op when empty this wouldn't be an issue, but it must write at least its size into the parcel to know how many elements to extract. In the empty list case, this single element is left unread as the size is not positive which essentially corrupts any future items read from that same parcelable. Bug: 220302519 Test: atest android.security.cts.WorkSourceTest#testWorkChainParceling Change-Id: I2fec40dfced420ca38e717059b0e95ee8ef9946a
| | | | * | | | | | | | Parcel: recycle recycles am: b5c79e141a am: 2b5f7f71c3 am: 8b0242a232 am: ↵Steven Moreland2022-07-011-0/+1
| | | | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1bbde50d9a am: f190ceea9a Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19101007 Change-Id: I5c2835d926cf635116727c92887892a17006127b Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| | | | | * | | | | | | Parcel: recycle recycles am: b5c79e141a am: 2b5f7f71c3 am: 8b0242a232 am: ↵Steven Moreland2022-07-011-0/+1
| | | | | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1bbde50d9a Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19101007 Change-Id: Ia6ee02fd655ae955c9225451951630f69d781b86 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| | | | | | * | | | | | Parcel: recycle recycles am: b5c79e141a am: 2b5f7f71c3 am: 8b0242a232Steven Moreland2022-07-011-0/+1
| | | | | | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19101007 Change-Id: Ifbc8c734bfb7d200e65c9c6667c0e3b6135d5f09 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| | | | | | | * | | | | Parcel: recycle recycles am: b5c79e141a am: 2b5f7f71c3Steven Moreland2022-07-011-0/+1
| | | | | | | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19101007 Change-Id: Iedbf1334020ece5034ec3005f97b79a71a73cb78 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| | | | | | | | * | | | Parcel: recycle recycles am: b5c79e141aSteven Moreland2022-07-011-0/+1
| | | | | | | | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19101007 Change-Id: Ibd1008515a0d4bc9b919ef13a563de502c332c12 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| | | | | | | | | * | | Parcel: recycle recyclesSteven Moreland2022-06-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before, it was like getting a used pan with food stuck on it. We run a clean ship here. You want a Parcel? You get a fresh Parcel. When we recycle a Parcel, we do a real clean-up job. Air freshener. All bits brushed over. These Parcel objects are clean as heck now! (specifically cleans mClassCookies) Bug: 208279300 Test: build Merged-In: I250872f5c6796bb64e2dc68008154c0e90feb218 Change-Id: I250872f5c6796bb64e2dc68008154c0e90feb218 (cherry picked from commit 46770fa49c9a5e51a5ea5a3afc7aab0dba2e59bd)
| | | | | | | | * | | | [RESTRICT AUTOMERGE] Ignore errors preparing user storage for existing users ↵Eric Biggers2022-04-251-0/+8
| | | | | | | | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: 493aa93b84 Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17416381 Change-Id: Ic637e5b26c0bb2561497dfb7ba1cf5300bd6af99 Ignore-AOSP-First: this is an automerge Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| | | | | | | | | * | | [RESTRICT AUTOMERGE] Ignore errors preparing user storage for existing usersEric Biggers2022-03-291-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unfortunately we can't rule out the existence of devices where the user storage wasn't properly prepared, due to StorageManagerService previously ignoring errors from mVold.prepareUserStorage, combined with OEMs potentially creating files in per-user directories too early. And forcing these broken devices to be factory reset upon taking an OTA is not currently considered to be acceptable. One option is to only check for prepareUserStorage errors on devices that launched with T or later. However, this is a serious issue and it would be strongly preferable to do more than that. Therefore, this CL makes it so that errors are checked for all new users, rather than all new devices. A field ignorePrepareStorageErrors is added to the user record; it is only ever set to true implicitly, when reading a user record from disk that lacks this field. This field is used by StorageManagerService to decide whether to check for errors. Bug: 164488924 Bug: 224585613 Test: Intentionally made a device affected by this issue by reverting the CLs that introduced the error checks, and changing vold to inject an error into prepareUserStorage. Then, flashed a build with this CL without wiping userdata. The device still boots, as expected, and the log shows that the error was intentionally ignored. Tested that if a second user is added, the error is *not* ignored and the second user's storage is destroyed before it can be used. Finally, wiped the device and verified that it won't boot up anymore, as expected since error checking is enabled for the system user in that case. Change-Id: I9bdd1a4bf5b14542adb901f264a91d489115c89b (cherry picked from commit 60d8318c47b7b659716d71243d087b34ab327f64) Merged-In: I9bdd1a4bf5b14542adb901f264a91d489115c89b
| | | | | | | | | * | | Merge "Accept repeated locale as an input of LocaleList construction." into ↵TreeHugger Robot2020-09-091-5/+6
| | | | | | | | | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | pi-dev am: 7411fd94a0 Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12513538 Change-Id: I3a9d2b3758cb3bbb5eecdf284d838f2475bb1d43
| | | | | | | | | | * | | Accept repeated locale as an input of LocaleList construction.Seigo Nonaka2020-09-041-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Repeated locale has not been accepted and IllegalArgumentException is thrown. Instead of throwing exception, dropping repeated locale instead. Bug: 152410253 Test: atest LocaleListTest Change-Id: I80f243678ac3024eaeb0349f770cff897df7f332
| | | | | | | | | | * | | [automerger] Clear the Parcel before writing an exception during a ↵Michael Wachenschwanz2019-06-051-0/+2
| | | | | | | | | | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | transaction am: f8ef5bcf21 am: 86c9bdd251 am: 6d72c0681f am: d944d907df am: 31737b4618 am: 2ca66d4d10 am: 1c8a632ad2 am: 7eec0a8448 Change-Id: Ic2cc203ee994927ec0b7f355917a15010f6e2a7c
| | | | | | | | | | | * \ \ [automerger] Clear the Parcel before writing an exception during a ↵Michael Wachenschwanz2019-06-051-0/+2
| | | | | | | | | | | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | transaction am: f8ef5bcf21 am: 86c9bdd251 am: 6d72c0681f am: d944d907df am: 31737b4618 am: 2ca66d4d10 am: 1c8a632ad2 Change-Id: I6cc244c8e40d66d639faef43ec8d3a23bfc11df7
| | | | | | | | | | | | * \ \ [automerger] Clear the Parcel before writing an exception during a ↵Michael Wachenschwanz2019-06-051-0/+2
| | | | | | | | | | | | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | transaction am: f8ef5bcf21 am: 86c9bdd251 am: 6d72c0681f am: d944d907df am: 31737b4618 am: 2ca66d4d10 Change-Id: I452bc18a9cebc417e7c4499c2bebf8fd3cc0f1ce