From 4fa666998edfa729652099ffc10d7074e940d637 Mon Sep 17 00:00:00 2001 From: Felipe Leme Date: Fri, 22 Oct 2021 16:04:28 +0000 Subject: [PATCH] Implemented AtomicFile.toString() It shows the path of the base filename. Test: atest FrameworksUtilTests:android.util.AtomicFileTest Fixes: 203131233 Change-Id: Ib8d36610a4c34d210cc465ec8006d4df33ef638d --- core/java/android/util/AtomicFile.java | 5 +++++ core/tests/utiltests/Android.bp | 1 + .../utiltests/src/android/util/AtomicFileTest.java | 12 ++++++++++++ 3 files changed, 18 insertions(+) diff --git a/core/java/android/util/AtomicFile.java b/core/java/android/util/AtomicFile.java index e2e94799a8d7f..be8e2c2d745c1 100644 --- a/core/java/android/util/AtomicFile.java +++ b/core/java/android/util/AtomicFile.java @@ -330,6 +330,11 @@ public class AtomicFile { } } + @Override + public String toString() { + return "AtomicFile[" + mBaseName + "]"; + } + private static void rename(File source, File target) { // We used to delete the target file before rename, but that isn't atomic, and the rename() // syscall should atomically replace the target file. However in the case where the target diff --git a/core/tests/utiltests/Android.bp b/core/tests/utiltests/Android.bp index 72d6a2c677396..adc3676f7b93a 100644 --- a/core/tests/utiltests/Android.bp +++ b/core/tests/utiltests/Android.bp @@ -33,6 +33,7 @@ android_test { "frameworks-base-testutils", "mockito-target-minus-junit4", "androidx.test.ext.junit", + "truth-prebuilt", ], libs: [ diff --git a/core/tests/utiltests/src/android/util/AtomicFileTest.java b/core/tests/utiltests/src/android/util/AtomicFileTest.java index a7d3b222937a0..8c13579e2588c 100644 --- a/core/tests/utiltests/src/android/util/AtomicFileTest.java +++ b/core/tests/utiltests/src/android/util/AtomicFileTest.java @@ -16,6 +16,8 @@ package android.util; +import static com.google.common.truth.Truth.assertThat; + import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertTrue; @@ -257,6 +259,16 @@ public class AtomicFileTest { } } + @Test + public void testToString() throws Exception { + AtomicFile atomicFile = new AtomicFile(mBaseFile); + + String toString = atomicFile.toString(); + + assertThat(toString).contains("AtomicFile"); + assertThat(toString).contains(mBaseFile.getAbsolutePath()); + } + private static void writeBytes(@NonNull File file, @NonNull byte[] bytes) throws IOException { try (FileOutputStream outputStream = new FileOutputStream(file)) { outputStream.write(bytes);