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