Merge "[MS24] Remove FileUtils.sync dependencies"
This commit is contained in:
@@ -17,7 +17,7 @@
|
|||||||
package com.android.internal.util;
|
package com.android.internal.util;
|
||||||
|
|
||||||
import android.os.FileUtils;
|
import android.os.FileUtils;
|
||||||
import android.util.Slog;
|
import android.util.Log;
|
||||||
|
|
||||||
import java.io.BufferedInputStream;
|
import java.io.BufferedInputStream;
|
||||||
import java.io.BufferedOutputStream;
|
import java.io.BufferedOutputStream;
|
||||||
@@ -32,7 +32,6 @@ import java.util.zip.ZipEntry;
|
|||||||
import java.util.zip.ZipOutputStream;
|
import java.util.zip.ZipOutputStream;
|
||||||
|
|
||||||
import libcore.io.IoUtils;
|
import libcore.io.IoUtils;
|
||||||
import libcore.io.Streams;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Utility that rotates files over time, similar to {@code logrotate}. There is
|
* Utility that rotates files over time, similar to {@code logrotate}. There is
|
||||||
@@ -47,6 +46,8 @@ import libcore.io.Streams;
|
|||||||
* <p>
|
* <p>
|
||||||
* Users must periodically call {@link #maybeRotate(long)} to perform actual
|
* Users must periodically call {@link #maybeRotate(long)} to perform actual
|
||||||
* rotation. Not inherently thread safe.
|
* rotation. Not inherently thread safe.
|
||||||
|
*
|
||||||
|
* @hide
|
||||||
*/
|
*/
|
||||||
public class FileRotator {
|
public class FileRotator {
|
||||||
private static final String TAG = "FileRotator";
|
private static final String TAG = "FileRotator";
|
||||||
@@ -110,7 +111,7 @@ public class FileRotator {
|
|||||||
if (!name.startsWith(mPrefix)) continue;
|
if (!name.startsWith(mPrefix)) continue;
|
||||||
|
|
||||||
if (name.endsWith(SUFFIX_BACKUP)) {
|
if (name.endsWith(SUFFIX_BACKUP)) {
|
||||||
if (LOGD) Slog.d(TAG, "recovering " + name);
|
if (LOGD) Log.d(TAG, "recovering " + name);
|
||||||
|
|
||||||
final File backupFile = new File(mBasePath, name);
|
final File backupFile = new File(mBasePath, name);
|
||||||
final File file = new File(
|
final File file = new File(
|
||||||
@@ -120,7 +121,7 @@ public class FileRotator {
|
|||||||
backupFile.renameTo(file);
|
backupFile.renameTo(file);
|
||||||
|
|
||||||
} else if (name.endsWith(SUFFIX_NO_BACKUP)) {
|
} else if (name.endsWith(SUFFIX_NO_BACKUP)) {
|
||||||
if (LOGD) Slog.d(TAG, "recovering " + name);
|
if (LOGD) Log.d(TAG, "recovering " + name);
|
||||||
|
|
||||||
final File noBackupFile = new File(mBasePath, name);
|
final File noBackupFile = new File(mBasePath, name);
|
||||||
final File file = new File(
|
final File file = new File(
|
||||||
@@ -231,7 +232,7 @@ public class FileRotator {
|
|||||||
* if the write fails.
|
* if the write fails.
|
||||||
*/
|
*/
|
||||||
private void rewriteSingle(Rewriter rewriter, String name) throws IOException {
|
private void rewriteSingle(Rewriter rewriter, String name) throws IOException {
|
||||||
if (LOGD) Slog.d(TAG, "rewriting " + name);
|
if (LOGD) Log.d(TAG, "rewriting " + name);
|
||||||
|
|
||||||
final File file = new File(mBasePath, name);
|
final File file = new File(mBasePath, name);
|
||||||
final File backupFile;
|
final File backupFile;
|
||||||
@@ -291,7 +292,7 @@ public class FileRotator {
|
|||||||
|
|
||||||
// read file when it overlaps
|
// read file when it overlaps
|
||||||
if (info.startMillis <= matchEndMillis && matchStartMillis <= info.endMillis) {
|
if (info.startMillis <= matchEndMillis && matchStartMillis <= info.endMillis) {
|
||||||
if (LOGD) Slog.d(TAG, "reading matching " + name);
|
if (LOGD) Log.d(TAG, "reading matching " + name);
|
||||||
|
|
||||||
final File file = new File(mBasePath, name);
|
final File file = new File(mBasePath, name);
|
||||||
readFile(file, reader);
|
readFile(file, reader);
|
||||||
@@ -348,7 +349,7 @@ public class FileRotator {
|
|||||||
if (info.isActive()) {
|
if (info.isActive()) {
|
||||||
if (info.startMillis <= rotateBefore) {
|
if (info.startMillis <= rotateBefore) {
|
||||||
// found active file; rotate if old enough
|
// found active file; rotate if old enough
|
||||||
if (LOGD) Slog.d(TAG, "rotating " + name);
|
if (LOGD) Log.d(TAG, "rotating " + name);
|
||||||
|
|
||||||
info.endMillis = currentTimeMillis;
|
info.endMillis = currentTimeMillis;
|
||||||
|
|
||||||
@@ -358,7 +359,7 @@ public class FileRotator {
|
|||||||
}
|
}
|
||||||
} else if (info.endMillis <= deleteBefore) {
|
} else if (info.endMillis <= deleteBefore) {
|
||||||
// found rotated file; delete if old enough
|
// found rotated file; delete if old enough
|
||||||
if (LOGD) Slog.d(TAG, "deleting " + name);
|
if (LOGD) Log.d(TAG, "deleting " + name);
|
||||||
|
|
||||||
final File file = new File(mBasePath, name);
|
final File file = new File(mBasePath, name);
|
||||||
file.delete();
|
file.delete();
|
||||||
@@ -383,7 +384,10 @@ public class FileRotator {
|
|||||||
writer.write(bos);
|
writer.write(bos);
|
||||||
bos.flush();
|
bos.flush();
|
||||||
} finally {
|
} finally {
|
||||||
FileUtils.sync(fos);
|
try {
|
||||||
|
fos.getFD().sync();
|
||||||
|
} catch (IOException e) {
|
||||||
|
}
|
||||||
IoUtils.closeQuietly(bos);
|
IoUtils.closeQuietly(bos);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user