Index: tools/telemetry/telemetry/internal/backends/android_app_backend.py |
diff --git a/tools/telemetry/telemetry/internal/backends/android_app_backend.py b/tools/telemetry/telemetry/internal/backends/android_app_backend.py |
index 96403beea9662f32f871a90fe2abb805935f3334..5504602c23c2c4e0c1bf35c072244d5537d255b9 100644 |
--- a/tools/telemetry/telemetry/internal/backends/android_app_backend.py |
+++ b/tools/telemetry/telemetry/internal/backends/android_app_backend.py |
@@ -46,8 +46,11 @@ class AndroidAppBackend(app_backend.AppBackend): |
# TODO(slamm): check if the wait for "ps" check is really needed, or |
# whether the "blocking=True" fall back is sufficient. |
has_ready_predicate = self._is_app_ready_predicate is not None |
- self.device.StartActivity(self._start_intent, |
- blocking=not has_ready_predicate) |
+ self.device.StartActivity( |
+ self._start_intent, |
+ blocking=not has_ready_predicate, |
+ force_stop=True, # Make sure the app wasn't running before. |
+ ) |
if has_ready_predicate: |
util.WaitFor(is_app_ready, timeout=60) |
@@ -87,7 +90,8 @@ class AndroidAppBackend(app_backend.AppBackend): |
def GetProcesses(self, process_filter=None): |
if process_filter is None: |
- process_filter = lambda n: re.match('^' + self._default_process_name, n) |
+ process_filter = lambda n: re.match( |
+ '^%s(:|$)' % re.escape(self._default_process_name), n) |
perezju
2015/12/08 11:47:09
Otherwise it would also catch "gms" processes when
|
processes = set() |
ps_output = self.platform_backend.GetPsOutput(['pid', 'name']) |