Commit Graph

2089 Commits

Author SHA1 Message Date
Lorenzo Colitti
a3a771b3d7 Merge "Make NET_CAPABILITY_VALIDATED (almost) a first-class citizen." into mnc-dev 2015-05-19 10:29:48 +00:00
Robin Lee
1281e50c72 Merge "Support cross-user VPN calls (with permission)" into mnc-dev 2015-05-19 10:14:59 +00:00
Lorenzo Colitti
e97685a88f 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
1e71fc8356 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
db93dd93c5 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
527979bb76 merge in mnc-release history after reset to mnc-dev 2015-05-16 01:02:14 -07:00
Lorenzo Colitti
c2faedca3f 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
e14a622909 Statically import NetworkCapabilities constants for brevity.
Bug: 18591282
Change-Id: I41c148951724136f31bc663fd81ca9f5de72818a
2015-05-14 23:46:17 +09:00
Lorenzo Colitti
2c39d1313a 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
2943803f73 Merge "Fix a race when removing from LegacyTypeTracker." into mnc-dev 2015-05-13 06:31:38 +00:00
Paul Jensen
5696665e2d Merge "Deprecate ConnectivityManager.isNetworkTypeValid as it's unneeded." into mnc-dev 2015-05-12 16:32:29 +00:00
Paul Jensen
bbb61094b2 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
4976772f9b 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
05f2b40542 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
96011f4e3a 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
89f510319f Merge "Adding "Connected, no Internet" string in Wifi nw summary." into mnc-dev 2015-05-04 20:44:52 +00:00
Sanket Padawe
aeb5be7c7d Adding "Connected, no Internet" string in Wifi nw summary.
Bug: 17380953
Change-Id: I9664bcbf33832fe722e7d2b3125939287ee98098
2015-05-01 16:55:00 -07:00
Lorenzo Colitti
a8851ab1fb 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
c5647c2eda Add a hidden method to clear NetworkCapabilities.
Change-Id: Icf7d67e24a09113340e9bff2c72526760914ef48
2015-05-01 12:36:29 +09:00
Lorenzo Colitti
7f6a2bfffa 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
68e02363c7 Simplify network callback handling code.
Change-Id: I2490ad754bf2a1282f27302c8556fb19983cc6b1
2015-05-01 12:36:28 +09:00
Lorenzo Colitti
145745967f Document and unhide CALLBACK_PRECHECK.
Bug: 20038463
Change-Id: Ie79f2d28c06cf611289504e49c471b55ffb9890f
2015-05-01 12:36:28 +09:00
Amith Yamasani
55819cc235 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
2a37b3cc84 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
ea2d928abe Fix the javadoc for requestBandwidthUpdate(...)
Change-Id: I6673dd219ef832acb15ce9b6398caa1c8503320b
2015-04-27 14:28:04 -07:00
fenglu
faa4bcf5e3 Merge "API review for requestBandwidthUpdate()" 2015-04-27 20:34:01 +00:00
Etan Cohen
299db05f65 Merge commit '052a0da' into merge2 2015-04-24 14:06:22 -07:00
Etan Cohen
a70e10d366 Merge commit '83cda00' into merge2 2015-04-24 14:03:06 -07:00
Etan Cohen
856f4a7d05 Merge commit '60df4aa' into merge2
Change-Id: I116a9dbf19e95651a7c50393e4dcd7fb59ca3f3f
2015-04-24 13:58:45 -07:00
Etan Cohen
050bf7cbda Merge commit 'd39aecf' into merge2 2015-04-24 13:54:24 -07:00
Etan Cohen
d6bc847e87 Merge commit '6ddbb5e' into merge2 2015-04-24 13:44:05 -07:00
Etan Cohen
2fcb05cd8b Merge commit '9561e74' into merge2 2015-04-24 13:43:36 -07:00
Lorenzo Colitti
34c019ce63 Merge "@removed requestRouteToHost and {start,stop}UsingNetworkFeature" 2015-04-23 10:21:28 +00:00
Lorenzo Colitti
21e9a15571 @removed requestRouteToHost and {start,stop}UsingNetworkFeature
Bug: 20482461
Change-Id: Ic59fc1271e664d85102dc7945c0c2ea82c0d6f6b
2015-04-23 17:44:05 +09:00
Kris Giesing
b4a5bdecd3 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
41b1fbca30 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
7e7decdc81 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
da75d5e866 API review for requestBandwidthUpdate()
Change-Id: I53dc3b95b1f989541e06d9b2c2ef8871bac81344
2015-04-21 18:57:15 -07:00
fenglu
3595251977 Merge "update API name to requestBandwidthUpdate()" 2015-04-22 01:32:19 +00:00
fenglu
b00f48834e update API name to requestBandwidthUpdate()
Change-Id: If26942978ffcc43f06f17dfad5da790f34758395
2015-04-21 17:12:05 -07:00
Robert Greenwalt
f780ac8cd6 Merge "Revert "requestBwUpdate() public API review"" 2015-04-21 23:59:35 +00:00
Robert Greenwalt
d915d64bd6 Revert "requestBwUpdate() public API review"
This reverts commit 85d7af1f8b.

Change-Id: I8c22d285ff1f56f1bd31a0fa9f2e6a79959347b1
2015-04-21 23:59:14 +00:00
Erik Kline
be7e160abe Final removal of CONNECTIVITY_ACTION_IMMEDIATE.
Since the demise of the connectivity change delay,
CONNECTIVITY_ACTION_IMMEDIATE has been sent out back to back with
CONNECTIVITY_ACTION.

Interested parties should watch for CONNECTIVITY_ACTION.

Bug: 20013379
Change-Id: I072dddf95adb3bbd17fa1f7159d4ea848ade8f19
2015-04-22 08:56:43 +09:00
Robert Greenwalt
3d9f44446a Merge "requestBwUpdate() public API review" 2015-04-21 23:55:48 +00:00
fenglu
85d7af1f8b requestBwUpdate() public API review
Change-Id: I1e780b2705d13bfc85a0a8712ac1dbd623b474a1
2015-04-21 15:33:19 -07:00
Erik Kline
934122fbbb Final removal of CONNECTIVITY_ACTION_IMMEDIATE.
Since the demise of the connectivity change delay,
CONNECTIVITY_ACTION_IMMEDIATE has been sent out back to back with
CONNECTIVITY_ACTION.

Interested parties should watch for CONNECTIVITY_ACTION.

Bug: 20013379
Change-Id: I072dddf95adb3bbd17fa1f7159d4ea848ade8f19
2015-04-21 17:02:34 +09:00
Erik Kline
152d1b96a6 CONNECTIVITY_ACTION is the new _IMMEDIATE
Bug: 20013379
Change-Id: I3e904dc0a0ddb30c7bb8cdb24d0762052ddc59eb
2015-04-21 13:04:36 +09:00
Kris Giesing
c00a5049e6 DO NOT MERGE Revert "Add android.net.IpPrefix#contains()"
This reverts commit b98afb001c.

Change-Id: I3c11ddd66d22ab2756201b489127f1643fedb429
2015-04-20 14:15:43 -07:00
Stuart Scott
d546364a81 Move factoryReset to service and protect.
bug:16161518
Change-Id: I02d1bbae1887c62ee426e6f03e8bc1f18c6666bf
2015-04-20 10:52:35 -07:00
Erik Kline
d06906840a CONNECTIVITY_ACTION is the new _IMMEDIATE
Bug: 20013379
Change-Id: I3e904dc0a0ddb30c7bb8cdb24d0762052ddc59eb
2015-04-20 16:11:58 +09:00