diff --git a/services/core/java/com/android/server/wm/LaunchParamsPersister.java b/services/core/java/com/android/server/wm/LaunchParamsPersister.java index bf511adf0bf9a..2394da91684d1 100644 --- a/services/core/java/com/android/server/wm/LaunchParamsPersister.java +++ b/services/core/java/com/android/server/wm/LaunchParamsPersister.java @@ -433,7 +433,7 @@ class LaunchParamsPersister { final byte[] data = saveParamsToXml(); final File launchParamFolder = getLaunchParamFolder(mUserId); - if (!launchParamFolder.isDirectory() && !launchParamFolder.mkdirs()) { + if (!launchParamFolder.isDirectory() && !launchParamFolder.mkdir()) { Slog.w(TAG, "Failed to create folder for " + mUserId); return; } diff --git a/services/core/java/com/android/server/wm/TaskPersister.java b/services/core/java/com/android/server/wm/TaskPersister.java index 29c192cc7c481..f882b9b184530 100644 --- a/services/core/java/com/android/server/wm/TaskPersister.java +++ b/services/core/java/com/android/server/wm/TaskPersister.java @@ -509,7 +509,7 @@ public class TaskPersister implements PersisterQueue.Listener { private static boolean createParentDirectory(String filePath) { File parentDir = new File(filePath).getParentFile(); - return parentDir.exists() || parentDir.mkdirs(); + return parentDir.isDirectory() || parentDir.mkdir(); } private static class TaskWriteQueueItem implements PersisterQueue.WriteQueueItem { diff --git a/services/tests/wmtests/src/com/android/server/wm/LaunchParamsPersisterTests.java b/services/tests/wmtests/src/com/android/server/wm/LaunchParamsPersisterTests.java index 7cb7c79d63a08..2b19ad97e90ca 100644 --- a/services/tests/wmtests/src/com/android/server/wm/LaunchParamsPersisterTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/LaunchParamsPersisterTests.java @@ -107,6 +107,9 @@ public class LaunchParamsPersisterTests extends WindowTestsBase { InstrumentationRegistry.getInstrumentation().getContext().getCacheDir(); mFolder = new File(cacheFolder, "launch_params_tests"); deleteRecursively(mFolder); + mFolder.mkdir(); + mUserFolderGetter.apply(TEST_USER_ID).mkdir(); + mUserFolderGetter.apply(ALTERNATIVE_USER_ID).mkdir(); mDisplayUniqueId = "test:" + sNextUniqueId++; mTestDisplay = new TestDisplayContent.Builder(mAtm, 1000, 1500)