| 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)
|
|
|
| processes = set()
|
| ps_output = self.platform_backend.GetPsOutput(['pid', 'name'])
|
|
|