Use shell commands instead of ITestDevice for BootImageProfile test

For some reason, ITestDevice property getting and setting is flaky on
GCE. This causes frequent test failures.

(cherry-picked from commit 94d9a21ccb34ab2567ef173e460350220c8ac658)

Test: tested on cuddlefish device
Bug: 149802360

Merged-In: Iba48c173bdea2d55d8f2aa7f0fa382628582fe1c
Change-Id: Iba48c173bdea2d55d8f2aa7f0fa382628582fe1c
diff --git a/tests/BootImageProfileTest/src/com/android/bootimageprofile/BootImageProfileTest.java b/tests/BootImageProfileTest/src/com/android/bootimageprofile/BootImageProfileTest.java
index a406caf..61f3dba 100644
--- a/tests/BootImageProfileTest/src/com/android/bootimageprofile/BootImageProfileTest.java
+++ b/tests/BootImageProfileTest/src/com/android/bootimageprofile/BootImageProfileTest.java
@@ -47,7 +47,7 @@
             return mTestDevice.getProperty("persist.device_config.runtime_native_boot."
                     + property);
         } else {
-            return mTestDevice.getProperty("dalvik.vm." + property);
+            return mTestDevice.executeShellCommand("getprop dalvik.vm." + property).trim();
         }
     }
 
@@ -66,9 +66,9 @@
      */
     public void validateProperties() throws Exception {
         String res = getProperty("profilebootclasspath");
-        assertTrue("profile boot class path not enabled", res != null && res.equals("true"));
+        assertTrue("profile boot class path not enabled: " + res, "true".equals(res));
         res = getProperty("profilesystemserver");
-        assertTrue("profile system server not enabled", res != null && res.equals("true"));
+        assertTrue("profile system server not enabled: " + res, "true".equals(res));
     }
 
     private boolean forceSaveProfile(String pkg) throws Exception {
@@ -88,20 +88,20 @@
         String res;
         // Set properties and wait for them to be readable.
         for (int i = 1; i <= numIterations; ++i) {
-            res = getProperty("profilebootclasspath");
-            boolean profileBootClassPath = res != null && res.equals("true");
-            res = getProperty("profilesystemserver");
-            boolean profileSystemServer = res != null && res.equals("true");
+            String pbcp = getProperty("profilebootclasspath");
+            boolean profileBootClassPath = "true".equals(pbcp);
+            String pss = getProperty("profilesystemserver");
+            boolean profileSystemServer = "true".equals(pss);
             if (profileBootClassPath && profileSystemServer) {
                 break;
             }
             if (i == numIterations) {
-                assertTrue("profile system server not enabled", profileSystemServer);
-                assertTrue("profile boot class path not enabled", profileSystemServer);
+                assertTrue("profile system server not enabled: " + pss, profileSystemServer);
+                assertTrue("profile boot class path not enabled: " + pbcp, profileBootClassPath);
             }
 
-            res = setProperty("profilebootclasspath", "true");
-            res = setProperty("profilesystemserver", "true");
+            setProperty("profilebootclasspath", "true");
+            setProperty("profilesystemserver", "true");
             Thread.sleep(1000);
         }
 
@@ -111,16 +111,16 @@
         res = mTestDevice.executeShellCommand("start");
         assertTrue("start shell: " + res, res.length() == 0);
         for (int i = 1; i <= numIterations; ++i) {
-            res = getProperty("profilebootclasspath");
-            boolean profileBootClassPath = res != null && res.equals("true");
-            res = getProperty("profilesystemserver");
-            boolean profileSystemServer = res != null && res.equals("true");
+            String pbcp = getProperty("profilebootclasspath");
+            boolean profileBootClassPath = "true".equals(pbcp);
+            String pss = getProperty("profilesystemserver");
+            boolean profileSystemServer = "true".equals(pss);
             if (profileBootClassPath && profileSystemServer) {
                 break;
             }
             if (i == numIterations) {
-                assertTrue("profile system server not enabled", profileSystemServer);
-                assertTrue("profile boot class path not enabled", profileSystemServer);
+                assertTrue("profile system server not enabled: " + pss, profileSystemServer);
+                assertTrue("profile boot class path not enabled: " + pbcp, profileBootClassPath);
             }
             Thread.sleep(1000);
         }