From 7ea711a28f5e122205010909c0c700ae029424ae Mon Sep 17 00:00:00 2001 From: William Loh Date: Wed, 23 Aug 2023 04:38:29 +0000 Subject: Filter AppMetadata file from Session.getNames AppMetadata for a install is set using setAppMetadata and the bundle is written to a file. This file should not be returned included in the getNames API since it was not added to the session using openWrite. Bug: 296471104 Test: atest InstallAppMetadataTest Merged-In: Ia089884ac91b008e4179bd9970eb6c8c91daaf25 Change-Id: Ia089884ac91b008e4179bd9970eb6c8c91daaf25 (cherry picked from commit d17686c0025777deb26e5f4a4b405b63b1b24b75) --- .../core/java/com/android/server/pm/PackageInstallerSession.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/pm/PackageInstallerSession.java b/services/core/java/com/android/server/pm/PackageInstallerSession.java index d662aaedb774..204e358f25ff 100644 --- a/services/core/java/com/android/server/pm/PackageInstallerSession.java +++ b/services/core/java/com/android/server/pm/PackageInstallerSession.java @@ -1365,11 +1365,13 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub { assertCallerIsOwnerRootOrVerifier(); synchronized (mLock) { assertPreparedAndNotDestroyedLocked("getNames"); + String[] names; if (!isCommitted()) { - return getNamesLocked(); + names = getNamesLocked(); } else { - return getStageDirContentsLocked(); + names = getStageDirContentsLocked(); } + return ArrayUtils.removeString(names, APP_METADATA_FILE_NAME); } } -- cgit v1.2.3-59-g8ed1b