Occasionally, "dumpsys connectivity --diag" will show measurement
results without success or failure messages. Properly record the
error before decrementing the countdown latch.
Bug: 20733156
Change-Id: Ic654dedb753a65a96fe870f79fb296fbfc459fcb
Currently, when connecting to a network that has a captive portal
or has no Internet access, we display a regular notification.
Because this notification is easy to miss, switch to using a
heads-up notification if the user just manually selected the
network. If the system connects automatically, continue to use a
regular notification.
Bug: 20081183
Change-Id: I7a988b2bddfe898a0d2607ad85a04b227d678469
With bursty WiFi traffic, we end up sampling the WiFi controller's
energy data quite a lot. Extend the timeout so that we sample
once there has been no activity for 15 seconds.
Note: Once the WiFi radio goes down after being active, it can come back and be
active in less than 15 seconds, which means we may sample twice quickly.
Bug:21478443
Change-Id: I99081b664f8a33fef734bc55eef4d33ac297e83a
It's not clear what it means to request a network with a mutable
NetworkCapability like NET_CAPABILITY_VALIDATED or
NET_CAPABILITY_CAPTIVE_PORTAL. Presently requesting such a network
would fail in a number of different ways:
1. The NetworkFactories would fail to match the request against their
filter which doesn't include stateful NetworkCapabilities.
2. If the NetworkFactories did match, they'd bring up networks to try
and satisfy the requests, but the networks would not have any
mutable NetworkCapabilities initially so they'd be reaped.
Because of these problems it's safest to simply disallow these
requests.
Bug: 21343774
Change-Id: I56303242b81d39b370b8d5d1e32059bfcfc25949
Without this fix if a listening NetworkRequest with NET_CAPABILITY_VALIDATED
is submitted after a network has been validated but failed the most recent
validation attempt, the NetworkRequest will never receive callbacks.
Bug: 21343774
Change-Id: I6fa6d563c9a6f278b20e645776b707559033b249
Before falling back to cellular we used to first delete all the
network routing tables and rules for WiFi. This isn't necessary
and can take significant time as it requires a lot of netd
shelling out to ip and ip[6]tables to flush routes and remove
the incoming packet mark rule. Instead have netd delete all the
network routing tables and rules after we've either fallen back
to cellular or at least kicked off a cellular connection attempt.
Bug: 21932815
Change-Id: Iabac4a8b962492682df3073cc41a12e35bc9f1bb
Without this API we're more or less encouraging apps to have long running
processes (battery draining) to receive NetworkCallbacks for the stateful
NetworkCapabilities NET_CAPABILITIES_VALIDATED and
NET_CAPABILITIES_CAPTIVE_PORTAL. With this API they can instead using
PendingIntents which outlive their apps.
Bug: 21343774
Change-Id: I168d0ac3757729acf7ca5546079846f575a0eedd
Select only DNS servers that:
- are reachable, according to routes in the LinkProperties, AND
- have a "suitable" source address in the LinkProperites, meaning:
- IPv4 DNS server:
- only if LinkProperties has any IPv4 address
- IPv6 link-local DNS server:
- only if the server has a scopeId set
- assume for now that LinkProperties has a suitable
link-local address
- IPv6 non-link-local DNS server:
- only if LinkProperties has a global, preferred IPv6 address
Bug: 19470192
Bug: 20733156
Change-Id: Ibd95f3f7b33a4fb6c36d1cea4adb63c99068f657
- There are no callers of
NetworkInfo.setIsConnectedToProvisioningNetwork(), so remove all the
code that deals with mIsConnectedToProvisioningNetwork being true,
including the two ConnectiviyManager APIs.
- There are no callers of
ConnectivityManager.getMobileRedirectedProvisioningUrl(), so remove
the code that reads this URL.
- There are no callers of
ConnectivityManager.captivePortalCheckCompleted(), so remove this
API which is currently a no-op.
Change-Id: Ifa44c7553c7c45ebe261a2a124d9bf8d6f96c690
Additionally:
- make zero more obvious for debugging, rather than emitting
some inscrutable magic value.
Bug: 19537384
Change-Id: Iac9a3297a0dda1ba3d69fd01cf6de81f01fd837e