Commit Graph

2049 Commits

Author SHA1 Message Date
Etan Cohen
bf247910f9 Merge commit 'e391b13' into merge 2015-05-21 18:01:05 -07:00
Erik Kline
0e80136703 LinkProperties function to compare provisioning and remove DNS servers
Adds:
    - enum ProvisioningChange
    - LinkProperties#compareProvisioning()
          return a ProvisioningChange value describing the delta in
          provisioning between two LinkProperties objects
    - LinkProperties#removeDnsServer()
    - make "@hide public" isIPv4Provisioned() and isIPv6Provisioned()

Bug: 18581716
Change-Id: I3df90b2b89617f693346f2dbe72e77c88ce91ffd
2015-05-21 20:43:47 +09:00
fenglu
edee95576c Merge "LCE feature enhancement" into mnc-dev 2015-05-20 21:09:09 +00:00
Paul Jensen
868f6996c9 Merge "Undeprecate android.net.ProxyInfo as it's still used." into mnc-dev 2015-05-20 10:49:04 +00:00
Lorenzo Colitti
c13cead4e3 Merge "Add a hidden method to clear the capabilities of a NetworkRequest" into mnc-dev 2015-05-20 05:49:03 +00:00
fenglu
6cf1cb020d LCE feature enhancement
- space pollLceData calls every 500ms
- cluster multiple pending pollLceData calls into one
- cherry pick from mwd to mnc-dev

Bug: 21307957
Change-Id: I04513011db3ae29af02bd54fe91cb8e0d4ab9f12
2015-05-19 17:08:00 -07:00
Paul Jensen
6761da21ed Undeprecate android.net.ProxyInfo as it's still used.
It was deprecated as part of the Apache deprecation, however it is used
by ConnectivityManager.getLinkProperties() and .getDefaultProxy().
The alternatives (e.g. java.net.Proxy) do not offer a complete
replacement as they lack certain fields (e.g. PAC URL).

Bug:21274137
Change-Id: I99163a2611a738f337fb9907349ef6255dbed6d6
2015-05-19 15:09:17 -04:00
Paul Jensen
71c05810c2 Merge "Query HTTP proxy for network via a new API to avoid permissions exceptions" into mnc-dev 2015-05-19 17:58:11 +00:00
fenglu
59f1f4e9ee LCE feature enhancement
- space pollLceData calls every 500ms
- cluster multiple pending pollLceData calls into one

Change-Id: I04513011db3ae29af02bd54fe91cb8e0d4ab9f12
2015-05-19 10:39:01 -07:00
Lorenzo Colitti
5b47cce9a1 Add a hidden method to clear the capabilities of a NetworkRequest
Change-Id: I41d4f2229259d0bf9d68aa00f92f3bf4e2e71fbc
2015-05-20 00:35:24 +09:00
Lorenzo Colitti
afe4a812a9 Merge "Make NET_CAPABILITY_VALIDATED (almost) a first-class citizen." into mnc-dev 2015-05-19 10:29:48 +00:00
Robin Lee
c5bd6cc964 Merge "Support cross-user VPN calls (with permission)" into mnc-dev 2015-05-19 10:14:59 +00:00
Lorenzo Colitti
9809729e2f Make NET_CAPABILITY_VALIDATED (almost) a first-class citizen.
1. Always keep ConnectivityService's validated bits current:
   - Apply the validated bit whenever a NetworkAgent updates its
     NetworkCapabilities.
   - Set or clear the validated bit whenever lastValidated changes.
2. Send callbacks when the validation state of a network changes.
3. Delete getNetworkCapabilitiesAndValidation, removing code
   duplication with getNetworkCapabilities.
4. Add the validated bit to NetworkCapabilities#toString.

Bug: 18591282
Bug: 20081183
Change-Id: I6aa53b61c15cc137f203f9fc6bbd4c16894be750
2015-05-19 18:29:02 +09:00
Robin Lee
5ff73b7b91 Support cross-user VPN calls (with permission)
Settings and SystemUI need to act on other users than USER_OWNER.

This is gated by INTERACT_ACROSS_USERS_FULL in addition to the existing
CONTROL_VPN checks, so the number of processes able to interfere with
other profiles' VPNs should be quite small.

Bug: 20692490
Bug: 20747154
Bug: 20872408
Change-Id: I6e5d7220f73435bec350719e7b4715935caf4e19
2015-05-18 23:35:31 +01:00
Paul Jensen
fdec88b48d Query HTTP proxy for network via a new API to avoid permissions exceptions
Add @hidden ConnectivityManager.getProxyForNetwork() API.

Bug:20470604
Change-Id: I6a9bc4afc8273bc43b14cdeccfedbbf3ff66be40
2015-05-18 17:05:51 +00:00
The Android Automerger
4d5dd9a7dd merge in mnc-release history after reset to mnc-dev 2015-05-16 01:02:14 -07:00
Lorenzo Colitti
4957bb7d59 Don't display the "no Internet access" prompt on captive portals.
Bug: 20081183
Bug: 21066461
Change-Id: Idc71844a604f9ca655411c6916de256780ea4586
2015-05-14 09:54:33 -07:00
Lorenzo Colitti
d21a526ac9 Statically import NetworkCapabilities constants for brevity.
Bug: 18591282
Change-Id: I41c148951724136f31bc663fd81ca9f5de72818a
2015-05-14 23:46:17 +09:00
Lorenzo Colitti
9bf1c31e6a Don't display the "no Internet access" prompt on captive portals.
Bug: 20081183
Bug: 21066461
Change-Id: Idc71844a604f9ca655411c6916de256780ea4586
2015-05-14 23:46:16 +09:00
Lorenzo Colitti
ae75d3c22e Merge "Fix a race when removing from LegacyTypeTracker." into mnc-dev 2015-05-13 06:31:38 +00:00
Paul Jensen
227afb8aff Merge "Deprecate ConnectivityManager.isNetworkTypeValid as it's unneeded." into mnc-dev 2015-05-12 16:32:29 +00:00
Paul Jensen
1c9f2e42b8 Deprecate ConnectivityManager.isNetworkTypeValid as it's unneeded.
All ConnectivityManager APIs taking a network type have been
deprecated so there should be no need to validate a network type.

bug:20647016
Change-Id: I2dcf24f58016e94aa814dda38cfc848366cc461c
2015-05-12 10:36:56 -04:00
Lorenzo Colitti
2e3a9705cf Fix a race when removing from LegacyTypeTracker.
Because LegacyTypeTracker#remove can send broadcasts that cause
apps to refresh their view of network state, it needs to be
called only after network state has been updated. This requires
that callers determine whether the network was the default, and
updating state, before calling remove().

While I'm at it, fix maybeLogBroadcast's concept of whether the
network it's logging about is/was the default. This has never
been correct.

Bug: 20613953
Change-Id: Ia175ac454aa4e0a4c4f0151866314ebada681438
2015-05-12 16:48:30 +09:00
Erik Kline
74d68efe72 Optionally add a default MOBILE request.
This enables persisting the mobile internet data connection, even
when Wi-Fi is enabled and serving as the default network (for faster
network switching).

Change-Id: I9d1512b3a8413c4f163c63d57e66bded017101e4
2015-05-08 15:22:37 +09:00
Prerepa Viswanadham
9649b30d09 Merge changes from topic 'mwd-merge-050415' into mnc-dev
* changes:
  Merge commit 'b6f59f4' into master_merge
  Merge commit 'f6db0ce' into master_merge
  Merge commit '17455a3' into master_merge
  Merge commit 'b4d5b32' into master_merge
  Merge commit 'a1a2fa7' into master_merge
  Merge commit '8dfdb98' into master_merge
  Merge commit 'eba66c3' into master_merge
2015-05-05 01:06:38 +00:00
Sanket Padawe
784a3f4b68 Merge "Adding "Connected, no Internet" string in Wifi nw summary." into mnc-dev 2015-05-04 20:44:52 +00:00
Sanket Padawe
e453b72d39 Adding "Connected, no Internet" string in Wifi nw summary.
Bug: 17380953
Change-Id: I9664bcbf33832fe722e7d2b3125939287ee98098
2015-05-01 16:55:00 -07:00
Lorenzo Colitti
9e3be4c550 am ad44d814: am 3dc08220: am b57f236e: Merge changes Icf7d67e2,Ia914ec88,I2490ad75,Ie79f2d28 into mnc-dev
* commit 'ad44d81457971085a0b20fb42388010d76c79132':
  Add a hidden method to clear NetworkCapabilities.
  Fix javadoc error for requestNetwork.
  Simplify network callback handling code.
  Document and unhide CALLBACK_PRECHECK.
2015-05-01 04:19:07 +00:00
Lorenzo Colitti
c0644de5ef Add a hidden method to clear NetworkCapabilities.
Change-Id: Icf7d67e24a09113340e9bff2c72526760914ef48
2015-05-01 12:36:29 +09:00
Lorenzo Colitti
efd396e312 Fix javadoc error for requestNetwork.
The ConnectivityManager documentation uses {@link requestNetwork}
without specifying which version of that method it refers to.
This results in javadoc incorrectly linking to the version of the
method that takes a PendingIntent instead of the version that
takes a callback.

Change-Id: Ia914ec88005a6401b6391c5b4fc92f988baa3922
2015-05-01 12:36:29 +09:00
Lorenzo Colitti
8db5f9a91d Simplify network callback handling code.
Change-Id: I2490ad754bf2a1282f27302c8556fb19983cc6b1
2015-05-01 12:36:28 +09:00
Lorenzo Colitti
ccf8210b9d Document and unhide CALLBACK_PRECHECK.
Bug: 20038463
Change-Id: Ie79f2d28c06cf611289504e49c471b55ffb9890f
2015-05-01 12:36:28 +09:00
Amith Yamasani
c486ae5e47 am 278886d5: am 3184b286: am fa4eda44: Merge "Remove network access for idle apps" into mnc-dev
* commit '278886d50a66689529320f9bd735177c068e210d':
  Remove network access for idle apps
2015-04-29 23:04:50 +00:00
Amith Yamasani
68c4363056 Remove network access for idle apps
Track apps going in and out of idle in the NetworkPolicyManagerService.
Apply DROP rules in firewall controller if app is to be blacklisted
for network access.

Firewall can now be in whitelist (old) or blacklist mode. When in
blacklist, it allows all by default and we can selectively DENY
some uids.

Track app idle in UsageStats and update periodically.
Track charging/discharging states.

TODO: Check for appidle temporary parole state

Bug: 20066058
Change-Id: Ia65d7544204b3bcb78a517310ef4adcc05aac6fb
2015-04-29 14:21:53 -07:00
fenglu
41808e8a6f Fix the javadoc for requestBandwidthUpdate(...)
Change-Id: I6673dd219ef832acb15ce9b6398caa1c8503320b
2015-04-27 14:28:04 -07:00
fenglu
32390bf3fc Merge "API review for requestBandwidthUpdate()" 2015-04-27 20:34:01 +00:00
Etan Cohen
522b053e2d Merge commit '052a0da' into merge2 2015-04-24 14:06:22 -07:00
Etan Cohen
9bc33ac655 Merge commit '83cda00' into merge2 2015-04-24 14:03:06 -07:00
Etan Cohen
54c82a8c6b Merge commit 'ed4d55c' into merge2
Change-Id: I116a9dbf19e95651a7c50393e4dcd7fb59ca3f3f
2015-04-24 13:58:45 -07:00
Etan Cohen
bfa89b207e Merge commit '26a1e5a' into merge2 2015-04-24 13:54:24 -07:00
Etan Cohen
9f844e66d0 Merge commit '6ddbb5e' into merge2 2015-04-24 13:44:05 -07:00
Etan Cohen
5fc034a2df Merge commit '9561e74' into merge2 2015-04-24 13:43:36 -07:00
Lorenzo Colitti
4a7449cf4e Merge "@removed requestRouteToHost and {start,stop}UsingNetworkFeature" 2015-04-23 10:21:28 +00:00
Lorenzo Colitti
7cc32c5ab1 @removed requestRouteToHost and {start,stop}UsingNetworkFeature
Bug: 20482461
Change-Id: Ic59fc1271e664d85102dc7945c0c2ea82c0d6f6b
2015-04-23 17:44:05 +09:00
Kris Giesing
27b0fafceb am 2a0c4a3a: (-s ours) am 6cf2d35d: (-s ours) Merge "DO NOT MERGE Revert "Add android.net.IpPrefix#contains()"" into lmp-mr1-ub-docs
* commit '2a0c4a3ae091c4a922a1dec040a56c2edcc5e588':
  DO NOT MERGE Revert "Add android.net.IpPrefix#contains()"
2015-04-22 17:51:12 +00:00
Lorenzo Colitti
4089825e44 Don't require ACCESS_NETWORK_STATE in setProcessDefaultNetwork
The documentation for setProcessDefaultNetwork does not
mention that it requires ACCESS_NETWORK_STATE, but a process
without ACCESS_NETWORK_STATE that calls it will crash because
we can't fetch the proxy properties.

Because ACCESS_NETWORK_STATE is not required to obtain a Network
object (Network objects can come from broadcasts too), it may not
be reasonable to require the permission. We did not do so in L.

For now, ignore the failure and don't crash the app. I've filed
http://b/20470604 to track a longer term fix.

Bug: 20081183
Bug: 20423580
Bug: 20470604
Change-Id: I158016130b4afb1d300357fe703804d2e7bc609b
2015-04-22 12:27:33 +09:00
Lorenzo Colitti
15ff2fc68d Allow apps with ACCESS_WIFI_STATE to listen for wifi networks
The compatibility measure introduced in bug 20081183 for apps
that connect to a Wi-Fi network without Internet access and then
expect to be able to use that network requires that such apps
register a NetworkCallback so that their WifiManager can pin them
to whatever wifi Network connects.

Currently, registering the callback requires ACCESS_NETWORK_STATE
and the app may not have that permission. Allow registering wifi
(only) callbacks if the app has ACCESS_WIFI_STATE.

If the app does not have ACCESS_WIFI_STATE (unlikely, since
CHANGE_WIFI_STATE is not very useful without ACCESS_WIFI_STATE),
then don't enable the compatibility measure.

Bug: 20081183
Bug: 20423580
Change-Id: Iad328d30c2d170dead883868fece3d922da68f6f
2015-04-22 12:01:35 +09:00
fenglu
d491067a6b API review for requestBandwidthUpdate()
Change-Id: I53dc3b95b1f989541e06d9b2c2ef8871bac81344
2015-04-21 18:57:15 -07:00
fenglu
a50d169c9c Merge "update API name to requestBandwidthUpdate()" 2015-04-22 01:32:19 +00:00
fenglu
73169332e1 update API name to requestBandwidthUpdate()
Change-Id: If26942978ffcc43f06f17dfad5da790f34758395
2015-04-21 17:12:05 -07:00