| Index: telemetry/telemetry/internal/forwarders/android_forwarder.py
|
| diff --git a/telemetry/telemetry/internal/forwarders/android_forwarder.py b/telemetry/telemetry/internal/forwarders/android_forwarder.py
|
| index d4afe19baf49a342f75672f15158b5985ac02713..f57c29530c7dc8c8e1bc1342ffe4d465ee32a939 100644
|
| --- a/telemetry/telemetry/internal/forwarders/android_forwarder.py
|
| +++ b/telemetry/telemetry/internal/forwarders/android_forwarder.py
|
| @@ -20,9 +20,9 @@
|
| super(AndroidForwarderFactory, self).__init__()
|
| self._device = device
|
|
|
| - def Create(self, port_pair):
|
| + def Create(self, port_pairs):
|
| try:
|
| - return AndroidForwarder(self._device, port_pair)
|
| + return AndroidForwarder(self._device, port_pairs)
|
| except Exception:
|
| try:
|
| logging.warning('Failed to create forwarder. '
|
| @@ -53,20 +53,23 @@
|
|
|
| class AndroidForwarder(forwarders.Forwarder):
|
|
|
| - def __init__(self, device, port_pair):
|
| - super(AndroidForwarder, self).__init__(port_pair)
|
| + def __init__(self, device, port_pairs):
|
| + super(AndroidForwarder, self).__init__(port_pairs)
|
| self._device = device
|
| - forwarder.Forwarder.Map(
|
| - [(port_pair.remote_port, port_pair.local_port)], self._device)
|
| - self._port_pair = (
|
| + forwarder.Forwarder.Map([(p.remote_port, p.local_port)
|
| + for p in port_pairs if p], self._device)
|
| + self._port_pairs = forwarders.PortPairs(*[
|
| forwarders.PortPair(
|
| - port_pair.local_port,
|
| - forwarder.Forwarder.DevicePortForHostPort(port_pair.local_port)))
|
| + p.local_port,
|
| + forwarder.Forwarder.DevicePortForHostPort(p.local_port))
|
| + if p else None for p in port_pairs])
|
| atexit_with_log.Register(self.Close)
|
| # TODO(tonyg): Verify that each port can connect to host.
|
|
|
| def Close(self):
|
| if self._forwarding:
|
| - forwarder.Forwarder.UnmapDevicePort(
|
| - self._port_pair.remote_port, self._device)
|
| - super(AndroidForwarder, self).Close()
|
| + for port_pair in self._port_pairs:
|
| + if port_pair:
|
| + forwarder.Forwarder.UnmapDevicePort(
|
| + port_pair.remote_port, self._device)
|
| + super(AndroidForwarder, self).Close()
|
|
|