Commit graph android_packages_modules_Co.../services/java/com/android/server/ConnectivityService.java
Message SHA1
Isolate NetworkStateTracker creation, test.
Change ConnectivityService to use a factory when creating
NetworkStateTrackers, which gives us a good place to inject mocks
for testing.  Add initial tests to verify that network routes are
added and removed as networks changed.

Change-Id: I11cbc61a84c2ed4afa2670036295b1494eab26e1

Jeff Sharkey   commited 2012-08-08 16:23:41 -07:00
6b9021d76c
Make generic BaseNetworkObserver.
This makes it easier to add new INetworkManagementEventObserver events
in future.

Change-Id: I432263d745558de4b878f313c1951230ed9db2b1

Jeff Sharkey   commited 2012-08-05 14:32:41 -07:00
60e6c1ac06
Split NST handler events away from CS internals.
Instead of sharing event space, use a different handler backed by
the same looper.

Change-Id: I11f1e4701c341665770ca640f3cba0c295bb7561

Jeff Sharkey   commited 2012-07-26 14:09:09 -07:00
a1ef1bec2a
Network data activity change intent for network interfaces.
The activity notification is received from netd, an intent
DATA_ACTIVITY_CHANGE is then raised for other part of the system to
consume.

Change-Id: Idfcc4763c51c5b314c57f546c12557082f06bebf

Haoyu Bai   commited 2012-07-17 17:13:03 -07:00
b5da575fc7
Create telephony-common and mms-common
These have been created to reduce the size and complexity
of frameworks/base.

mms-common was created by moving all of
  frameworks/base/core/java/com/google/android/mms
to:
   frameworks/opt/mms

telephony-common was created by moving some of
   frameworks/base/telephony
to:
   frameworks/opt/telephony

Change-Id: If6cb3c6ff952767fc10210f923dc0e4b343cd4ad

Wink Saville   commited 2012-07-11 16:02:08 -07:00
64e3f78abb
Modify logging to debug this issue
Logging exec time on startUsingNetworkFeature as we've had some reports suggesting it's
causing ANRs.
Remove some logging from NDC so it's local log is more useful.

bug:6492166
Change-Id: I258ff6c59bff2c65935242d50496d84720c5d493

Robert Greenwalt   commited 2012-05-24 10:47:10 -07:00
1e6991edcf
Block metered APNs when app is restricted.
When an app is restricted in the background, don't allow them to
start using metered network features. With this change they can
still use network features when in foreground. This avoids situation
where apps can bring up APNs which they are unable to use.

Bug: 5838267
Change-Id: I3ac96f2a545f67cba1ef12b8536cfd0da769d955

Jeff Sharkey   commited 2012-05-02 16:52:43 -07:00
edf85d4d5f
Add bit to eventlog to handle new network types
bug:5514930
Change-Id: I29288cb39902578992ee53b171f228f8eeb407fd

Robert Greenwalt   commited 2012-04-25 14:31:08 -07:00
310fa08670
Merge "Stop complaining about failure to remove routes"
Robert Greenwalt   authored and   Android (Google) Code Review   commited 2012-04-24 09:28:45 -07:00
aabfae0bc8
Stop complaining about failure to remove routes
We often get told a network has gone away after the interface is downed
and the routes are auto-removed.  Change the log to VDBUG so standard
builds don't have the noise.

bug:2856577
Change-Id: If12ec3ed3b646ff6ef89b3778d037cfc478c0d25

Robert Greenwalt   commited 2012-04-23 18:00:37 -07:00
436db35a92
Add ALLOW_METERED column to DownloadManager.
Also allow isActiveNetworkMetered() to inspect networks without
requiring ACCESS_WIFI_STATE.

Bug: 3001465
Change-Id: Ibc23577d4ad941e4f93db417be6b046881dcbfb1

Jeff Sharkey   commited 2012-04-18 10:12:09 -07:00
3022ee14a2
API to report if active network is metered.
Report to developers if active network is "metered" and define it
as the user being sensitive to heavy data usage.

Bug: 3001465
Change-Id: I855ca3cd3eb1de3c4814148d70ccf24957af898a

Jeff Sharkey   commited 2012-04-16 11:20:27 -07:00
d00b130332
Fix the bug net.dns1.pid is same as net.dns2.pid
writePidDns() does not increase the index in case first given dns
already exist in the property.

Change-Id: I1129d0042929b3ee119160e53cae0e4143c7ea88
Signed-off-by: yoonsung.nam <yoonsung.nam@samsung.com>

yoonsung.nam   authored and   Robert Greenwalt   commited 2012-03-02 10:23:03 -08:00
48d1833b15
Send broadcast when changing restrict background.
When changing global restrict background status, send connectivity
change broadcast, since it radically changes DISCONNECTED/BLOCKED
status system-wide.

Also reduce verbose stats logging.

Bug: 5854466
Change-Id: I3b612c520f50cc3000a3a569b7e0ab5f691cc2bd

Jeff Sharkey   commited 2012-02-07 12:08:58 -08:00
b1b6ccd157
Add additional debug
When ConnectivityService#startUsingNetworkFeature is called and the
special network is not available output some additional information.

Change-Id: I34b226a208596fa6418f1f37a0feec1d274d493c

Wink Saville   commited 2012-01-25 13:47:54 -08:00
5030c0534f
Merge "Stop using shared DUN APN when tethering stops."
Robert Greenwalt   authored and   Android (Google) Code Review   commited 2012-01-20 14:35:41 -08:00
83b1fc9643
Disable wimax when mobile data is in Settings
- Add wimax related code in handleSetMobileData to disable wimax when Moblie data is disabled (Settings -> Wireless & Networks - More -> Mobile Networks ->Data Enabled)

Change-Id: Ibf2d9da2eb90d161128005f26ac4b3e991526af4
Signed-off-by: tk.mun <tk.mun@samsung.com>

tk.mun   authored and   Robert Greenwalt   commited 2012-01-06 10:32:54 -08:00
5eee104218
Stop using shared DUN APN when tethering stops.
Even if other people are sharing the connection (ie, carrier wants
default and tethered traffic on the same APN) stop using
a carrier-described APN when the tethering stops.

bug:5525764
Change-Id: I95ed2aaed4d79519d233a62cf2945edead8114bc

Robert Greenwalt   commited 2012-01-03 16:32:04 -08:00
7fa3bdb746
Fix NPE in ConnectivityService.
If it's configured with a defined network but can't create a network state tracker
for it, it would NPE and restart the framework whenever a default network
disconnects.

bug:5603268
Change-Id: I816c4f522d766e0353a713623f6635b03395b01e

Robert Greenwalt   commited 2011-11-11 09:56:03 -08:00
bc026d0ad8
Fix Wimax-less build.
A build with the wimax network type defined but wimax disabled
causes an NPE in ConnectivityService's constructor.

bug:5237167
Change-Id: I929eac217e1afa0e61346fdbc3e96a7d3ad09a54

Robert Greenwalt   commited 2011-11-10 17:14:05 -08:00
cafd8583a1
Fix build.
Missed a commit that fixed some issues.
bug:5237167

Change-Id: I61e44831e2c3f1cf613ca1387aa95d712b7d2ded

Robert Greenwalt   commited 2011-11-08 10:12:25 -08:00
e72c4aca58
Wimax : wimax framework related open source.
Integrate wimax network related changes into Android Framework.
- In Connectivity service, start wimax service.
- 4G icon display in StatusBarPolicy.
- DHCP renew add.
- Add radio for wiamx

Change-Id: I2d9012247edfdf49d71ca7e1414afd0006f330ca
Signed-off-by: tk.mun <tk.mun@samsung.com>
bug:5237167

tk.mun   authored and   Robert Greenwalt   commited 2011-11-07 14:47:40 -08:00
093f55ca9c
Start using IP tool for advanced routing.
bug:5495862
bug:5396842
Change-Id: I5e31b352b14a4dc746cacce4d61cf8d9ad7382a0

Robert Greenwalt   commited 2011-11-04 09:52:04 -07:00
49c75d3db9
Temp disable Tethering if DUN is required
Getting source-based routing working is too risk for this point
in the project but tethering is broken otherwise, so disable
the tethering option if DUN is required until we can get a real
fix in.

bug:5495862
Change-Id: I5e852bf30c887599024a8b61af86ffec1d5333af

Robert Greenwalt   commited 2011-10-27 14:50:27 -07:00
274518a279
Move battery stats to xt_qtaguid for data stats.
Replace TrafficStats calls by reading values from xt_qtaguid kernel
module. To keep BatteryStatsImpl changes lightweight, cache recently
parsed stats. Tracks mobile ifaces from ConnectivityService.

Refactor xt_qtaguid parsing into factory outside of NMS. Add stats
grouping based on UID, and total based on limiting filters like iface
prefix and UID.

Bug: 4902271
Change-Id: I533f116c434b77f93355bf95b839e7478528505b

Jeff Sharkey   commited 2011-10-09 13:49:08 -07:00
aac2c50385
VPN: temporarily disable the default proxy when VPN is active.
Bug: 5361858
Change-Id: I99e84cce9c99ff1f5fdccbfd3bfb9cf496ac541c

Chia-chi Yeh   commited 2011-10-03 15:34:04 -07:00
763a11c5bd
ConnectivityService: detach the logic of global proxy.
The current implementation of global proxy is dead,
and it will be removed completely in separate changes.

Change-Id: I54f6b3960f761483d28d808e99db4c71c9c0348d

Chia-chi Yeh   commited 2011-10-03 14:04:42 -07:00
ae16661808
Revert "Tell the resolver what protocols to use."
Change Ife82a8d8 broke IPv6 on wifi. Change I4e3a69ea is
an alternate approach that does not require any framework
changes.

Bug: 5284168
Change-Id: Ib6e002aa23700adc71051cf6b76860545497dbf4

Lorenzo Colitti   commited 2011-09-28 23:07:03 -07:00
aa035385d3
Merge "Watch network subtype, tethering teardown, empty."
Jeff Sharkey   authored and   Android (Google) Code Review   commited 2011-09-25 23:44:10 -07:00
6d38bd1bc3
am c1abed5b: Merge "Tell the resolver what protocols to use." into ics-factoryrom
* commit 'c1abed5b5b':
  Tell the resolver what protocols to use.

Robert Greenwalt   authored and   Android Git Automerger   commited 2011-09-22 23:39:53 -07:00
bc75548c32
Merge "Tell the resolver what protocols to use." into ics-factoryrom
Robert Greenwalt   authored and   Android (Google) Code Review   commited 2011-09-22 16:57:43 -07:00
c1abed5b5b
Tell the resolver what protocols to use.
Stop guessing based on the connectivity of the default route and use the correct
v4/v6 proto for your pid.

bug:5284168
Change-Id: Ife82a8d8e54c0ace2bc9e8a624b11d29a4e285e2

Robert Greenwalt   commited 2011-09-22 16:43:15 -07:00
521aaa48e2
Watch network subtype, tethering teardown, empty.
Watch for changes to telephony network subtype, and update iface
mapping to persist stats under correct type.  Update network stats
before removing tethering NAT rules.

Skip recording that would create empty historical buckets.  Query UID
stats before iface stats to always skew positive when counters are
actively rolling forward.

Bug: 5360042, 5359860, 5335674, 5334448
Change-Id: I8aa37b568e8ffb70647218aa1aff5195d3e44d5a

Jeff Sharkey   commited 2011-09-22 16:19:06 -07:00
b6188a1aac
am 904fb9d7: Merge "Notify people of empty proxies too." into ics-factoryrom
* commit '904fb9d79cc72879e4c6767c219ec78feda8e62b':
  Notify people of empty proxies too.

Wink Saville   authored and   Android Git Automerger   commited 2011-09-22 10:53:40 -07:00
693ee83a6c
Notify people of empty proxies too.
We were telling people when the proxy changed, except if it was changed to null.
bug:5263946

Change-Id: I83416dac8fe992168a8aafd5676f9faee4e484d0

Robert Greenwalt   commited 2011-09-21 16:37:34 -07:00
90b574ef05
am 4aa8d943: Merge "Reduce connectivity logging" into ics-factoryrom
* commit '4aa8d943a970008915b703758743b107927d96fa':
  Reduce connectivity logging

Wink Saville   authored and   Android Git Automerger   commited 2011-09-21 14:14:28 -07:00
933cb47f64
Reduce connectivity logging
Change-Id: I5d45b8fbcd01e42df7f2b1cf02fb5b226128abb8

Wink Saville   commited 2011-09-21 11:05:43 -07:00
a7d56571c2
Change hostname format to conform to specification
Underscore is not allowed as per RFC 952

Bug: 5348537
Change-Id: I618c137fd54ecf36cece3b9eba39c51cda3aeac3

Irfan Sheriff   commited 2011-09-20 15:22:00 -07:00
4aa0b2ece5
Collect and persist tethering stats.
Use new "gettetherstats" netd command to retrieve statistics for
active tethering connections.  Keep tethering poll events separate
from UID poll, even though they end up same historical structures.

Bug: 5244846
Change-Id: Ia0c5165f6712c12b51586f86c331a2aad4ad6afb

Jeff Sharkey   commited 2011-09-16 16:05:51 -07:00
300f08f094
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

Robert Greenwalt   commited 2011-08-31 16:53:12 -07:00
0114f6e8e9
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

Jeff Sharkey   commited 2011-08-29 16:10:43 -07:00
971cd16561
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

Jeff Sharkey   commited 2011-08-23 18:45:44 -07:00
805662d8fa
Merge "Background data notification, API clean up."
Jeff Sharkey   authored and   Android (Google) Code Review   commited 2011-08-18 15:01:10 -07:00
e612a38faa
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

Jeff Sharkey   commited 2011-08-17 14:12:42 -07:00
39c01ebcce
Merge "P2p enhancements"
repo sync   authored and   Android (Google) Code Review   commited 2011-08-16 14:50:56 -07:00
7c309101fe
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

Chia-chi Yeh   commited 2011-08-16 10:08:33 -07:00
4a243f5ea1
Flush central DNS cache when things change.
Flushes the cache for an interface when
either routes or DNS servers change.

Change-Id: I021305f781be669aaa12074dc1cc21511f49eac4

Robert Greenwalt   commited 2011-08-15 14:26:53 -07:00
8d77725fa7
P2p enhancements
- ConnectivityService interaction and support for running dhcp server
and client

- State machine enhancements for connectivity interaction

Change-Id: Iba3beb8c87554ffd67a7b7e852bbb4dd8666a4f5

repo sync   commited 2011-08-10 15:53:49 -07:00
f5de557544
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

Robert Greenwalt   commited 2011-08-09 16:52:58 -07:00
08ae9bc349
resolved conflicts for merge of 0e9cd3b2 to master
Change-Id: I026b01805c81d8b26d22e4a195e5e38655a34d32

Wink Saville   commited 2011-08-05 11:40:22 -07:00
7e4333cbab