270 Commits

Author SHA1 Message Date
Robert Greenwalt
9b2886e243 Create new isNetworkSupported API
Useful for checking if on a wifi-only device.
Similar to asking for NetworkInfo for a network type and checking for
null, though here the intent is explicit.

bug:5087537
Change-Id: Ia3ddd09b6b735b8b3ceb7a347891e015fd96b218
2011-08-31 16:53:12 -07:00
Jeff Sharkey
961e304583 Introduce immediate CONNECTIVITY_ACTION variant.
New broadcast that is dispatched immediately after connectivity
changes have been handled by ConnectivityService, bypassing any
applicable CONNECTIVITY_CHANGE_DELAY.

Also protect CONNECTIVITY_CHANGE broadcasts, since they should only
be sent by system.

Bug: 5198167
Change-Id: I75f1fb44b21da1879f0ab960bcaa481126d70fde
2011-08-29 16:10:43 -07:00
Jeff Sharkey
8e28b7d782 Proactively disable data when over policy limit.
Add policy controls to NetworkStateTracker which are combined with
other user preference and internal flags to decide if data connection
should be established.  Better locking around enabled flags.

When data network would be over limit, proactively disable data on
that network.  Enable when policy is snoozed or when cycle resets.

Track and dismiss notifications from now-stale policies.

Bug: 4587023, 5178147
Change-Id: Ibfcc9f73cda7c369209af701b46eddd3d1943f2d
2011-08-23 18:45:44 -07:00
Jeff Sharkey
9a20fa54c9 Merge "Background data notification, API clean up." 2011-08-18 15:01:10 -07:00
Jeff Sharkey
3a844fcf5a Background data notification, API clean up.
When restricting background data, show ongoing notification to give
easy access to re-enable. Deprecate getBackgroundDataSetting() API
to always return true, since NetworkInfo.isConnected() is new source
of truth. Handle upgrade path by reading from existing secure value,
and kick one last broadcast when changing value. Remove background
data code from ConnectivityService.

Remove warning alerts, since they push ifaces into restricted list;
should only happen when iface has limit.

Bug: 5163559, 5129421
Change-Id: I0064d9d643656a4d32aaae51d4a58bce49fe295f
2011-08-17 14:12:42 -07:00
repo sync
4a56c437b6 Merge "P2p enhancements" 2011-08-16 14:50:56 -07:00
Chia-chi Yeh
0c074e6843 VPN: reset legacy VPN when resetting IPv4 addresses.
Currently legacy VPN only works on IPv4, and it should always
turn down when the addresses are changed. It assumed that the
interface will be brought down and up, so the event can be
detected via interfaceStatusChanged(). However, the assumption
was incorrect and the event is actually driver-dependent. To
fix this issue, ConnectivityService now tells VPN that the
interface is down when resetting IPv4 addresses.

Change-Id: I76d15e56552d86635c5b274ca980be5da905a6fb
2011-08-16 10:08:33 -07:00
Robert Greenwalt
f125a09363 Flush central DNS cache when things change.
Flushes the cache for an interface when
either routes or DNS servers change.

Change-Id: I021305f781be669aaa12074dc1cc21511f49eac4
2011-08-15 14:26:53 -07:00
repo sync
aea743aaa4 P2p enhancements
- ConnectivityService interaction and support for running dhcp server
and client

- State machine enhancements for connectivity interaction

Change-Id: Iba3beb8c87554ffd67a7b7e852bbb4dd8666a4f5
2011-08-10 15:53:49 -07:00
Robert Greenwalt
e6b2429cf7 Remove default routes for non-default networks.
Recoding/port of a change that existed in GB but got dropped
in the shuffle.

bug:5036222
Change-Id: I87e819d255c0c46f3ec8fe0fe18d27ae9df1ae36
2011-08-09 16:52:58 -07:00
Wink Saville
2b30afdbad resolved conflicts for merge of 7bb2d942 to master
Change-Id: I026b01805c81d8b26d22e4a195e5e38655a34d32
2011-08-05 11:40:22 -07:00
Wink Saville
7bb2d94249 am 090df1dc: Merge "Delay connectivity change notifications." into honeycomb-LTE
* commit '090df1dc4188e5b9ef10a0aca5081a196085ff56':
  Delay connectivity change notifications.
2011-08-04 16:11:41 -07:00
Wink Saville
628b08530a Delay connectivity change notifications.
Because changes to the route tables take time to propagate
we add a delay when sending out change notifications. This allows
applications, such as GTalk, to create sockets without encountering
a 3 minute timeout.

Bug: 5008488
Change-Id: I0eefb03a5d6358a58ea6ae5b4f697ff302b5511d
2011-08-04 15:01:58 -07:00
Jeff Sharkey
a841e52401 Merge "Expose quota status for active network." 2011-08-03 17:05:21 -07:00
Jeff Sharkey
f0ceede8ff Expose quota status for active network.
Create API to expose quota status derived from underlying network
policy.  This is designed to support applications making informed
decisions when performing network requests.

Fix bug with random stats generation, and write policy when changing
restrict background data flag.  Deprecate EXTRA_NETWORK_INFO, since
it varies based on UID.

Bug: 4517283, 5088603
Change-Id: Ic6893a8967f69937e466be226ba7bb86ef5a5d2d
2011-08-02 18:19:54 -07:00
Robert Greenwalt
58d4c59581 Reduce ConnectivityService logging
bug:5106520
Change-Id: I4a7a5cac51c09e9e2275b30b7b2c053f94b9088d
2011-08-02 17:18:41 -07:00
repo sync
8935696a19 Fix networktype on per process DNS setting
This potentially has no impact on mobile due to DNS settings being the same. Seperate this change out of the p2p change

Change-Id: I70fff9b1e13015956793b19732785037adb0af24
2011-08-02 13:40:58 -07:00
Robert Greenwalt
f9665221aa am a128f5f8: am 1a230885: Merge "Fix NPE when going from proxy to no proxy." into honeycomb-LTE
* commit 'a128f5f8c952d7f519f64882792e832a4e75e2c8':
  Fix NPE when going from proxy to no proxy.
2011-07-29 10:55:58 -07:00
Robert Greenwalt
a128f5f8c9 am 1a230885: Merge "Fix NPE when going from proxy to no proxy." into honeycomb-LTE
* commit '1a230885b356256e91b3bf006ec72213ba6f8f76':
  Fix NPE when going from proxy to no proxy.
2011-07-29 10:53:16 -07:00
Robert Greenwalt
fde1eb7cf8 Fix NPE when going from proxy to no proxy.
bug:5081431
Change-Id: I68a8cca94e4612bd9ee2faf1123e0b63dc25b833
2011-07-29 10:03:37 -07:00
Robert Greenwalt
c59c6da9ae resolved conflicts for merge of af75fdb1 to master
Change-Id: Ib7f3521b0af6df9346cf940d69f2988b1c87e129
2011-07-27 10:00:36 -07:00
Robert Greenwalt
af75fdb165 resolved conflicts for merge of 41394a36 to honeycomb-plus-aosp
Change-Id: Ic839eb7bd8081b94802dbbf9140b9d1fa0cf7df3
2011-07-27 09:27:00 -07:00
Robert Greenwalt
22d93a0d71 resolved conflicts for merge of 41394a36 to honeycomb-plus-aosp
Change-Id: If4dc99c558dc45c9a7ff8d3ea5be69578b4ee793
2011-07-26 15:26:02 -07:00
Robert Greenwalt
41394a3610 Merge "Use dns proxy a bit." into honeycomb-LTE 2011-07-26 13:21:09 -07:00
Robert Greenwalt
572b7048a6 Use dns proxy a bit.
Sets the current default interface and sets the dns per interface.
port of changes 23041 and 22098 from opensource.
bug:5060618

Change-Id: I80e7ef88727eeb8ff2b48059f69b270e5a6b5c16
2011-07-25 17:00:13 -07:00
Robert Greenwalt
a10b7fd223 resolved conflicts for merge of a7f68230 to master
Change-Id: I9e8faaa94f9b251a9c003dc6b9a3e2a97c4564a9
2011-07-25 16:06:25 -07:00
Robert Greenwalt
a7f68230be resolved conflicts for merge of 26ecc31f to honeycomb-plus-aosp
Change-Id: I23f42e247884f0c9d5ae4d3466213592dd3433d9
2011-07-25 12:08:19 -07:00
Mike Lockwood
5db7af968a Merge "Fix USB tethering" 2011-07-23 19:36:32 -07:00
Mike Lockwood
6c2260b3af Fix USB tethering
The previous approach no longer works with the new USB drivers, since the usb0
interface is no longer enabled by default.
This introduced a chicken & egg problem - usb0 will not be enabled until the
user tries to start tethering, but Settings will not enable the checkbox unless
usb0 is enabled.
To fix this we add an explicit call to start USB tethering in the connectivity manager.
This will enable RNDIS if necessary and then bring up tethering once usb0 is enabled.

Change-Id: Iae1f733366aa6b0dafa66d4c97207794173ef54b
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-07-23 21:57:55 -04:00
Robert Greenwalt
6dcf2d7776 am 19933916: am ad55d351: Add better routes for secondary DNS
* commit '199339169476d0d6d0ecaa8ed3bff3a9e9a0f430':
  Add better routes for secondary DNS
2011-07-22 13:17:54 -07:00
Robert Greenwalt
1993391694 am ad55d351: Add better routes for secondary DNS
* commit 'ad55d35114237071133eb28ded93a014185d4e35':
  Add better routes for secondary DNS
2011-07-22 13:15:56 -07:00
Robert Greenwalt
ad55d35114 Add better routes for secondary DNS
We'd been doing no-gateway hostroutes for dns servers on secondary nets, but on
some devices (multi-homed stingray) this is a problem.  Add gateway-ed hostroutes
instead so the BP can do it's nonstandard "magical" demultiplexing.

bug:5011392
Change-Id: Ia48f69c8ddf2a37cfb8f014f078f96bf601d2ddb
2011-07-22 12:52:21 -07:00
Robert Greenwalt
1efe4d5cfd First pass tying into per-interface DNS cache
Change-Id: Iacce225d392786e37fa2dbf9647045fca0b70e64
2011-07-20 14:47:41 -07:00
Chia-chi Yeh
b503b85491 Merge "ConnectivityService: Implement VPN callbacks to update DNS servers." 2011-07-20 12:28:04 -07:00
Robert Greenwalt
47d4caf41b Merge "Start default connections on startup." 2011-07-20 10:10:24 -07:00
Chia-chi Yeh
44bb251be7 ConnectivityService: Implement VPN callbacks to update DNS servers.
Change-Id: I7b5063f0344a2a5c2754600386982e870adc1161
2011-07-19 17:15:41 -07:00
Wink Saville
782ed09f2f am 57aebc61: am f679d4cb: Merge "Fix FeatureUser leak in ConnectivityService" into honeycomb-LTE
* commit '57aebc6109f2059ba335a02bf95928a494cff4ba':
  Fix FeatureUser leak in ConnectivityService
2011-07-19 12:42:01 -07:00
Wink Saville
57aebc6109 am f679d4cb: Merge "Fix FeatureUser leak in ConnectivityService" into honeycomb-LTE
* commit 'f679d4cb92b6d1c193a154abb5ae8fb3a786fc43':
  Fix FeatureUser leak in ConnectivityService
2011-07-19 12:39:42 -07:00
Kazuhiro Ondo
3bed4c9f50 Fix FeatureUser leak in ConnectivityService
In case infinite restoral timer is used for a network feature,
FeatureUser could be keep added but never released if a user
is keep calling "startUsingNetworkFeature".

This patch will add duplication check when adding a FeatureUser
into the list in case infinite restoral timer is used.

Bug: 5043513
Change-Id: I47e7076e217f201454fae33ce596ecdc63cf7908
2011-07-19 12:02:01 -07:00
Robert Greenwalt
c96e6ccec9 Start default connections on startup.
On devices with mobile data we were kind of doing this in Telephony.
Devices without could use this.

bug:5030831
Change-Id: I9940561e88e43917bc8e638f5c3b15fced3821ae
2011-07-15 11:16:45 -07:00
Robert Greenwalt
ef75edaf0f am e1635197: am 476f5525: Small fix to 5008973 fix.
* commit 'e1635197bb6e6471b333d194855bb399da419957':
  Small fix to 5008973 fix.
2011-07-15 11:03:52 -07:00
Robert Greenwalt
d9212d3088 resolved conflicts for merge of 8550f3b8 to master
Change-Id: If2881b8b7faea5139af83a37cba04ccac5904f81
2011-07-15 10:52:54 -07:00
Robert Greenwalt
e1635197bb am 476f5525: Small fix to 5008973 fix.
* commit '476f55253adc670d7290ad8c90b5adc9e4f58d3b':
  Small fix to 5008973 fix.
2011-07-15 10:20:48 -07:00
Robert Greenwalt
8550f3b86a resolved conflicts for merge of 0a46db5d to honeycomb-plus-aosp
Change-Id: I0f1bea54d999ab3ef10400ee67bd4d3b2a5d1783
2011-07-15 09:55:48 -07:00
Robert Greenwalt
476f55253a Small fix to 5008973 fix.
Removed redundent log.
Cleaned some logic.
Will try to modify route even if recursive operation had an error.

bug: 5008973
Change-Id: Ie2ca51cc39cfac027a8a2e2eaddcb7d6c378c4da
2011-07-15 09:45:08 -07:00
Robert Greenwalt
0a46db5d88 Apply the dns and route diff which we get a change
bug:5008973
Change-Id: Ib99e43d9d852452cc1f2aea6bef07bbd194f28cc
2011-07-14 18:12:14 -07:00
Chia-chi Yeh
5779c9c2d9 VPN: close the socket in protectVpn() to avoid leaking descriptors.
Change-Id: Idda0c2ea1770abc490566e894711bcb08f60b354
2011-07-14 16:19:19 -07:00
Wink Saville
c9822c5aea Fix build.
Changes in ConnectivityService in hc-LTE when merged with changes
happening in Master caused the build to break.

Change-Id: I92a0b782ae58e9789b1e950c94ef966234fa94af
2011-07-14 12:23:28 -07:00
Wink Saville
76326a9d7d am 3810361e: am 6d1d16c3: Merge "Remove STOPSHIP but allow seamless Handoff when possible." into honeycomb-LTE
* commit '3810361e4a3e93d3c8a10aaeec54f65dfcc2d03d':
  Remove STOPSHIP but allow seamless Handoff when possible.
2011-07-14 10:55:58 -07:00
Wink Saville
3810361e4a am 6d1d16c3: Merge "Remove STOPSHIP but allow seamless Handoff when possible." into honeycomb-LTE
* commit '6d1d16c324a681dd966d47497a71a02eac512234':
  Remove STOPSHIP but allow seamless Handoff when possible.
2011-07-13 14:19:12 -07:00