Loading services/backup/java/com/android/server/backup/UserBackupManagerService.java +22 −9 Original line number Diff line number Diff line Loading @@ -156,6 +156,7 @@ import java.util.Collections; import java.util.Date; import java.util.HashMap; import java.util.HashSet; import java.util.LinkedHashSet; import java.util.LinkedList; import java.util.List; import java.util.Queue; Loading Loading @@ -1084,18 +1085,30 @@ public class UserBackupManagerService { private void parseLeftoverJournals() { ArrayList<DataChangedJournal> journals = DataChangedJournal.listJournals(mJournalDir); // TODO(b/162022005): Fix DataChangedJournal implementing equals() but not hashCode(). journals.removeAll(Collections.singletonList(mJournal)); if (!journals.isEmpty()) { Slog.i(TAG, "Found " + journals.size() + " stale backup journal(s), scheduling."); } Set<String> packageNames = new LinkedHashSet<>(); for (DataChangedJournal journal : journals) { if (!journal.equals(mJournal)) { try { journal.forEach(packageName -> { Slog.i(TAG, "Found stale backup journal, scheduling"); if (MORE_DEBUG) Slog.i(TAG, " " + packageName); if (packageNames.add(packageName)) { dataChangedImpl(packageName); } }); } catch (IOException e) { Slog.e(TAG, "Can't read " + journal, e); } } if (!packageNames.isEmpty()) { String msg = "Stale backup journals: Scheduled " + packageNames.size() + " package(s) total"; if (MORE_DEBUG) { msg += ": " + packageNames; } Slog.i(TAG, msg); } } Loading Loading
services/backup/java/com/android/server/backup/UserBackupManagerService.java +22 −9 Original line number Diff line number Diff line Loading @@ -156,6 +156,7 @@ import java.util.Collections; import java.util.Date; import java.util.HashMap; import java.util.HashSet; import java.util.LinkedHashSet; import java.util.LinkedList; import java.util.List; import java.util.Queue; Loading Loading @@ -1084,18 +1085,30 @@ public class UserBackupManagerService { private void parseLeftoverJournals() { ArrayList<DataChangedJournal> journals = DataChangedJournal.listJournals(mJournalDir); // TODO(b/162022005): Fix DataChangedJournal implementing equals() but not hashCode(). journals.removeAll(Collections.singletonList(mJournal)); if (!journals.isEmpty()) { Slog.i(TAG, "Found " + journals.size() + " stale backup journal(s), scheduling."); } Set<String> packageNames = new LinkedHashSet<>(); for (DataChangedJournal journal : journals) { if (!journal.equals(mJournal)) { try { journal.forEach(packageName -> { Slog.i(TAG, "Found stale backup journal, scheduling"); if (MORE_DEBUG) Slog.i(TAG, " " + packageName); if (packageNames.add(packageName)) { dataChangedImpl(packageName); } }); } catch (IOException e) { Slog.e(TAG, "Can't read " + journal, e); } } if (!packageNames.isEmpty()) { String msg = "Stale backup journals: Scheduled " + packageNames.size() + " package(s) total"; if (MORE_DEBUG) { msg += ": " + packageNames; } Slog.i(TAG, msg); } } Loading