From 57c59fba4c2139f3aee03b35c97b9991825199cc Mon Sep 17 00:00:00 2001 From: Junyu Lai Date: Mon, 27 Dec 2021 15:41:41 +0000 Subject: [PATCH] [MS24] Remove FileUtils.sync dependencies FileRotator will be built with Connectivity mainline module while the file location will be kept inside platform. Thus, hidden api usage needs to be addressed. This change removes some dependencies by inlining the content of FileUtils.sync to remove the dependency, and change the Slog to Log. Test: TH Bug: 204830222 Change-Id: I6105850dd8311072fd8de2e2864d11fdb052f061 --- .../android/internal/util/FileRotator.java | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/core/java/com/android/internal/util/FileRotator.java b/core/java/com/android/internal/util/FileRotator.java index 3ca33203f554a..4b3af15361750 100644 --- a/core/java/com/android/internal/util/FileRotator.java +++ b/core/java/com/android/internal/util/FileRotator.java @@ -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; *

* 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); } }