History log of /frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
a991c66c12da30d0240ac6c98736edee93d95977 30-Jul-2015 Paul Jensen <pauljensen@google.com> Merge "Fix missing onLost NetworkCallbacks when network loses capability" into mnc-dev
cf4c2c637268b1a2979e20a8b5644916777a02a4 01-Jul-2015 Paul Jensen <pauljensen@google.com> Fix missing onLost NetworkCallbacks when network loses capability

If a network no longer satisfies a NetworkRequest, send the onLost
NetworkCallback. If it was a real request (not listen) then update
the NetworkFactories.

To test this change I created a little infrastructure to fake
different Internet connectivity probe results during tests. This
allowed me to rewrite some of ConnectivityServiceTest's logic for
validating networks. This brought to light a couple issues that
I had to address to keep tests passing:
1. testUnlingeringDoesNotValidate was relying on a bad side-effect
of my old method of ConnectivityServiceTest's logic for
validating networks, so I rewrote the test.
2. ConnectivityService was not sending out NetworkCallbacks for
WiFi when Cellular was validated. I'm including a fix for this
in this CL also.

Bug:22220234
Change-Id: I29314f38189817f8b2561a213c4f9e8522696663
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
e7d0179df53326a24c5b23812ea5d90a26c2d0a1 20-Jul-2015 Erik Kline <ek@google.com> Change to connectivitycheck.gstatic.com

Bug: 18869302
Bug: 22368233
Change-Id: Iaecb59e4ef13a0fa82a0a4a920689804d24044c8
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
bbce221eecdf54317dd0655e5f3507b82db4bfc1 10-Jul-2015 Paul Jensen <pauljensen@google.com> Merge "Fallback to Cellular if WiFi fails to validate" into mnc-dev
49e3edff5156f471819e4ea2a88994bca70bd870 22-May-2015 Paul Jensen <pauljensen@google.com> Add android.net.CaptivePortal class for captive-portal-handling-app callbacks

This new class replaces the awkward string token and ConnectivityManager APIs
used by apps handling captive portals.

Bug:21343774
Change-Id: I1a2c69edb17322715bf8422bb4216b0ea60bfd59
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
e098854c41a72b22f4174bc623e8e93cde8d7331 25-Jun-2015 Paul Jensen <pauljensen@google.com> Fallback to Cellular if WiFi fails to validate

Previously, once a network validated, for the purposes of comparing networks
to select the default network, we always considered it validated.
With this change if a network later fails to validate, we'll take this latest
validation result into account. This means if WiFi and cellular are up
(e.g. if we recently switched from cellular->WiFi, and cellular is now
lingering) and both are validated, but for some reason WiFi fails a validation,
cellular will become the default network connection.

Bug:20896761
Change-Id: I858aa10c1aaec5cd9032067f960963409107bdb1
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
2f0a8974d1f45aad590829042df8cff07e989635 25-Jun-2015 Paul Jensen <pauljensen@google.com> Log DNS results for network validation attempts

This should help aid debugging network validation failures.

Bug:19417093
Change-Id: Idb06f7334d7c14e69fd721a81a00ce3f8d529364
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
22e547ab74eb169782ddb8dc1a16dc327b7cd328 25-Jun-2015 Paul Jensen <pauljensen@google.com> Reducing logging in NetworkMonitor to avoid getting muted

NetworkMonitor's logs are critical for tracking down bugs.
If NetworkMonitor is too chatty it gets muted making it
very hard to track down connectivity failures, so reduce
the logging.

Bug:21480101
Change-Id: Ife63455ec60e4ca6bfb061f23cde09e8e9877601
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
22b4c6a027d72ec90dc91d150bee007cb8167eed 24-Jun-2015 Robert Greenwalt <rgreenwalt@google.com> Add Validation logging.

Persist the last 20 lines of validation info for the last 10
networks.

bug: 21599856
Change-Id: I8124480cc9181eea2adb7eb6eabcd07c9506b6d3
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
ee3e2ce4eea8a1788d91001224ef9f231c399b95 17-Jun-2015 Paul Jensen <pauljensen@google.com> Occasionally retest for captive portals once detected

Once a captive portal has been detected, retest for the presence of
the captive portal every 10 minutes. Some WiFi routers present a
captive portal when the backhaul goes away; with this change if the
backhaul returns and the captive portal goes away, the device will
detect this after a period and remove the notification.

Bug: 21545788
Change-Id: Icabf0a3fff37bccc95f99eba52af13f7a2ddc2f3
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
d7b6ca91e9ecac15949a4484d560cfab5833a431 13-May-2015 Paul Jensen <pauljensen@google.com> Revive ConnectivityServiceTest and add some tests.

Change-Id: I44740a7b21cff18ac2a67d09c4d0e597add19ee0
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
d9be23fa4cafc41dcb8b5e2f090e3f2d91197bfb 19-May-2015 Paul Jensen <pauljensen@google.com> Report invalid network after one failed attempt.

Also, blame UID requesting re-evaluation for first 5 attempts.

Bug:19648073
Change-Id: Ia04eeb1aeb59fcb21de098193dfad832d5fbe3a2
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
700f236afb373125353a304d9098557890b9253f 05-May-2015 Paul Jensen <pauljensen@google.com> Avoid surfacing "Sign in to network" notification if user selects "use as is"
from captive portal app.

Bug:20440795
Change-Id: I2582109008bc8659d64ead316843c15ca573b1ba
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
d0491e9a2c51f8b16f9e11627c38278e3649ae8c 05-May-2015 Paul Jensen <pauljensen@google.com> Make NetworkMonitor do exponential backoff between reevaluation attempts.

bug:19648073
Change-Id: Idbef196710f2851c4d9d39f5776dd80a2c150ddd
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
a179962b61a9c41e8859ce642471928f1ad33c60 24-Apr-2015 Etan Cohen <etancohen@google.com> Merge commit '25a217c' into merge2

Change-Id: I116a9dbf19e95651a7c50393e4dcd7fb59ca3f3f
25a217c0fbda9bbaf58ec08b91115e99f73b727f 28-Feb-2015 Paul Jensen <pauljensen@google.com> Add captive portal API.

This API allows apps other than the system's CaptivePortalLogin
to handle signing in to captive portals.

bug:19416463
Change-Id: I27fce5856b635233e6ff66396d50ccabedd76cf5
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
80047faad914c9b9b4966d6b58fc22800c3fcebc 15-Apr-2015 Vinit Deshpande <vinitd@google.com> am b5e0cfb..557d2f5 from mirror-m-wireless-internal-release

557d2f5 Merge "Add ConnectivityManager.reportNetworkConnectivity() API" into m-wireless-dev
ab5267a Fix onLost/onFound logic in isSettingsAndFilterComboAllowed
bfd17b7 Add ConnectivityManager.reportNetworkConnectivity() API
238e0f9 OBEX Over L2CAP + SDP search API for BT profiles
31a94f4 Add ConnectivityManager.getActiveNetwork(). Rework NetID allocation in ConnectivityService so registerNetworkAgent() can return the allocated NetID.
bf18bed Merge "Non-functional code cleanup of ConnectivityService." into m-wireless-dev
db8784e Merge "Cleanup of Video Call pause functionality." into m-wireless-dev
e75b9e3 Non-functional code cleanup of ConnectivityService.
e593d0a Onfound onlost feature.
0326f58 Merge "API for config app." into m-wireless-dev
e9b056f API for config app.
d5351e7 RTT framework interface update
582b868 Unhide Network.openConnection(URL, Proxy).
0d719ca Fix typos in ConnectivityManager documentation.

Change-Id: Ib4c88f6d7ad1b24227b032555c62a5804194384b
bfd17b75a67e3a3c9a99a87db35be4d753e6bd08 07-Apr-2015 Paul Jensen <pauljensen@google.com> Add ConnectivityManager.reportNetworkConnectivity() API

This new API allows reporting networks that are perceived to provide Internet
connectivity and networks that are not. This allows the framework to avoid
needlessly reevaluating networks where the apps perception matches the
framework's perception. This was not possible with the prior API,
reportBadNetwork.

Bug: 16214361
Change-Id: Id4409bd7538854bd837231fb50e693c10a62b4f2
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
08c7116ab9cd04ad6dd3c04aa1017237e7f409ac 28-Feb-2015 John Spurlock <jspurlock@google.com> Remove unused imports in frameworks/base.

Change-Id: I031443de83f93eb57a98863001826671b18f3b17
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
8fe1742946e92dfe7e01e6a06f48ad626c01bd35 02-Feb-2015 Paul Jensen <pauljensen@google.com> Facilitate network validation on networks with a per-network PAC.

On networks with a per-network PAC, Network.openConnection(URL) will
fetch using NO_PROXY. This will fail on networks where Internet
access is only permitted via the proxy. Always failing network
validation has the potential to disable WiFi auto-join. Instead
of performing the normal connectivity check, instead attempt to
fetch the PAC, as this is meant to succeed with NO_PROXY.

bug:19143573
Change-Id: Ia482f5c046d338c27daf42571f20851dfa36671c
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
351bfad339ede00a81862b3b57234d7a32067279 22-Jan-2015 Lorenzo Colitti <lorenzo@google.com> Make NetworkMonitor less aggressive on broken networks.

1. Retry validation 3 times instead of 10.

Reducing the number of retries speeds up dead network detection
and saves battery on networks that are don't have Internet access
(or block our connectivity checks).

Retrying 10 times is overkill. Each attempt sends 5-10 DNS
requests, waits 10 seconds to transfer only 3 or 4 packets, and
can last up to tens of seconds. Also, in MR1 we now retry every
10 minutes.

2. Make periodic revalidation only try once.

When validating periodically to see if a non-working connection
is working again, only make one attempt every 10 minutes, not
three.

3. Rename "retries" to "attempts" to make things a bit clearer.

Bug: 18922569
Bug: 18869302
Change-Id: I5f70b420c4f1bac0c33bb9ab6afb322902cdac4b
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
cd29cb66f92b008e8547f70b30223ce8dbc1fb86 13-Jan-2015 Lorenzo Colitti <lorenzo@google.com> Switch the connectivity check to its own hostname.

Bug: 18467482
Bug: 18869302
Bug: 18924197
Change-Id: I1de478e9c8a165faf6f1bf81e042d1de9e03c3d5
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
f9fff92d70d20644c5263563f1d0827eaf3315f6 06-Dec-2014 Jeff Davidson <jpd@google.com> Fix flipped captive portal bit in network conditions bcast.

Bug: 18651036
Change-Id: I191fcafab1fc5ba65be06359da1edc7ca5aabc6a
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
7bd8eaf5687e7edbc8c0fb05f371ffb2121d70f9 03-Dec-2014 Paul Jensen <pauljensen@google.com> Retry failed network validation every 10 minutes.

This allows for better recovery from ISP outages.

bug:18489123
Change-Id: Iefffe870bd6b7c19827fdbc323024a600a6025f9
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
be3736d38774210549deb2999bb226d83a29f1ee 26-Nov-2014 Paul Jensen <pauljensen@google.com> Merge "Don't let NetworkMonitor state stop user-initiated transitions." into lmp-mr1-dev
71b645fe9cb8106dfcbf025a3fd7f58698c051bb 13-Oct-2014 Paul Jensen <pauljensen@google.com> Don't let NetworkMonitor state stop user-initiated transitions.

GCM can call reportInetCondition() at any time which can cause
the NetworkMonitor to transition states to reevaluate at any time.
Previously we were only listening for users clicking the sign-in
notificaiton or completing sign-in when in the appropriate state.
With this change NetworkMonitor's state does not stop us from
listening for the user's actions.

bug:17917929
Change-Id: Ic1da31d90f7090e5fc111874cb7c37d505aaf590
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
2c311d61eaf331818e601f97485f88c4cf26384d 17-Nov-2014 Paul Jensen <pauljensen@google.com> Don't bother validating networks that don't satisfy the default request.

The only immediate change in behavior is not validating untrusted networks.

bug:18299572
bug:18394654

Change-Id: I8d626baf37db0bd0f55ddf3af8a0abf094a12369
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
532b6143f6369224b0c220bad08ae48a979b5adf 10-Nov-2014 Paul Jensen <pauljensen@google.com> Fix NetworkMonitor logging to include NetID.

This was broken when NetID selection was moved to after
NetworkAgentInfo construction time. NetworkMonitor inherits
from StateMachine whose log tag is immutable after construction
making it impossible to include the NetID. Instead define a
simple log function in NetworkMonitor that includes correct
NetID. This makes debugging via logs much easier and avoids
ambiguities that can make logs useless.

Change-Id: Ie72fc210b92bd425184d288b35ed476669e2e073
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
7bfa35742a2ac204c71a35801fd4068a2b6ce4a9 19-Sep-2014 Paul Jensen <pauljensen@google.com> Merge "Fix to make repeated lingerings work." into lmp-dev
dcbe8356138bfba3f4bad31c1a7ad036b86f47f4 16-Sep-2014 Paul Jensen <pauljensen@google.com> Fix to make repeated lingerings work.

Previously PendingIntent.getBroadcast() would match an existing Intent
which had the wrong token. Fixed by distinguishing Intents by action.

bug:17482680
bug:17509008
Change-Id: Ib15bb006888850683cc47ca09920962f0707b351
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
49f63fbed4cd84f5da182c85e8b999037dc64f3b 13-Sep-2014 Robert Greenwalt <rgreenwalt@google.com> Report Network status to NetworkAgent.

Currently just valid/invalid based on NetworkMonitor findings.

Changed NetworkMonitor to start out in default state since starting in Offline causes
a spurious invalid report at creation time.

Added some logging.

bug:17395269
Change-Id: I9ae650b561834d8f8979033744d97df852e76df9
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
ad50a1fed01e7c24531ad26d9de70c7b0127ea76 05-Sep-2014 Paul Jensen <pauljensen@google.com> Update Inet state when NetworkMonitor re-evaluates a network.

Previously the Inet state (the little exclamation mark beside the WiFi
and Cellular bars) only transitioned from bad to good once. With this
change it can transition back to bad (and later to good again) if a network
re-evaluation is triggered, say by ConnectivityManager.reportBadNetwork.
Also, avoid triggering re-evaluation in two unwanted cases.

bug:16214361
Change-Id: I7856724249ffcbb0945276dcf45019876231fdaf
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
f9b42de2ab33de2eddf0bf25d88e3f4512aaf932 09-Sep-2014 Paul Jensen <pauljensen@google.com> Merge "Implement ConnectivityManager.reportBadNetwork() to trigger network validation." into lmp-dev
7ccd3dfd53d8d45c447398ff137f052865dfd3b3 29-Aug-2014 Paul Jensen <pauljensen@google.com> Implement ConnectivityManager.reportBadNetwork() to trigger network validation.

Network traffic used to perform the network validation is billed to the UID of
the caller of reportBadNetwork. This change does not change the actions taken
upon validation failing or succeeding: NetworkMonitor will show the sign-in
notification if a captive portal is found. NetworkMonitor will inform
ConnectivityService if a network tests functional. NetworkMonitor will not
take action if a network lacks any connectivity.
Also, remove an unused Thread that was confusing bandwidth billing.

bug:17326268
Change-Id: I7fea23480af54211004a0a1c535a71c2793f21bb
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
1f0ce3382132d02981193a1fa27306a6c7baaf50 03-Sep-2014 Paul Jensen <pauljensen@google.com> Merge "Use alarm rather than delayed message to end lingering." into lmp-dev
177cd38b00c7c61c13bad65c8a4e3fc859335162 25-Aug-2014 Paul Jensen <pauljensen@google.com> Merge "Remove captive portal sign-in actions." into lmp-dev
a68d21350266a6abc16aeb3fec84eafd85b77cc8 22-Aug-2014 Paul Jensen <pauljensen@google.com> Remove captive portal sign-in actions.

This reverts commit e0101cd and removes the related NetworkMonitor code.
The thinking is the broadcasts are not robust enough as they rely on apps
working together and are not sufficiently tested.

bug:17115050
Change-Id: I433032867cc4fea7191a1b13842b16825dc74df4
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
79a08051c5588d8420656813b21993d490e93dd0 21-Aug-2014 Paul Jensen <pauljensen@google.com> Use alarm rather than delayed message to end lingering.

Ending lingering is critical to good battery life. Delayed messages
are not delivered when the device is in a deep sleep, alarms are
however.

bug:17140462
Change-Id: I07e905479f316217d816b36e8c4d96d5daed0047
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
9f1274b7e43d14c7e3a42148ebfda3905fec8b06 21-Aug-2014 Lorenzo Colitti <lorenzo@google.com> Rework the per-network URL API.

This addresses API council comments.

Bug: 17112978
Change-Id: I698b243b2b685d1f25414cee72450be3ae0c2bf0
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
55298581a0750505bc7da0539fe94255f95326a4 20-Aug-2014 Paul Jensen <pauljensen@google.com> Send captive portal broadcast as user CURRENT.

Previously this was sent without a qualifying user.

bug:17138439
Change-Id: I6345f2375fee168f86c0611e76f869e7377befbe
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
d6a3f7ed90d7fa861f579968f12cc30015b3a989 19-Aug-2014 Paul Jensen <pauljensen@google.com> Add missing break statements to avoid unnecessary network validation.

The missing break statements were causing unnecessary network
validation for VPNs and networks that don't provide internet access.

bug:16680764
Change-Id: I714bacdff350a818f7bfba2f505b95c4b3559699
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
fb68f8fbe0213841f393f8bdb5313e4e44f4f116 13-Aug-2014 Robert Greenwalt <rgreenwalt@google.com> Don't send NetworkMonitor bcast until systemReady

bug:16913951
Change-Id: I26c5c3353c2d8821452f81765875958d5b9d385b
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
306f1a45c636e3721ae4b84b8797e6349ae6ff57 04-Aug-2014 Paul Jensen <pauljensen@google.com> Add back in ACTION_NETWORK_CONDITIONS_MEASURED broadcast.

This broadcast used to be sent out by the now defunct CaptivePortalTracker.
Begin sending it out again from the NetworkMonitor who now tests for
captive portals.

Change-Id: Ia33beb04e78cfc4fc042c3b999a3d4e2f9ba4c96
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
e547ff281020b08eb51ef7b2786831f7aacdd73c 04-Aug-2014 Paul Jensen <pauljensen@google.com> Use OkHTTP instead of my home-made HTTP, for network validation.

The home-made version was only done because there was no previous way to
perform network-specific HTTP. The home-made version has already shown
incompatibility, see linked bug.

bug:16316314
Change-Id: Ic9e50174552d1466eb1ff59ff9d28e18035cc3e0
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
f0382899c71a540103ba2dbcd0fe8aa8c926c4a8 30-Jul-2014 Lorenzo Colitti <lorenzo@google.com> Use a new socket for each of the host's IP addresses.

If Socket.connect() times out, the socket cannot be used any
more - any attempt to do so fails with EBADF. Use a new
socket for each IP address.

Bug: 16664129
Change-Id: If3616df86f7c2da0eabd30dca5db65d0da85cb17
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
ae6dffb69792a93422c3bbc50088572c99e5b7be 17-Jul-2014 Lorenzo Colitti <lorenzo@google.com> Use getBoundURL for network validation.

Disable for now, until we're more confident that it doesn't choke
on strange captive portals.

Change-Id: Ic8e66a379d32c915c949df70ca0d38535cd5dbe0
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
1fd9aeef08fac363ec3ef2eb61cea519a04c51fd 18-Jul-2014 Robert Greenwalt <rgreenwalt@google.com> Quit NetworkMonitors at end of life.

We were creating and orphaning a thread for each network.
Cleanup after ourselves.

bug:16119890
Change-Id: I8c8a9fe471e43f31f712844915992084074e8047
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
fdc4e4af7305514359e041dbec742f4b6561e393 15-Jul-2014 Paul Jensen <pauljensen@google.com> Fix hiding of sign-in to network notification.

Don't rely on the NetworkAgent still being connected when we go to
hide the notification. The notification is hidden when the
NetworkAgent is disconnected so that wasn't a safe assumption.
By using the NetID as the notification identifier we also fix the
issue of multiple notifications of the same network type inadvertently
hiding the incorrect notification with the same network type.

bug:16317917
Change-Id: I01fdc466a0f430af9fc378445586ec7b83b3ac83
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
2bb7e341684ee875bece9fc3c5e03326ae0367d1 15-Jul-2014 Paul Jensen <pauljensen@google.com> Fix T-Mobile provisioning detection.

Add User-Agent to HTTP request for captive portal.

bug:16316314
Change-Id: I32d4f75f4eb114574dd2a39d241cb085383b4f94
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
6bc2c2c34f2b23eae79ad733c97a691734055c4f 07-May-2014 Paul Jensen <pauljensen@google.com> Convert Vpn from NetworkStateTracker to NetworkAgent.

This eliminates the need for the ConnectivityService.VpnCallback class.
This requires shifting VPNs to the new "network" netd API.
VpnService.protect() is modified to no longer go through ConnectivityService.
NetworkCapabilities is extended to add a transport type for VPNs and a
capability requiring a non-VPN (so the default NetworkRequest isn't satisfied
by a VPN).

bug:15409918
Change-Id: Ic4498f1961582208add6f375ad16ce376ee9eb95
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
869868be653cb8eedd338e8347dfee1520d38cec 15-May-2014 Paul Jensen <pauljensen@google.com> Enable network validations and add app to handle captive portal login.

Network validation prevents networks claiming to provide internet connectivity
from becoming the default network in cases where internet connectivity is not
found to actually exist.
If a captive portal is encountered the appropriate broadcasts and notifications
are surfaced to allow apps to handle signing in. If no app handles signing in,
my system app will handle it.

Bug:15409233
Bug:15409354

Change-Id: Ie240d7eac4bdbab8cc7578782bd72d8b26de7951
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
ca8f16ad14819ba17f5ff3d2e2bf6fbc9bbaa9f7 09-May-2014 Paul Jensen <pauljensen@google.com> Add NetworkMonitor.
At present the network evaluation / captive portal detection
is disabled pending addition of API to bind socket to network.

Change-Id: I5d1f5dc86d4dd9481d52dd45d6da0732054c8315
/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java