Loading services/core/java/com/android/server/am/ActivityRecord.java +4 −2 Original line number Diff line number Diff line Loading @@ -1154,13 +1154,15 @@ final class ActivityRecord { } if (intent == null) { Slog.e(TAG, "restoreActivity error intent=" + intent); return null; throw new XmlPullParserException("restoreActivity error intent=" + intent); } final ActivityManagerService service = stackSupervisor.mService; final ActivityInfo aInfo = stackSupervisor.resolveActivity(intent, resolvedType, 0, null, null, userId); if (aInfo == null) { throw new XmlPullParserException("restoreActivity resolver error."); } final ActivityRecord r = new ActivityRecord(service, /*caller*/null, launchedFromUid, launchedFromPackage, intent, resolvedType, aInfo, service.getConfiguration(), null, null, 0, componentSpecified, stackSupervisor, null, null); Loading services/core/java/com/android/server/am/TaskPersister.java +9 −7 Original line number Diff line number Diff line Loading @@ -155,6 +155,7 @@ public class TaskPersister { File taskFile = recentFiles[taskNdx]; if (DEBUG) Slog.d(TAG, "restoreTasksLocked: taskFile=" + taskFile.getName()); BufferedReader reader = null; boolean deleteFile = false; try { reader = new BufferedReader(new FileReader(taskFile)); final XmlPullParser in = Xml.newPullParser(); Loading Loading @@ -183,10 +184,9 @@ public class TaskPersister { } XmlUtils.skipCurrentTag(in); } } catch (IOException e) { Slog.e(TAG, "Unable to parse " + taskFile + ". Error " + e); } catch (XmlPullParserException e) { Slog.e(TAG, "Unable to parse " + taskFile + ". Error " + e); } catch (Exception e) { Slog.wtf(TAG, "Unable to parse " + taskFile + ". Error " + e); deleteFile = true; } finally { if (reader != null) { try { Loading @@ -194,6 +194,9 @@ public class TaskPersister { } catch (IOException e) { } } if (!DEBUG && deleteFile) { taskFile.delete(); } } } Loading @@ -220,7 +223,7 @@ public class TaskPersister { return new ArrayList<TaskRecord>(Arrays.asList(tasksArray)); } private void removeObsoleteFiles(ArraySet<Integer> persistentTaskIds, File[] files) { private static void removeObsoleteFiles(ArraySet<Integer> persistentTaskIds, File[] files) { for (int fileNdx = 0; fileNdx < files.length; ++fileNdx) { File file = files[fileNdx]; String filename = file.getName(); Loading Loading @@ -285,8 +288,7 @@ public class TaskPersister { synchronized(mService) { final ArrayList<TaskRecord> tasks = mService.mRecentTasks; persistentTaskIds.clear(); int taskNdx; for (taskNdx = tasks.size() - 1; taskNdx >= 0; --taskNdx) { for (int taskNdx = tasks.size() - 1; taskNdx >= 0; --taskNdx) { task = tasks.get(taskNdx); if (DEBUG) Slog.d(TAG, "LazyTaskWriter: task=" + task + " persistable=" + task.isPersistable + " needsPersisting=" + task.needsPersisting); Loading Loading
services/core/java/com/android/server/am/ActivityRecord.java +4 −2 Original line number Diff line number Diff line Loading @@ -1154,13 +1154,15 @@ final class ActivityRecord { } if (intent == null) { Slog.e(TAG, "restoreActivity error intent=" + intent); return null; throw new XmlPullParserException("restoreActivity error intent=" + intent); } final ActivityManagerService service = stackSupervisor.mService; final ActivityInfo aInfo = stackSupervisor.resolveActivity(intent, resolvedType, 0, null, null, userId); if (aInfo == null) { throw new XmlPullParserException("restoreActivity resolver error."); } final ActivityRecord r = new ActivityRecord(service, /*caller*/null, launchedFromUid, launchedFromPackage, intent, resolvedType, aInfo, service.getConfiguration(), null, null, 0, componentSpecified, stackSupervisor, null, null); Loading
services/core/java/com/android/server/am/TaskPersister.java +9 −7 Original line number Diff line number Diff line Loading @@ -155,6 +155,7 @@ public class TaskPersister { File taskFile = recentFiles[taskNdx]; if (DEBUG) Slog.d(TAG, "restoreTasksLocked: taskFile=" + taskFile.getName()); BufferedReader reader = null; boolean deleteFile = false; try { reader = new BufferedReader(new FileReader(taskFile)); final XmlPullParser in = Xml.newPullParser(); Loading Loading @@ -183,10 +184,9 @@ public class TaskPersister { } XmlUtils.skipCurrentTag(in); } } catch (IOException e) { Slog.e(TAG, "Unable to parse " + taskFile + ". Error " + e); } catch (XmlPullParserException e) { Slog.e(TAG, "Unable to parse " + taskFile + ". Error " + e); } catch (Exception e) { Slog.wtf(TAG, "Unable to parse " + taskFile + ". Error " + e); deleteFile = true; } finally { if (reader != null) { try { Loading @@ -194,6 +194,9 @@ public class TaskPersister { } catch (IOException e) { } } if (!DEBUG && deleteFile) { taskFile.delete(); } } } Loading @@ -220,7 +223,7 @@ public class TaskPersister { return new ArrayList<TaskRecord>(Arrays.asList(tasksArray)); } private void removeObsoleteFiles(ArraySet<Integer> persistentTaskIds, File[] files) { private static void removeObsoleteFiles(ArraySet<Integer> persistentTaskIds, File[] files) { for (int fileNdx = 0; fileNdx < files.length; ++fileNdx) { File file = files[fileNdx]; String filename = file.getName(); Loading Loading @@ -285,8 +288,7 @@ public class TaskPersister { synchronized(mService) { final ArrayList<TaskRecord> tasks = mService.mRecentTasks; persistentTaskIds.clear(); int taskNdx; for (taskNdx = tasks.size() - 1; taskNdx >= 0; --taskNdx) { for (int taskNdx = tasks.size() - 1; taskNdx >= 0; --taskNdx) { task = tasks.get(taskNdx); if (DEBUG) Slog.d(TAG, "LazyTaskWriter: task=" + task + " persistable=" + task.isPersistable + " needsPersisting=" + task.needsPersisting); Loading