Chromium Code Reviews| Index: tools/telemetry/telemetry/core/backends/android_app_backend.py |
| diff --git a/tools/telemetry/telemetry/core/backends/android_app_backend.py b/tools/telemetry/telemetry/core/backends/android_app_backend.py |
| index ddd84688b458fc971aafe2c967044cc2f2f6b5c2..b949e4f4a62ede203ab4bc18404d8f3697495df0 100644 |
| --- a/tools/telemetry/telemetry/core/backends/android_app_backend.py |
| +++ b/tools/telemetry/telemetry/core/backends/android_app_backend.py |
| @@ -2,9 +2,36 @@ |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| +import time |
| + |
| from telemetry.core.backends import app_backend |
| +from telemetry.core.platform import android_platform_backend as \ |
| + android_platform_backend_module |
| + |
| +class AndroidAppBackend(app_backend.AppBackend): |
| + def __init__(self, android_platform_backend, start_intent): |
| + super(AndroidAppBackend, self).__init__(app_type=start_intent.package) |
| + assert isinstance(android_platform_backend, |
| + android_platform_backend_module.AndroidPlatformBackend) |
| + self._android_platform_backend = android_platform_backend |
| + self._start_intent = start_intent |
| + @property |
| + def _adb(self): |
| + return self._android_platform_backend.adb |
| -class AndroidAppBackend(app_backend.AppBackend): |
| - def __init__(self): |
| - super(AndroidAppBackend, self).__init__() |
| + def Start(self): |
| + |
| + self._adb.device().StartActivity(self._start_intent, blocking=False) |
| + |
| + # Wait for the app to come up. |
| + # |
| + # HACK(chrishenry): Need a better way to do this. For a |
| + # WebView-based app, where the app brings up WebView at startup, |
| + # we can wait for the WebView, for other app, need to figure out |
| + # the right thing to do here. |
|
chrishenry
2014/12/05 06:21:01
Update the HACK comment to say something about che
slamm
2014/12/05 18:19:23
Instead of searching for the app in 'ps', I change
chrishenry
2014/12/05 18:22:36
There was a comment from wuhu in the original hack
|
| + import logging; logging.warn('Sleeping after start.') |
|
nednguyen
2014/12/05 02:24:06
Let's just wait for pid to come up in this one. Cu
slamm
2014/12/05 18:19:23
Acknowledged.
|
| + time.sleep(10) |
|
chrishenry
2014/12/05 06:21:01
Let's keep this here, but update the HACK remark t
slamm
2014/12/05 18:19:23
Done.
|
| + |
| + def Close(self): |
| + self._android_platform_backend.KillApplication(self._start_intent.package) |