OSDN Git Service

Prefer default Internet network for upstream tethering.
authorErik Kline <ek@google.com>
Thu, 14 Jun 2018 08:36:40 +0000 (17:36 +0900)
committerErik Kline <ek@google.com>
Mon, 25 Jun 2018 10:25:17 +0000 (19:25 +0900)
commit72302908d42d8317b69da68285898d995523a33f
tree0ef3117722824df2e392015bacb579cc2439a56c
parenta0b9309ba2724e29c7e204dc84e5c50fe3431d98
Prefer default Internet network for upstream tethering.

Rather than use the crufty config.xml list of upstream transport types,
use ConnectivityService's notion of the default network for the upstream.
In cases where a DUN network is required and the default network is
currently a mobile network, look for a DUN network (code in Tethering
is currently responsible for requesting one).

Test: as follows
    - built, flashed, booted
    - runtest frameworks-net
    - tethered via mobile, joined captive portal network, maintained
      laptop access via mobile until captive passed (then used wifi)
    - disabled client mode wifi, disabled mobile data, plugged in
      ethernet adapter, observed connectivity via ethernet
Bug: 32163131
Bug: 62648872
Bug: 63282480
Bug: 109786760
Bug: 110118584
Bug: 110260419
Merged-In: I9cddf1fb7aa3b8d56bf048c563556244e74808c2
Merged-In: Icac3e5e20e99093ddb85aae1ca07ed7b5cf309fd
Change-Id: I925b75994e31df8046f3ef9916a2457b4210485e
(cherry picked from commit 4080a1bd15572caf149762e45c958627feceb74d)
core/res/res/values/config.xml
core/res/res/values/symbols.xml
services/core/java/com/android/server/ConnectivityService.java
services/core/java/com/android/server/connectivity/Tethering.java
services/core/java/com/android/server/connectivity/tethering/TetheringConfiguration.java
services/core/java/com/android/server/connectivity/tethering/TetheringDependencies.java
services/core/java/com/android/server/connectivity/tethering/UpstreamNetworkMonitor.java
tests/net/java/com/android/server/connectivity/TetheringTest.java
tests/net/java/com/android/server/connectivity/tethering/UpstreamNetworkMonitorTest.java