Merge "Removing disk access from startActivity thread" into nyc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
6c0ead993e
@@ -17,8 +17,6 @@
|
|||||||
package com.android.server.am;
|
package com.android.server.am;
|
||||||
|
|
||||||
import android.annotation.NonNull;
|
import android.annotation.NonNull;
|
||||||
import android.annotation.Nullable;
|
|
||||||
import android.app.ActivityManager;
|
|
||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
import android.graphics.BitmapFactory;
|
import android.graphics.BitmapFactory;
|
||||||
import android.os.Debug;
|
import android.os.Debug;
|
||||||
@@ -519,7 +517,7 @@ public class TaskPersister {
|
|||||||
if (DEBUG) Slog.d(TAG, "removeObsoleteFiles: persistentTaskIds=" + persistentTaskIds +
|
if (DEBUG) Slog.d(TAG, "removeObsoleteFiles: persistentTaskIds=" + persistentTaskIds +
|
||||||
" files=" + files);
|
" files=" + files);
|
||||||
if (files == null) {
|
if (files == null) {
|
||||||
Slog.e(TAG, "File error accessing recents directory (too many files open?).");
|
Slog.e(TAG, "File error accessing recents directory (directory doesn't exist?).");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
for (int fileNdx = 0; fileNdx < files.length; ++fileNdx) {
|
for (int fileNdx = 0; fileNdx < files.length; ++fileNdx) {
|
||||||
@@ -597,15 +595,12 @@ public class TaskPersister {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static File getUserImagesDir(int userId) {
|
static File getUserImagesDir(int userId) {
|
||||||
File userImagesDir = new File(Environment.getDataSystemCeDirectory(userId), IMAGES_DIRNAME);
|
return new File(Environment.getDataSystemCeDirectory(userId), IMAGES_DIRNAME);
|
||||||
|
}
|
||||||
|
|
||||||
if (!userImagesDir.exists()) {
|
private static boolean createParentDirectory(String filePath) {
|
||||||
if (!userImagesDir.mkdir()) {
|
File parentDir = new File(filePath).getParentFile();
|
||||||
Slog.e(TAG, "Failure creating images directory for user " + userId + ": "
|
return parentDir.exists() || parentDir.mkdirs();
|
||||||
+ userImagesDir);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return userImagesDir;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private class LazyTaskWriterThread extends Thread {
|
private class LazyTaskWriterThread extends Thread {
|
||||||
@@ -693,6 +688,10 @@ public class TaskPersister {
|
|||||||
if (item instanceof ImageWriteQueueItem) {
|
if (item instanceof ImageWriteQueueItem) {
|
||||||
ImageWriteQueueItem imageWriteQueueItem = (ImageWriteQueueItem) item;
|
ImageWriteQueueItem imageWriteQueueItem = (ImageWriteQueueItem) item;
|
||||||
final String filePath = imageWriteQueueItem.mFilePath;
|
final String filePath = imageWriteQueueItem.mFilePath;
|
||||||
|
if (!createParentDirectory(filePath)) {
|
||||||
|
Slog.e(TAG, "Error while creating images directory for file: " + filePath);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
final Bitmap bitmap = imageWriteQueueItem.mImage;
|
final Bitmap bitmap = imageWriteQueueItem.mImage;
|
||||||
if (DEBUG) Slog.d(TAG, "writing bitmap: filename=" + filePath);
|
if (DEBUG) Slog.d(TAG, "writing bitmap: filename=" + filePath);
|
||||||
FileOutputStream imageFile = null;
|
FileOutputStream imageFile = null;
|
||||||
|
|||||||
Reference in New Issue
Block a user