OSDN Git Service

Move "metered" persistence to WifiConfiguration.
authorJeff Sharkey <jsharkey@android.com>
Wed, 12 Jul 2017 16:50:42 +0000 (10:50 -0600)
committerJeff Sharkey <jsharkey@android.com>
Fri, 14 Jul 2017 17:46:31 +0000 (11:46 -0600)
commit43d2a1700b6eb1d804924c6a1e5e0161a13a5348
treee82fcf03e39350a21e97b768a02bca70fa083a2b
parent183f9ac26302e1f677df8d698c1f7c570bb22014
Move "metered" persistence to WifiConfiguration.

For a long time we've had a nasty tangled dependency between Wi-Fi
and NPMS, since they both persisted different details for configured
networks.  As part of preparing for new carrier data plan APIs, move
the tracking of meteredness over to WifiConfiguration.

This also cleans up how meteredness is communicated through
NetworkAgents to rely completely on NET_CAPABILITY_NOT_METERED by
removing the metered flag on NetworkInfo, which has caused confusion
and staleness.

Migrates any existing user-configured metered networks over to
WifiConfiguration once the device finishes booting.

Remove support for NetworkQuotaInfo, since this information can no
longer be made available to apps.  Frustratingly, some apps are
using it, so keep the object around returning stub values, and shame
them in the logs.

Bug: 63391323
Test: builds, boots, Wi-Fi policy is upgraded
Exempt-From-Owner-Approval: Bug 63673347
Change-Id: I64f865ddeb65cfcd330f8d2a847368abdf960a07
15 files changed:
core/java/android/net/ConnectivityManager.java
core/java/android/net/INetworkPolicyManager.aidl
core/java/android/net/NetworkInfo.java
core/java/android/net/NetworkPolicy.java
core/java/android/net/NetworkPolicyManager.java
core/java/android/net/NetworkQuotaInfo.java
packages/SettingsLib/src/com/android/settingslib/NetworkPolicyEditor.java
packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java
packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/AccessPointTest.java
services/core/java/com/android/server/ConnectivityService.java
services/core/java/com/android/server/job/controllers/ConnectivityController.java
services/core/java/com/android/server/net/NetworkPolicyManagerService.java
services/core/java/com/android/server/net/NetworkPolicyManagerShellCommand.java
wifi/java/android/net/wifi/WifiConfiguration.java
wifi/java/android/net/wifi/WifiInfo.java