| Index: tools/telemetry/telemetry/core/platform/android_platform_backend.py
|
| diff --git a/tools/telemetry/telemetry/core/platform/android_platform_backend.py b/tools/telemetry/telemetry/core/platform/android_platform_backend.py
|
| index f8e825143393705e4bfe6bab2cf6524c4e89b011..fab96f5a2a5860a38185f0d90faad3cbc89b0038 100644
|
| --- a/tools/telemetry/telemetry/core/platform/android_platform_backend.py
|
| +++ b/tools/telemetry/telemetry/core/platform/android_platform_backend.py
|
| @@ -16,6 +16,7 @@ from telemetry.core import util
|
| from telemetry.core import video
|
| from telemetry.core.backends import adb_commands
|
| from telemetry.core.forwarders import android_forwarder
|
| +from telemetry.core import platform
|
| from telemetry.core.platform import android_device
|
| from telemetry.core.platform import android_platform
|
| from telemetry.core.platform import linux_based_platform_backend
|
| @@ -53,7 +54,7 @@ except ImportError:
|
|
|
| class AndroidPlatformBackend(
|
| linux_based_platform_backend.LinuxBasedPlatformBackend):
|
| - def __init__(self, device):
|
| + def __init__(self, device, finder_options):
|
| assert device, (
|
| 'AndroidPlatformBackend can only be initialized from remote device')
|
| super(AndroidPlatformBackend, self).__init__(device)
|
| @@ -90,7 +91,11 @@ class AndroidPlatformBackend(
|
| self._wpr_ca_cert_path = None
|
| self._device_cert_util = None
|
| self._is_test_ca_installed = False
|
| - self._use_rndis_forwarder = False
|
| +
|
| + self._use_rndis_forwarder = (
|
| + finder_options.android_rndis or
|
| + finder_options.browser_options.netsim or
|
| + platform.GetHostPlatform().GetOSName() != 'linux')
|
|
|
| _FixPossibleAdbInstability()
|
|
|
| @@ -99,9 +104,10 @@ class AndroidPlatformBackend(
|
| return isinstance(device, android_device.AndroidDevice)
|
|
|
| @classmethod
|
| - def CreatePlatformForDevice(cls, device):
|
| + def CreatePlatformForDevice(cls, device, finder_options):
|
| assert cls.SupportsDevice(device)
|
| - return android_platform.AndroidPlatform(AndroidPlatformBackend(device))
|
| + platform_backend = AndroidPlatformBackend(device, finder_options)
|
| + return android_platform.AndroidPlatform(platform_backend)
|
|
|
| @property
|
| def forwarder_factory(self):
|
| @@ -111,10 +117,9 @@ class AndroidPlatformBackend(
|
|
|
| return self._forwarder_factory
|
|
|
| - def SetRndisForwarder(self, use_rndis_forwarder):
|
| - assert self._forwarder_factory is None, (
|
| - 'Cannot switch to use rndis forwarding after forwarder is created.')
|
| - self._use_rndis_forwarder = use_rndis_forwarder
|
| + @property
|
| + def use_rndis_forwarder(self):
|
| + return self._use_rndis_forwarder
|
|
|
| @property
|
| def adb(self):
|
|
|