summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/pm/Settings.java11
1 files changed, 8 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/pm/Settings.java b/services/core/java/com/android/server/pm/Settings.java
index aedf78255422..4678520b685b 100644
--- a/services/core/java/com/android/server/pm/Settings.java
+++ b/services/core/java/com/android/server/pm/Settings.java
@@ -2693,10 +2693,15 @@ public final class Settings implements Watchable, Snappable {
FileUtils.S_IRUSR | FileUtils.S_IWUSR | FileUtils.S_IRGRP | FileUtils.S_IWGRP,
-1, -1);
- try {
- FileUtils.copy(mSettingsFilename, mSettingsReserveCopyFilename);
+ try (FileInputStream in = new FileInputStream(mSettingsFilename);
+ FileOutputStream out = new FileOutputStream(mSettingsReserveCopyFilename)) {
+ FileUtils.copy(in, out);
+ out.flush();
+ FileUtils.sync(out);
} catch (IOException e) {
- Slog.e(TAG, "Failed to backup settings", e);
+ Slog.e(TAG,
+ "Failed to write reserve copy of settings: " + mSettingsReserveCopyFilename,
+ e);
}
try {