Start required apps within each CTS test

Bug: 148772550
Test: atest PerfettoCtsTest HeapprofdCtsTest
Change-Id: Ia47c5027ccfdab641604f02fad3ab77b900fdb74
diff --git a/test/cts/utils.cc b/test/cts/utils.cc
index 1407fa1..4ea9309 100644
--- a/test/cts/utils.cc
+++ b/test/cts/utils.cc
@@ -67,22 +67,29 @@
   PERFETTO_FATAL("unexpected exit status from system(pgrep): %d", exit_status);
 }
 
-void StartAppActivity(const std::string& app_name,
-                      const std::string& checkpoint_name,
-                      base::TestTaskRunner* task_runner,
-                      int delay_ms) {
-  std::string start_cmd = "am start " + app_name + "/.MainActivity";
-  int status = system(start_cmd.c_str());
-  ASSERT_TRUE(status >= 0 && WEXITSTATUS(status) == 0) << "status: " << status;
-
+void WaitForProcess(const std::string& process,
+                    const std::string& checkpoint_name,
+                    base::TestTaskRunner* task_runner,
+                    uint32_t delay_ms) {
   bool desired_run_state = true;
   const auto checkpoint = task_runner->CreateCheckpoint(checkpoint_name);
   task_runner->PostDelayedTask(
-      [desired_run_state, task_runner, app_name, checkpoint] {
-        PollRunState(desired_run_state, task_runner, app_name,
+      [desired_run_state, task_runner, process, checkpoint] {
+        PollRunState(desired_run_state, task_runner, process,
                      std::move(checkpoint));
       },
-      static_cast<uint32_t>(delay_ms));
+      delay_ms);
+}
+
+void StartAppActivity(const std::string& app_name,
+                      const std::string& activity_name,
+                      const std::string& checkpoint_name,
+                      base::TestTaskRunner* task_runner,
+                      uint32_t delay_ms) {
+  std::string start_cmd = "am start " + app_name + "/." + activity_name;
+  int status = system(start_cmd.c_str());
+  ASSERT_TRUE(status >= 0 && WEXITSTATUS(status) == 0) << "status: " << status;
+  WaitForProcess(app_name, checkpoint_name, task_runner, delay_ms);
 }
 
 void StopApp(const std::string& app_name,