Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ff3bbac2 authored by Junyu Lai's avatar Junyu Lai Committed by Automerger Merge Worker
Browse files

Merge "[MS24] Remove FileUtils.sync dependencies" am: f1245786

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1934457

Change-Id: I7eaa20793df00149c32d2f5231467eb918d96e33
parents dfffffed f1245786
Loading
Loading
Loading
Loading
+13 −9
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@
package com.android.internal.util;

import android.os.FileUtils;
import android.util.Slog;
import android.util.Log;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
@@ -32,7 +32,6 @@ import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;

import libcore.io.IoUtils;
import libcore.io.Streams;

/**
 * Utility that rotates files over time, similar to {@code logrotate}. There is
@@ -47,6 +46,8 @@ import libcore.io.Streams;
 * <p>
 * Users must periodically call {@link #maybeRotate(long)} to perform actual
 * rotation. Not inherently thread safe.
 *
 * @hide
 */
public class FileRotator {
    private static final String TAG = "FileRotator";
@@ -110,7 +111,7 @@ public class FileRotator {
            if (!name.startsWith(mPrefix)) continue;

            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 file = new File(
@@ -120,7 +121,7 @@ public class FileRotator {
                backupFile.renameTo(file);

            } 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 file = new File(
@@ -231,7 +232,7 @@ public class FileRotator {
     * if the write fails.
     */
    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 backupFile;
@@ -291,7 +292,7 @@ public class FileRotator {

            // read file when it overlaps
            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);
                readFile(file, reader);
@@ -348,7 +349,7 @@ public class FileRotator {
            if (info.isActive()) {
                if (info.startMillis <= rotateBefore) {
                    // found active file; rotate if old enough
                    if (LOGD) Slog.d(TAG, "rotating " + name);
                    if (LOGD) Log.d(TAG, "rotating " + name);

                    info.endMillis = currentTimeMillis;

@@ -358,7 +359,7 @@ public class FileRotator {
                }
            } else if (info.endMillis <= deleteBefore) {
                // 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);
                file.delete();
@@ -383,7 +384,10 @@ public class FileRotator {
            writer.write(bos);
            bos.flush();
        } finally {
            FileUtils.sync(fos);
            try {
                fos.getFD().sync();
            } catch (IOException e) {
            }
            IoUtils.closeQuietly(bos);
        }
    }