Merge cherrypicks of ['android-review.googlesource.com/3218418'] into 24Q3-release.

Change-Id: I31043aa055c0e9dd7952d78ec5316078debb623c
diff --git a/common/prefs.cc b/common/prefs.cc
index af4d318..79d622f 100644
--- a/common/prefs.cc
+++ b/common/prefs.cc
@@ -240,6 +240,15 @@
     }
   }
 
+  if (std::filesystem::exists(GetTemporaryDir())) {
+    LOG(INFO)
+        << "Deleting temporary prefs, checkpoint transaction was interrupted";
+    if (!utils::DeleteDirectory(GetTemporaryDir().c_str())) {
+      LOG(ERROR) << "Failed to delete temporary prefs";
+      return false;
+    }
+  }
+
   // Delete empty directories. Ignore errors when deleting empty directories.
   DeleteEmptyDirectories(prefs_dir_);
   return true;