Loading services/core/java/com/android/server/pm/PackageManagerService.java +1 −1 Original line number Diff line number Diff line Loading @@ -17022,7 +17022,7 @@ Slog.e("TODD", // Prepare the application profiles for the new code paths. // This needs to be done before invoking dexopt so that any install-time profile // can be used for optimizations. mArtManagerService.prepareAppProfiles(pkg, args.user.getIdentifier()); mArtManagerService.prepareAppProfiles(pkg, resolveUserIds(args.user.getIdentifier())); // Check whether we need to dexopt the app. // services/core/java/com/android/server/pm/dex/ArtManagerService.java +17 −0 Original line number Diff line number Diff line Loading @@ -245,6 +245,14 @@ public class ArtManagerService extends android.content.pm.dex.IArtManager.Stub { */ public void prepareAppProfiles(PackageParser.Package pkg, @UserIdInt int user) { final int appId = UserHandle.getAppId(pkg.applicationInfo.uid); if (user < 0) { Slog.wtf(TAG, "Invalid user id: " + user); return; } if (appId < 0) { Slog.wtf(TAG, "Invalid app id: " + appId); return; } try { ArrayMap<String, String> codePathsProfileNames = getPackageProfileNames(pkg); for (int i = codePathsProfileNames.size() - 1; i >= 0; i--) { Loading @@ -266,6 +274,15 @@ public class ArtManagerService extends android.content.pm.dex.IArtManager.Stub { } } /** * Prepares the app profiles for a set of users. {@see ArtManagerService#prepareAppProfiles}. */ public void prepareAppProfiles(PackageParser.Package pkg, int[] user) { for (int i = 0; i < user.length; i++) { prepareAppProfiles(pkg, user[i]); } } /** * Build the profiles names for all the package code paths (excluding resource only paths). * Return the map [code path -> profile name]. Loading Loading
services/core/java/com/android/server/pm/PackageManagerService.java +1 −1 Original line number Diff line number Diff line Loading @@ -17022,7 +17022,7 @@ Slog.e("TODD", // Prepare the application profiles for the new code paths. // This needs to be done before invoking dexopt so that any install-time profile // can be used for optimizations. mArtManagerService.prepareAppProfiles(pkg, args.user.getIdentifier()); mArtManagerService.prepareAppProfiles(pkg, resolveUserIds(args.user.getIdentifier())); // Check whether we need to dexopt the app. //
services/core/java/com/android/server/pm/dex/ArtManagerService.java +17 −0 Original line number Diff line number Diff line Loading @@ -245,6 +245,14 @@ public class ArtManagerService extends android.content.pm.dex.IArtManager.Stub { */ public void prepareAppProfiles(PackageParser.Package pkg, @UserIdInt int user) { final int appId = UserHandle.getAppId(pkg.applicationInfo.uid); if (user < 0) { Slog.wtf(TAG, "Invalid user id: " + user); return; } if (appId < 0) { Slog.wtf(TAG, "Invalid app id: " + appId); return; } try { ArrayMap<String, String> codePathsProfileNames = getPackageProfileNames(pkg); for (int i = codePathsProfileNames.size() - 1; i >= 0; i--) { Loading @@ -266,6 +274,15 @@ public class ArtManagerService extends android.content.pm.dex.IArtManager.Stub { } } /** * Prepares the app profiles for a set of users. {@see ArtManagerService#prepareAppProfiles}. */ public void prepareAppProfiles(PackageParser.Package pkg, int[] user) { for (int i = 0; i < user.length; i++) { prepareAppProfiles(pkg, user[i]); } } /** * Build the profiles names for all the package code paths (excluding resource only paths). * Return the map [code path -> profile name]. Loading