Commit Graph

1033 Commits

Author SHA1 Message Date
Narayan Kamath
12b28ce4e8 Fix minor thread corectness issue in NetworkInfo
Hold the right lock while copying info from another
NetworkInfo object to prevent changes being made to it
while the copy is in progress.

Change-Id: I1aa2c29e81e045b0359f957352c438e79e692823
2013-10-14 09:07:40 +00:00
Jason Monk
1b2d586e2d am 193ad53d: am 6b57033b: am 8b81a638: Merge "getProxy in ConnectivityService returns port w/PAC" into klp-dev
* commit '193ad53ddd22a8fe8035246ec55e81fc7a7b2fe1':
  getProxy in ConnectivityService returns port w/PAC
2013-10-10 16:08:29 -07:00
Jason Monk
193ad53ddd am 6b57033b: am 8b81a638: Merge "getProxy in ConnectivityService returns port w/PAC" into klp-dev
* commit '6b57033b022890242d6833b494040c360af691d0':
  getProxy in ConnectivityService returns port w/PAC
2013-10-10 16:05:48 -07:00
Jason Monk
decd295b13 getProxy in ConnectivityService returns port w/PAC
Changes the PacManager to report message back to ConnectivityService
to send a broadcast once the download has completed.  This allows the
ConnectivityService to store the correct proxy info for getProxy().

This made the problem arise that ProxyProperties was not handling port
while it had PAC.  Added small fix for equals() and parcelization.

The combination of these fixes seems to resolve Bug: 11028616.

Bug: 11168706
Change-Id: I92d1343a8e804391ab77596b8167a2ef8d76b378
2013-10-10 17:01:45 -04:00
Robert Greenwalt
16f3c140cb am 1db7024c: am 2e23484e: am f3f1a370: Merge "Un-deprecate getDhcpInfo" into klp-dev
* commit '1db7024c50abe49d8881d458b3317ccff3de1832':
  Un-deprecate getDhcpInfo
2013-10-04 13:36:38 -07:00
Robert Greenwalt
1db7024c50 am 2e23484e: am f3f1a370: Merge "Un-deprecate getDhcpInfo" into klp-dev
* commit '2e23484eec2321537e843168f76cba4c18b56f95':
  Un-deprecate getDhcpInfo
2013-10-04 13:34:08 -07:00
Wink Saville
0cbc781134 am e7329140: am fe587dba: am a48ccdd6: Merge "Use networkType to display wifi and mobile notification separately." into klp-dev
* commit 'e7329140c0ff846acf5bc8749f525b18880177ef':
  Use networkType to display  wifi and mobile notification separately.
2013-10-04 11:10:16 -07:00
Robert Greenwalt
cb2fe96f2c Un-deprecate getDhcpInfo
Replacement api isn't available.

bug:10003785
Change-Id: Ibe981ae90e1c6c2f1b65fa225443ae4cc92c2a3a
2013-10-04 09:53:39 -07:00
Wink Saville
e7329140c0 am fe587dba: am a48ccdd6: Merge "Use networkType to display wifi and mobile notification separately." into klp-dev
* commit 'fe587dba3a70c658140eac1b13996b7d8e6eeda2':
  Use networkType to display  wifi and mobile notification separately.
2013-10-03 21:30:29 -07:00
Wink Saville
3ec8e7fb79 Use networkType to display wifi and mobile notification separately.
There are two bugs one is I was clearing the notification in
CaptivePortalTracker when entering the ActivateState. (double check
according to bug 5021626 we should be calling enter)

Second is we could have the need to display both icons but can't
because we only allow one.

The solution I'm proposing here is to allow two notifications and
have then controlled separately.

Bug: 10886908
Change-Id: I30e7130bc542535492d175640a4990c592f32806
2013-10-03 08:34:46 -07:00
Wink Saville
4d154af68f am 86ad8e68: am 56065891: Merge commit \'53221120\' into fix-merge-conflict
* commit '86ad8e6871e778e1ee47d4f723bbd1d5f8fc00bf':
  Do not always call setIsConnectedToProvisioningNetwork(false)
2013-09-21 14:39:42 -07:00
Wink Saville
86ad8e6871 am 56065891: Merge commit \'53221120\' into fix-merge-conflict
* commit '56065891abf383b0409ae595437dcb0ea132e32b':
  Do not always call setIsConnectedToProvisioningNetwork(false)
2013-09-21 14:36:13 -07:00
Wink Saville
56065891ab Merge commit '53221120' into fix-merge-conflict
* commit '53221120':
  Do not always call setIsConnectedToProvisioningNetwork(false)

Conflicts:
	core/java/android/net/MobileDataStateTracker.java

Change-Id: I497b57cb96d0f3b3bce4f4e1cbc5febcc6421597
2013-09-21 11:52:42 -07:00
Wink Saville
5322112004 am ab8cabf1: am 1e4f4618: Do not always call setIsConnectedToProvisioningNetwork(false)
* commit 'ab8cabf1d3e5d5fd1fff17816fbc4ab19e8f1a8e':
  Do not always call setIsConnectedToProvisioningNetwork(false)
2013-09-21 11:33:53 -07:00
Wink Saville
1e4f461839 Do not always call setIsConnectedToProvisioningNetwork(false)
Previously I was calling setIsConnectedToProvisioningNetwork(false) always,
but all MDST's receive every broadcast. Thus we could over write an MDST's
mNetworkInfo.mIsConnectedToProvisioningNetwork to false, unless the MDST
that was set to true was last, i.e the code was order dependent.

If the provisioning networks value was false instead of true
when handleMobileProvisioningAction was called we wouldn't invoke
mdst.enableMobileProvisioning because network info would be null.

Thus the provisioning network would never transition to CONNECTED and
a default route wouldn't get setup and the browser couldn't access the
website.

Now setIsConnectedToProvisioningNetwork is only set to false when the
apnType matches and we won't indiscriminately change it and are not
order dependent.

Bug: 10853805
Change-Id: I68a4f9bdf5dc18d90f4cdef7a60811f57be67261
2013-09-21 09:01:19 -07:00
Jason Monk
103a02453b am f9464838: am 312c495f: Merge "Guarantee that PAC Local Proxy owns Port" into klp-dev
* commit 'f9464838fe141aac1c677e2f4ec0133381fbb5af':
  Guarantee that PAC Local Proxy owns Port
2013-09-13 17:22:53 -07:00
Jason Monk
f9464838fe am 312c495f: Merge "Guarantee that PAC Local Proxy owns Port" into klp-dev
* commit '312c495f4b8d002264772f61fe1fa3ef87bf3e52':
  Guarantee that PAC Local Proxy owns Port
2013-09-13 17:14:10 -07:00
Jason Monk
312c495f4b Merge "Guarantee that PAC Local Proxy owns Port" into klp-dev 2013-09-13 20:31:54 +00:00
Jason Monk
6f8a68f49a Guarantee that PAC Local Proxy owns Port
This changes the PAC support to not broadcast the Proxy information until
the Local Proxy has started up and successfully bound to a port so that
the local proxy information can be guaranteed to be owned by the proxy.

Bug: 10459877
Change-Id: I175cd3388c758c55e341115e4a8241884b90d633
2013-09-13 09:53:26 -04:00
Elliott Hughes
16a584096a am 2df0f9ed: am 442a8753: am c3415a91: Merge "Remove ArpPeer; dead code from Google TV."
* commit '2df0f9ed82f9dab253d2359df12b119ed36af522':
  Remove ArpPeer; dead code from Google TV.
2013-09-11 17:24:43 -07:00
Jeff Sharkey
123eeea6d6 am e2d76fa8: am cecccecc: Merge changes Ib1274847,I2eb2a1bf into klp-dev
* commit 'e2d76fa8c6d0f5c3d1a73a3ec9756c4bc545806d':
  Fix SDK build.
  Request all tethering interfaces, fix corruption.
2013-09-11 17:23:29 -07:00
Elliott Hughes
2df0f9ed82 am 442a8753: am c3415a91: Merge "Remove ArpPeer; dead code from Google TV."
* commit '442a8753a0f312439e2ef233c041d9d584768749':
  Remove ArpPeer; dead code from Google TV.
2013-09-11 17:02:20 -07:00
Elliott Hughes
442a8753a0 am c3415a91: Merge "Remove ArpPeer; dead code from Google TV."
* commit 'c3415a918df78715db756f02d8c55a1e7ab94244':
  Remove ArpPeer; dead code from Google TV.
2013-09-11 16:52:01 -07:00
Elliott Hughes
c3415a918d Merge "Remove ArpPeer; dead code from Google TV." 2013-09-11 23:48:34 +00:00
Elliott Hughes
62d7bf2ab3 Remove ArpPeer; dead code from Google TV.
Change-Id: I595a6b6f52ab513a008e0fd861e98bc4488a1999
2013-09-11 16:21:16 -07:00
Jeff Sharkey
ceccceccff Merge changes Ib1274847,I2eb2a1bf into klp-dev
* changes:
  Fix SDK build.
  Request all tethering interfaces, fix corruption.
2013-09-11 20:16:59 +00:00
Narayan Kamath
d6b37fdf6c Allow SSL caches to be installed directly on SSLContexts.
This allows clients to enable ssl session caching without
having to use SSLCertificateSocketFactory.

Change-Id: Id63b8b31f51c96e73beefe9ecc5fd0cf0a1852c6
2013-09-11 08:49:59 +00:00
Jeff Sharkey
e4984bea95 Request all tethering interfaces, fix corruption.
netd now tracks statistics for tethered interfaces across tethering
sessions, so switch to asking for all tethering stats.  (Currently
we're double-counting all tethering data, ever since it started
tracking across sessions.)

Also catch OOME to handle corrupt stats files, which we then dump to
DropBox and then start over.

Bug: 5868832, 9796109
Change-Id: I2eb2a1bf01b993dd198597d770fe0e022466c6b9
2013-09-10 21:03:30 -07:00
Kenny Root
0611f47721 am 90e42717: Merge changes I5d2be3c5,I9017256b
* commit '90e42717e590e2f7d2fb7270daae589a97271c63':
  Add argument to binder call to check key types
  Use hostname verifier directly instead of instance
2013-09-10 11:52:16 -07:00
Kenny Root
4a406787c7 Use hostname verifier directly instead of instance
Instead of local instance of the default HostnameVerifier, use it
directly from HttpsURLConnection. This avoids class preloading creating
an instance of it before it's necessary.

(cherry picked from commit 928ee1e48f)

Bug: 9984058
Change-Id: I9017256b3b5d137aeb5a6f455868af7bdfec7885
2013-09-10 11:05:23 -07:00
Yuhao Zheng
5cd1a0e8d7 Add a hidden API to toggle airplane mode.
Added a hidden API under ConnectivityManager to toggle airplane mode.
This may be a temp solution for b/10653570.
bug:10653570

Change-Id: I0b2b42230073289eb8dc6891317d62b84e26c133
2013-09-10 09:57:12 -07:00
Ying Wang
d57de6afb8 Fix docs build.
Change-Id: I6fd0d711b2cc7726fdaa9119ee467ed6fab82de1
2013-09-06 22:53:16 -07:00
sy.yun
9d9b74a900 Setting MTU size for specific network.
Able to config network specific MTU size. Normally, the default size of MTU is 1500.
 US - ATT 1410, TMUS 1440, SPRINT 1422
 KR - SKT 1440, KT 1450, LGU+ 1428
 JP - KDDI 1420, SoftBank 1340
 CA - RGS 1430, FIDO 1430, MTS 1430, BELL 1358, SaskTel 1358
 AU - TEL 1400

Bug: 10195070
Change-Id: Ie18650b37a3d44af944f2dae4aa97c04fb12cd5e
2013-09-06 15:26:19 -07:00
Wink Saville
a1d6a9b474 am fc7a146b: am 50f86448: am 59a9884b: Merge "Do not change NetworkInfo.DetailedState." into jb-mr2-dev
* commit 'fc7a146b82774514bad4bc307489ece7ac27ee50':
  Do not change NetworkInfo.DetailedState.
2013-09-06 09:19:40 -07:00
Wink Saville
fc7a146b82 am 50f86448: am 59a9884b: Merge "Do not change NetworkInfo.DetailedState." into jb-mr2-dev
* commit '50f864480d6e9cf9e4d83b4533e3764753b4d408':
  Do not change NetworkInfo.DetailedState.
2013-09-06 09:17:19 -07:00
Lorenzo Colitti
a7597d1771 Merge "Add a function to replace all the link addresses." into klp-dev 2013-09-05 23:03:24 +00:00
Wink Saville
67c3821926 Do not change NetworkInfo.DetailedState.
I'd changed DetailedState to force ConnectivityService to treat
provisioning apn's specially. In particular so that they wouldn't
be identified they were fully connected until the provisioning
actually started. The problem is that DetailedState is a public enum
that has a CTS test and just changing the CTS to allow for the new
state (CONNECTED_TO_PROVISIONING_NETWORK) was inappropriate.

Instead I've added a new mIsConnectedToProvisioningNetwork variable
and used the DetailedState.SUSPENDED as the intermediate state.

Bug: 10620248
Change-Id: Id4a842398cad67455541ce629959351c27d83639
2013-09-05 12:02:25 -07:00
Vinit Deshapnde
b402fb2fdd Merge "Rename LinkInfo to LinkQualityInfo" into klp-dev 2013-09-05 17:50:19 +00:00
Lorenzo Colitti
22f407b11e Add a function to replace all the link addresses.
Bug: 10232006
Change-Id: I689ce4735999dac2ab5e1fae09d80b1f734292a1
2013-09-05 13:02:54 +09:00
Vinit Deshapnde
6a2d32597a Rename LinkInfo to LinkQualityInfo
This change renames the LinkInfo objects to LinkQuailtyInfo. The API is
still hidden; but it can be accessed via reflection.

Bug: 10342372

Change-Id: Ieccea87c467ceae5d7f76298b137573f67396cd6
2013-09-04 14:11:24 -07:00
Wink Saville
9d4204d625 Add debug and remove SocketTimeoutException.
Bad merge from jb-mr2 to klp, the SocketTimeoutException
in isCaptivePortal should not be present. Also add debug
for bug 9972012. The SocketTimeoutException is a possible
cause of 9972012 but the logs from post #24 it was not
caused by a timeout, so this is not a fix.

Bug: 9972012
Change-Id: I290518832f8258d4682821815834f5621245b643
2013-08-29 16:42:44 -07:00
Wink Saville
7788c61af5 Merge commit '270226b0' into manualmerge
* commit '270226b0':
  Add support for handling mobile provisioning networks.

Conflicts:
	core/java/android/net/CaptivePortalTracker.java
	core/java/android/net/ConnectivityManager.java
	core/java/android/net/IConnectivityManager.aidl
	core/java/android/net/MobileDataStateTracker.java
	core/res/AndroidManifest.xml
	services/java/com/android/server/ConnectivityService.java

Change-Id: I3925004011bb1243793c4c1b963d923dc2b00cb5
2013-08-29 14:57:08 -07:00
Wink Saville
270226b0dd am 8cb2f42e: am 948282b0: Add support for handling mobile provisioning networks.
* commit '8cb2f42eea2ef3b249528aa7913fc7a6dfc6b741':
  Add support for handling mobile provisioning networks.
2013-08-29 10:26:06 -07:00
Wink Saville
948282b0e6 Add support for handling mobile provisioning networks.
When a sim is new or it has expired it needs to be provisioned
with the carrier. Basically provisioning is associating a sim with
a user account. When a sim isn't provisioned then operators will
restrict access to the network and only allow certain addresses
or services to be used.

This set of changes allows two types of provisioning networks to be
recognized. The first is a network that causes all DNS lookups to be
redirected to a different address than was intended. This is exemplified
by how T-Mobile works.

The second technique uses a special apn for provisioning. An example is
AT&T where lwaactivate is the provisioning apn and broadband is the
normal apn. We first try broadband and if we are unable to connect we
try lwaactivate. When we see the activate we identify it as special and
the ApnContext.isProvisioningApn will return true.

In the future our plan is to create a new network type that can be added
to the apn list, but for now it identified by name.

Here is a list of significant changes:

 - CaptivePortalTracker now only test WiFi networks instead of all networks
 - checkMobileProvisioning checks for provisioning networks and doesn't
   try to ping.
 - IConnectivityManager.aidl changes:
   * getProvisioningOrActiveNetworkInfo was added to and used by Manage
     mobile plan in WirelessSettings so even when there is no active
     network it will still allow provisioning. Otherwise it would report
     no internet connection.
   * setSignInErrorNotificationVisible is used by both
     CaptiviePortalTracker and checkMobileProvisioning so they use the
     same code for the notifications.
   * checkMobileProvisioning was simplified to have only a timeout as
     returning the result is now harder as we abort simultaneous call
     otherwise we'd could get into loops because we now check every time
     we connect to mobile.
 - Enhanced MDST to handle the provisioning network.
 - Added CONNECTED_TO_PROVISIONING_NETWORK to NetworkInfo to make a new
   state so we don't announce to the world we're connected.
 - TelephonyIntents.ACTION_DATA_CONNECTION_CONNECTED_TO_PROVISIONING_APN
   is sent by the low level data connection code to notify Connectivity
   Service that a provisioning apn has connected. This allows CS to
   handle the connection differently than a normal connection.

Bug: 10328264
Change-Id: I3925004011bb1243793c4c1b963d923dc2b00cb5
2013-08-29 08:55:16 -07:00
Vinit Deshapnde
d0fec8c885 Increase sampling data size limits
Integer doesn't seem to like number > 2 Gig; so converting all bits of
samples to long; and handling exceptions that may crash the service

Bug: 10459447
Change-Id: I1291e97ba6d0ab7304dc6a6e8ef819d17491e017
2013-08-26 15:11:01 -07:00
Wink Saville
59adfca65d am 33283a97: am dce52cdb: DO NOT MERGE: MDST is not ready until connected to DcTracker.
* commit '33283a9726a29b5a79d7885fe194d52c0ebe7450':
  DO NOT MERGE: MDST is not ready until connected to DcTracker.
2013-08-26 11:50:10 -07:00
Vinit Deshapnde
e2a6d3df12 Merge "Introduce network link quality statistics" into klp-dev 2013-08-22 16:16:45 +00:00
Vinit Deshapnde
1f12cb52a4 Introduce network link quality statistics
This change starts tracking traffic quality data for WiFi and mobile
networks. The quality is tracked based on incidental traffic, and not
on specific measurements. Theoretical bandwidths are hard-coded, as
well as sampling interval; although sampling interval can be changed
by setting a system policy.

Bugs filed to remove shortcomings of this change -

10342372 Change LinkInfo name to something better
10342318 Move hardcoded values of MobileLinkInfo to resources
         so they can be updated without changing code

Bug: 10006249

Change-Id: I83d8c7594da20fe53abbd5e1f909b1f606b035bb
2013-08-21 13:09:01 -07:00
Lorenzo Colitti
fd589c1d94 Merge "Notify IP address changes to interface observers." into klp-dev 2013-08-21 17:47:13 +00:00
Lorenzo Colitti
10fa8c0626 Merge "Make BaseNetworkObserver available to core code" into klp-dev 2013-08-21 17:20:40 +00:00