Update to use new PropertyWatcher methods.

Bug: 270142874
Test: m microdroid_manager_test virtualizationservice
Change-Id: I112e5f8e7a86e7f7ea1661890d7a43494d4b1b37
diff --git a/microdroid_manager/src/main.rs b/microdroid_manager/src/main.rs
index c78b20f..2cb3666 100644
--- a/microdroid_manager/src/main.rs
+++ b/microdroid_manager/src/main.rs
@@ -733,7 +733,7 @@
 fn wait_for_property_true(property_name: &str) -> Result<()> {
     let mut prop = PropertyWatcher::new(property_name)?;
     loop {
-        prop.wait()?;
+        prop.wait(None)?;
         if system_properties::read_bool(property_name, false)? {
             break;
         }
diff --git a/virtualizationservice/src/atom.rs b/virtualizationservice/src/atom.rs
index 4aa3550..862646b 100644
--- a/virtualizationservice/src/atom.rs
+++ b/virtualizationservice/src/atom.rs
@@ -22,7 +22,7 @@
 };
 use anyhow::Result;
 use log::{trace, warn};
-use rustutils::system_properties;
+use rustutils::system_properties::PropertyWatcher;
 use statslog_virtualization_rust::{vm_booted, vm_creation_requested, vm_exited};
 
 pub fn forward_vm_creation_atom(atom: &AtomVmCreationRequested) {
@@ -125,21 +125,6 @@
 }
 
 fn wait_for_statsd() -> Result<()> {
-    let mut prop = system_properties::PropertyWatcher::new("init.svc.statsd")?;
-    loop {
-        prop.wait()?;
-        match system_properties::read("init.svc.statsd")? {
-            Some(s) => {
-                if s == "running" {
-                    break;
-                }
-            }
-            None => {
-                // This case never really happens because
-                // prop.wait() waits for property to be non-null.
-                break;
-            }
-        }
-    }
+    PropertyWatcher::new("init.svc.statsd")?.wait_for_value("running", None)?;
     Ok(())
 }