From d96d2ddc23736070b2e47eae1629d210a16bc1c7 Mon Sep 17 00:00:00 2001 From: Calin Juravle Date: Tue, 2 Feb 2016 23:28:39 +0000 Subject: [PATCH] Change the location of profile files. Bug: 26719109 Bug: 26563023 Change-Id: I8e9e03a58a7926c72283788c5eb49ae680e85cc3 --- core/java/android/app/ActivityThread.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java index 04883a9612866..02b94de925091 100644 --- a/core/java/android/app/ActivityThread.java +++ b/core/java/android/app/ActivityThread.java @@ -4774,6 +4774,12 @@ public final class ActivityThread { } } + // Keep in sync with installd (frameworks/native/cmds/installd/commands.cpp). + private static File getPrimaryProfileFile(String packageName) { + return new File("/data/misc/profiles/cur/" + UserHandle.myUserId() + + "/" + packageName + "/primary.prof"); + } + private static void setupJitProfileSupport(LoadedApk loadedApk, File cacheDir) { if (!SystemProperties.getBoolean("dalvik.vm.usejitprofiles", false)) { return; @@ -4793,10 +4799,7 @@ public final class ActivityThread { return; } - // Add an extension to the file name to better reveal its intended use. - // Keep in sync with BackgroundDexOptService. - final String profileExtension = ".prof"; - final File profileFile = new File(cacheDir, loadedApk.mPackageName + profileExtension); + final File profileFile = getPrimaryProfileFile(loadedApk.mPackageName); if (!profileFile.exists()) { FileDescriptor fd = null; try { @@ -4805,7 +4808,7 @@ public final class ActivityThread { Os.fchmod(fd, permissions); Os.fchown(fd, appInfo.uid, appInfo.uid); } catch (ErrnoException e) { - Log.w(TAG, "Unable to create jit profile file " + profileFile, e); + Log.v(TAG, "Unable to create jit profile file " + profileFile, e); try { Os.unlink(profileFile.getAbsolutePath()); } catch (ErrnoException unlinkErr) {