OSDN Git Service

Update VPN capabilities when its underlying network set is null.
authorVarun Anand <vaanand@google.com>
Wed, 6 Feb 2019 18:13:38 +0000 (10:13 -0800)
committerVarun Anand <vaanand@google.com>
Fri, 15 Feb 2019 02:50:56 +0000 (18:50 -0800)
commit4fa80e8a2f03557221e0371a987e780df7788faa
treec684603dfe30c0d8114bd76b3c4dd3ea995170a9
parentbbbeba3c02822e5cd43fd169e7105063a7331af5
Update VPN capabilities when its underlying network set is null.

Previously, they were only updated when underlying network set was
non-null.

This change also ensures that all the calls b/w ConnectivityService and
Vpn that leads to updating capabilities are on ConnectivityService
handler thread.

Additionally, it also ensures that capabilities are propagated after VPN
enters connected state. This was previously done from establish which
could potentially lead to race between VPN getting connected and
capabilities getting updated.

This change also updates VPN capabilities inline from
ConnectivityService handler thread. Previously, there was an additional
loop where Vpn would update capabilities via NetworkAgent thru
AsyncChannel which posts back to CS handler thread, which could
potentially lead to delays in updating VPN capabilities.

Bug: 119129310
Bug: 118856062
Bug: 124268198
Test: atest FrameworksNetTests
Test: manual - verified VPNs capabilities are getting updated and
DownloadManager is working correctly.

Change-Id: Id0abc4d304bb096e92479a118168690ccce634ed
services/core/java/com/android/server/ConnectivityService.java
services/core/java/com/android/server/connectivity/Vpn.java
tests/net/java/com/android/server/ConnectivityServiceTest.java
tests/net/java/com/android/server/connectivity/VpnTest.java