Index: tools/telemetry/telemetry/core/backends/chrome/android_browser_backend.py |
diff --git a/tools/telemetry/telemetry/core/backends/chrome/android_browser_backend.py b/tools/telemetry/telemetry/core/backends/chrome/android_browser_backend.py |
index adf09971ce07ab52c2f07f2e69d5a99a0aa453b4..1f914db8e20106cbced919aecde7c44f4919d82d 100644 |
--- a/tools/telemetry/telemetry/core/backends/chrome/android_browser_backend.py |
+++ b/tools/telemetry/telemetry/core/backends/chrome/android_browser_backend.py |
@@ -5,6 +5,7 @@ |
import logging |
import sys |
+from telemetry.core.backends import adb_commands |
from telemetry.core.backends import android_command_line_backend |
from telemetry.core.backends import browser_backend |
from telemetry.core.backends.chrome import chrome_browser_backend |
@@ -15,11 +16,7 @@ |
from telemetry.core import util |
util.AddDirToPythonPath(util.GetChromiumSrcDir(), 'build', 'android') |
-try: |
- from pylib import ports # pylint: disable=import-error |
-except ImportError: |
- ports = None |
-from pylib.device import intent # pylint: disable=import-error |
+from pylib.device import intent # pylint: disable=F0401 |
class AndroidBrowserBackend(chrome_browser_backend.ChromeBrowserBackend): |
@@ -46,7 +43,7 @@ |
# TODO(tonyg): This is flaky because it doesn't reserve the port that it |
# allocates. Need to fix this. |
- self._port = ports.AllocateTestServerPort() |
+ self._port = adb_commands.AllocateTestServerPort() |
# TODO(wuhu): Move to network controller backend. |
self.platform_backend.InstallTestCa() |
@@ -54,7 +51,7 @@ |
# Kill old browser. |
self._KillBrowser() |
- if self.device.old_interface.CanAccessProtectedFileContents(): |
+ if self._adb.device().old_interface.CanAccessProtectedFileContents(): |
if self.browser_options.profile_dir: |
self.platform_backend.PushProfile( |
self._backend_settings.package, |
@@ -76,17 +73,17 @@ |
self.platform_backend.SetDebugApp(self._backend_settings.package) |
@property |
- def device(self): |
- return self.platform_backend.device |
+ def _adb(self): |
+ return self.platform_backend.adb |
def _KillBrowser(self): |
- if self.device.IsUserBuild(): |
+ if self._adb.device().IsUserBuild(): |
self.platform_backend.StopApplication(self._backend_settings.package) |
else: |
self.platform_backend.KillApplication(self._backend_settings.package) |
def Start(self): |
- self.device.RunShellCommand('logcat -c') |
+ self._adb.device().RunShellCommand('logcat -c') |
if self.browser_options.startup_url: |
url = self.browser_options.startup_url |
elif self.browser_options.profile_dir: |
@@ -100,15 +97,15 @@ |
browser_startup_args = self.GetBrowserStartupArgs() |
with android_command_line_backend.SetUpCommandLineFlags( |
- self.device, self._backend_settings, browser_startup_args): |
- self.device.StartActivity( |
+ self._adb, self._backend_settings, browser_startup_args): |
+ self._adb.device().StartActivity( |
intent.Intent(package=self._backend_settings.package, |
activity=self._backend_settings.activity, |
action=None, data=url, category=None), |
blocking=True) |
remote_devtools_port = self._backend_settings.GetDevtoolsRemotePort( |
- self.device) |
+ self._adb) |
self.platform_backend.ForwardHostToDevice(self._port, |
remote_devtools_port) |
try: |
@@ -116,7 +113,8 @@ |
self._InitDevtoolsClientBackend(remote_devtools_port) |
except exceptions.BrowserGoneException: |
logging.critical('Failed to connect to browser.') |
- if not self.device.old_interface.CanAccessProtectedFileContents(): |
+ device = self._adb.device() |
+ if not device.old_interface.CanAccessProtectedFileContents(): |
logging.critical( |
'Resolve this by either: ' |
'(1) Flashing to a userdebug build OR ' |
@@ -137,11 +135,15 @@ |
return args |
@property |
+ def adb(self): |
+ return self._adb |
+ |
+ @property |
def pid(self): |
- pids = self.device.GetPids(self._backend_settings.package) |
- if not pids or self._backend_settings.package not in pids: |
+ pids = self._adb.ExtractPid(self._backend_settings.package) |
+ if not pids: |
raise exceptions.BrowserGoneException(self.browser) |
- return int(pids[self._backend_settings.package]) |
+ return int(pids[0]) |
@property |
def browser_directory(self): |