Commit Graph

782 Commits

Author SHA1 Message Date
fenglu
fcc8c9b5f4 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
81c7260a93 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
08f9dbbfa1 Add javadoc comments mentioning ConnectivityManager API permissions.
Also move permissions comments above @param and @return to fix indent.

bug:20499587
Change-Id: If82ff2367fdbce06e696e494439b31cb100d768f
2015-05-19 14:03:03 -04:00
Paul Jensen
1916861976 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
Lorenzo Colitti
1aa80c66de Add a hidden method to clear the capabilities of a NetworkRequest
Change-Id: I41d4f2229259d0bf9d68aa00f92f3bf4e2e71fbc
2015-05-20 00:35:24 +09:00
Lorenzo Colitti
a3a771b3d7 Merge "Make NET_CAPABILITY_VALIDATED (almost) a first-class citizen." into mnc-dev 2015-05-19 10:29:48 +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
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
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
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
856f4a7d05 Merge commit '60df4aa' into merge2
Change-Id: I116a9dbf19e95651a7c50393e4dcd7fb59ca3f3f
2015-04-24 13:58:45 -07:00
Etan Cohen
2fcb05cd8b Merge commit '9561e74' into merge2 2015-04-24 13:43:36 -07:00
Lorenzo Colitti
21e9a15571 @removed requestRouteToHost and {start,stop}UsingNetworkFeature
Bug: 20482461
Change-Id: Ic59fc1271e664d85102dc7945c0c2ea82c0d6f6b
2015-04-23 17:44:05 +09: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
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
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
Stuart Scott
d546364a81 Move factoryReset to service and protect.
bug:16161518
Change-Id: I02d1bbae1887c62ee426e6f03e8bc1f18c6666bf
2015-04-20 10:52:35 -07:00
Paul Jensen
60df4aaea6 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
2015-04-16 16:53:10 +00:00
fenglu
3f35740bd8 LCE service implementation - connectivity side
Change-Id: If11bd99c44c7dc8d2aa2bc05a10e04421739baa6
2015-04-16 02:53:39 -07:00
fenglu
d39aecfa33 LCE service implementation - connectivity side
Change-Id: If11bd99c44c7dc8d2aa2bc05a10e04421739baa6
2015-04-15 23:13:52 -07:00
Vinit Deshpande
e80d3096ad Merge "am b5e0cfb..557d2f5 from mirror-m-wireless-internal-release" 2015-04-16 02:36:30 +00:00
Lorenzo Colitti
9b8639edbc Merge changes from topic 'no_internet'
* changes:
  Add a noInternetAccessExpected boolean to WifiConfiguration.
  Prompt if a network without an Internet connection is selected
  Give SystemUI the OVERRIDE_WIFI_CONFIG permission.
  Add an UNKNOWN_UID constant to WifiConfiguration.
2015-04-15 11:48:22 +00:00
Erik Kline
9157e0092b multinetwork API: native implementation
Bug: 19537384
Change-Id: I04f4a7de2b1e583989b67a853df6ab50289c2185
2015-04-15 15:52:31 +09:00
Erik Kline
7b139a856b multinetwork API: native implementation
Bug: 19537384
Change-Id: I04f4a7de2b1e583989b67a853df6ab50289c2185
2015-04-15 15:32:08 +09:00
Lorenzo Colitti
6947c067bd Prompt if a network without an Internet connection is selected
When a network is explicitlySelected, keep it connected but do
not automatically switch to it. Instead, attempt to validate it,
and if 8 seconds have passed and the network is not yet
validated, prompt the user asking whether to switch to it anyway.

Bug: 20081183
Change-Id: I03a8459eb39979e3dc8e94662b85a44605dd7e69
2015-04-15 13:38:22 +09:00
Vinit Deshpande
fda5739846 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
b95d795 Add ConnectivityManager.reportNetworkConnectivity() API
238e0f9 OBEX Over L2CAP + SDP search API for BT profiles
1f56738 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
c7a1d23 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
224ab3d Unhide Network.openConnection(URL, Proxy).
bd2d378 Fix typos in ConnectivityManager documentation.

Change-Id: Ib4c88f6d7ad1b24227b032555c62a5804194384b
2015-04-14 16:15:02 -07:00
Paul Jensen
dda8e59411 Deprecate connectivity APIs relying on integer network types.
Recommend ConnectivityManager.getAllNetworks() and various state
inspection functions as a way forward.

Bug:19608294
Change-Id: Ibd53629995897047fc532ffa56f079dfba10a7c7
2015-04-14 17:51:27 +00:00
Erik Kline
1fee823879 am 73e056d3: am 402f2501: am 3312c6b9: Merge "Add android.net.IpPrefix#contains()"
* commit '73e056d3931b419c2653eb7365fb72b50a9a36c3':
  Add android.net.IpPrefix#contains()
2015-04-14 09:58:38 +00:00
Erik Kline
b98afb001c Add android.net.IpPrefix#contains()
This was originally to avoid RuntimeException in RouteInfo#matches():
    When an IPv6 prefix with a length greater than the max permitted
    for IPv4 is matched against an Inet4Address, the call to
    NetworkUtils throws RuntimeException.

Change-Id: I92e2bd19a4e7d656cf682fd27678da07e211850d
2015-04-14 16:19:11 +09:00
Paul Jensen
b95d7950f5 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
2015-04-13 18:48:54 +00:00
Prerepa Viswanadham
9dd7ce3ca2 Merge commit 'e593d0a' into merge_work
Change-Id: I4f8ae40fc446cd9cda4d5c6ec99469a98dda595b
2015-04-10 15:58:10 -07:00
Paul Jensen
1f567385ff Add ConnectivityManager.getActiveNetwork().
Rework NetID allocation in ConnectivityService so registerNetworkAgent() can
return the allocated NetID.

Bug: 19416463
Change-Id: I68e395552cf27422c80b4dfae5db5d56a0d68f5d
2015-04-10 14:03:13 +00:00
Paul Jensen
c7a1d23cdf Non-functional code cleanup of ConnectivityService.
1. Remove ConnectivityService.findConnectionTypeForIface() as this can be done
   just as easily with supported APIs now.
2. Avoid making copies of Network objects as this precludes reuse of Network
   internals (e.g. socket factory, connection pool).

Change-Id: I52f92e35d769d8350471f485e408169608630082
2015-04-08 07:46:49 -04:00
Lorenzo Colitti
224ab3d3a3 Unhide Network.openConnection(URL, Proxy).
Spun off from
https://partner-android-review.googlesource.com/#/c/205463/ for
ease of review.

Bug: 19416463
Change-Id: Ia37a53a350d55b5514b949242368dfe396f6b9a0
2015-04-07 13:13:20 +09:00
Paul Jensen
bd2d378b7f Fix typos in ConnectivityManager documentation.
Spun off from
https://partner-android-review.googlesource.com/#/c/205463/ for
ease of review.

Bug: 19416463
Change-Id: I2f88ac415177ecd96c9191df5e390830869f52e1
2015-04-07 13:13:13 +09:00
Paul Jensen
6fabfa0e32 Deprecate EXTRA_PROXY_INFO and unhide ConnectivityManager.getDefaultProxy().
1. Unhide ConnectivityManager.getDefaultProxy() and update it to
   take into account process-bound-Networks.
2. Deprecate EXTRA_PROXY_INFO and instead encourage querying via
   getDefaultProxy().

Bug: 17905627
Bug: 17420465
Bug: 18144582

Change-Id: I45358ee82fe705d048022c8238b2452f52c37b88
2015-04-03 07:25:55 -04:00
Paul Jensen
ee2f45d85f Deprecate static ConnectivityManager.get/setProcessDefaultNetwork() functions.
These functions risk hitting an unchecked Exception due to ConnectivityManager
not being instantiated yet.  Also, change Network.openConnection() to throw a
checked Exception rather than an unchecked Exception when ConnectivityManager
is not yet instantiated.

bug:19416463
Change-Id: Ie1e2b3238aec0343d267c76b64927073f2f05f85
2015-04-02 14:03:43 +00:00