Implemented AtomicFile.toString()
It shows the path of the base filename.
Test: atest FrameworksUtilTests:android.util.AtomicFileTest
Fixes: 203131233
Change-Id: Ib8d36610a4c34d210cc465ec8006d4df33ef638d
diff --git a/core/java/android/util/AtomicFile.java b/core/java/android/util/AtomicFile.java
index e2e9479..be8e2c2 100644
--- a/core/java/android/util/AtomicFile.java
+++ b/core/java/android/util/AtomicFile.java
@@ -330,6 +330,11 @@
}
}
+ @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 72d6a2c..adc3676 100644
--- a/core/tests/utiltests/Android.bp
+++ b/core/tests/utiltests/Android.bp
@@ -33,6 +33,7 @@
"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 a7d3b22..8c13579 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 @@
}
}
+ @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);