From 2dfc1b3e125860221bc67835c2d5c99198a12f8a Mon Sep 17 00:00:00 2001 From: Calin Juravle Date: Fri, 10 Mar 2017 18:24:33 -0800 Subject: Add missing return in DexManager Harmless issue but which can spam the logs. Test: mostly manual since the check is buried deep inside and cannot be verified accurately. I added another test to DexManager to stress that code path and then checked the logs. Bug: 36117123 Change-Id: I1a878a200f3f726dfaa85f1bed1398acc8dce979 --- services/core/java/com/android/server/pm/dex/DexManager.java | 2 +- .../src/com/android/server/pm/dex/DexManagerTests.java | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/pm/dex/DexManager.java b/services/core/java/com/android/server/pm/dex/DexManager.java index 755c486d1be5..83dd392988bf 100644 --- a/services/core/java/com/android/server/pm/dex/DexManager.java +++ b/services/core/java/com/android/server/pm/dex/DexManager.java @@ -432,7 +432,7 @@ public class DexManager { // Ignore framework code. // TODO(calin): is there a better way to detect it? if (dexPath.startsWith("/system/framework/")) { - new DexSearchResult("framework", DEX_SEARCH_NOT_FOUND); + return new DexSearchResult("framework", DEX_SEARCH_NOT_FOUND); } // First, check if the package which loads the dex file actually owns it. diff --git a/services/tests/servicestests/src/com/android/server/pm/dex/DexManagerTests.java b/services/tests/servicestests/src/com/android/server/pm/dex/DexManagerTests.java index fa0bd392f75d..72fb78e89ea2 100644 --- a/services/tests/servicestests/src/com/android/server/pm/dex/DexManagerTests.java +++ b/services/tests/servicestests/src/com/android/server/pm/dex/DexManagerTests.java @@ -61,7 +61,6 @@ public class DexManagerTests { @Before public void setup() { - mUser0 = 0; mUser1 = 1; @@ -352,6 +351,15 @@ public class DexManagerTests { assertNull(pui); } + @Test + public void testNotifyFrameworkLoad() { + String frameworkDex = "/system/framework/com.android.location.provider.jar"; + // Load a dex file from framework. + notifyDexLoad(mFooUser0, Arrays.asList(frameworkDex), mUser0); + // The dex file should not be recognized as a package. + assertNull(mDexManager.getPackageUseInfo(frameworkDex)); + } + private void assertSecondaryUse(TestData testData, PackageUseInfo pui, List secondaries, boolean isUsedByOtherApps, int ownerUserId) { for (String dex : secondaries) { -- cgit v1.2.3-59-g8ed1b