From 773e997432ef42a233a5a85db41561a3c56fb2db Mon Sep 17 00:00:00 2001 From: Fyodor Kupolov Date: Thu, 28 Jul 2016 19:53:19 -0700 Subject: [PATCH] Cache package names after reboot In case of a reboot mApkToPackageMap becomes empty, but packages can still be installed in user 0. We need to repopulate the cache again. Bug: 30280710 Change-Id: Ia18e93c351b5af80de434e8c5311b961b314a9fb --- .../java/com/android/server/retaildemo/PreloadAppsInstaller.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/services/retaildemo/java/com/android/server/retaildemo/PreloadAppsInstaller.java b/services/retaildemo/java/com/android/server/retaildemo/PreloadAppsInstaller.java index c0bf9b331f7c..7a3b461a6ff7 100644 --- a/services/retaildemo/java/com/android/server/retaildemo/PreloadAppsInstaller.java +++ b/services/retaildemo/java/com/android/server/retaildemo/PreloadAppsInstaller.java @@ -130,6 +130,10 @@ class PreloadAppsInstaller { // Install on user 0 so that the package is cached when demo user is re-created installExistingPackage(basePackageName, UserHandle.USER_SYSTEM, counter); } else if (returnCode == PackageManager.INSTALL_FAILED_ALREADY_EXISTS) { + // This can only happen in first session after a reboot + if (!mApkToPackageMap.containsKey(apkName)) { + mApkToPackageMap.put(apkName, basePackageName); + } installExistingPackage(basePackageName, userId, counter); } } -- 2.11.0