From dd0edac92f15d009f0da7db832f80c520f137fb1 Mon Sep 17 00:00:00 2001 From: Jeff Sharkey Date: Tue, 17 Jan 2017 15:22:30 -0700 Subject: [PATCH] Only measure each UID once in InstallerTest. Test: builds, boots Bug: 34341727 Change-Id: Ic8250b7383f52adf30139ceed02469a9d278dc18 --- .../src/com/android/server/pm/InstallerTest.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/services/tests/servicestests/src/com/android/server/pm/InstallerTest.java b/services/tests/servicestests/src/com/android/server/pm/InstallerTest.java index 2a7cbc21137ab..23699e21c1c26 100644 --- a/services/tests/servicestests/src/com/android/server/pm/InstallerTest.java +++ b/services/tests/servicestests/src/com/android/server/pm/InstallerTest.java @@ -44,11 +44,19 @@ public class InstallerTest extends AndroidTestCase { } public void testGetAppSize() throws Exception { + int[] appIds = null; + final PackageManager pm = getContext().getPackageManager(); for (ApplicationInfo app : pm.getInstalledApplications(0)) { final int userId = UserHandle.getUserId(app.uid); final int appId = UserHandle.getAppId(app.uid); + if (ArrayUtils.contains(appIds, appId)) { + continue; + } else { + appIds = ArrayUtils.appendInt(appIds, appId); + } + final String[] packageNames = pm.getPackagesForUid(app.uid); final long[] ceDataInodes = new long[packageNames.length]; final String[] codePaths = new String[packageNames.length];