Commit Graph

579 Commits

Author SHA1 Message Date
Jeff Sharkey
af82ea2abf Data cycle ends on last second of month.
When data cycle resets on a day invalid in given month, snap the
cycle to last second of month.  Previous behavior was to bump fully
into next month, but that causes cycle loops.

Includes tests to verify.

Bug: 4623124
Change-Id: I2f233091f6f1df33a2814284519cbc04532874e9
2011-08-04 17:07:08 -07:00
Jeff Sharkey
fe313490fb Merge "Network stats with varint, omit parcel fields." 2011-08-04 15:39:24 -07:00
Irfan Sheriff
d6d0628051 Merge "Rewrote DnsPinger - now is async and concurrant" 2011-08-04 15:34:47 -07:00
Chia-chi Yeh
b234636105 Merge "VPN: move away from the VPN permission." 2011-08-04 13:04:51 -07:00
Isaac Levy
d2fe04b71a Rewrote DnsPinger - now is async and concurrant
Change-Id: I93e1374ae857832935202614e34ce18f040fcfc7
2011-08-04 10:35:29 -07:00
Jeff Sharkey
63d27a9233 Network stats with varint, omit parcel fields.
Persist NetworkStatsHistory using variable-length encoding; since
most buckets have small numbers, we can encode them tighter. Initial
test showed 44% space savings. Also persist packet and operation
counters.

Let NetworkStatsHistory consumers request which fields they actually
need to reduce parcel overhead.

Tests for verify varint and history field requests, also verify end-
to-end by persisting history into byte[] and restoring. Expose
bandwidth control enabled state. Extend random generation to create
packet and operation counts. Moved operation counts to long.

Fix bug that miscalculated bytes since last persist, which would
cause partial stats loss when battery pulled.

Bug: 4581977, 5023706, 5023635, 5096903
Change-Id: If61e89f681ffa11fe5711471fd9f7c238d3d37b0
2011-08-03 17:21:07 -07:00
Jeff Sharkey
a841e52401 Merge "Expose quota status for active network." 2011-08-03 17:05:21 -07:00
Chia-chi Yeh
fcc1b41b66 VPN: move away from the VPN permission.
VpnBuilder will be replaced by VpnService in the next change.

Change-Id: I2dea67a1616b74d17b372f7b214d207f1617198e
2011-08-03 15:52:12 -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
Robert Greenwalt
5a8921fdda Stop creating threads for each MDST.
Response to email from the framework team.

Change-Id: I8fec9cfbc3364c2c2a16156afc2414d06c675de7
2011-08-02 12:55:48 -07:00
Jeff Sharkey
d20482de2f Merge "Add operation counts to network statistics." 2011-08-01 16:33:50 -07:00
Chia-chi Yeh
e1538f0558 Revert "Unhide APIs for user space VPN."
This reverts commit 3c2529c717.

Change-Id: I37d4ea6c1079d337ede7ac567d88414a41fc1e11
2011-08-01 14:06:58 -07:00
Jeff Sharkey
a63ba59260 Add operation counts to network statistics.
Provide API to increment "operation counts" for a UID and tag, used
to eventually derive bytes/operation stats.  Internally is stored at
network layer, but should belong at data layer.  Switch profiling
to use data layer stats, which are emulated by summarizing network
layer details.

Read packet counts from new /proc/ columns and collect them into
NetworkStatsHistory.  Prevent double-counting by ignoring values from
first snapshot.  Watch for duplicate /proc/ entries.  Update tests
to verify packet and operation counters.

Bug: 5052136, 5097392
Change-Id: I1832f65a2b8a9188f8088f253474a667c21a2f09
2011-07-29 22:24:01 -07:00
Robert Greenwalt
be591d736e am 86574d66: am 0d8acea9: Make copy-constructor make deep copy.
* commit '86574d66dacc09c9b5a0a0ab2623ec01704b6fc8':
  Make copy-constructor make deep copy.
2011-07-29 09:24:38 -07:00
Robert Greenwalt
86574d66da am 0d8acea9: Make copy-constructor make deep copy.
* commit '0d8acea9bb452d1fdbb3d811041f7bdb1b0ef8a3':
  Make copy-constructor make deep copy.
2011-07-29 09:20:51 -07:00
Robert Greenwalt
0d8acea9bb Make copy-constructor make deep copy.
Used to grab immutables but now will copy the data so the result
is mutable and we don't get crashes.

bug:5051667
Change-Id: I0878bf8c58069055f528121541d1911f404cbe49
2011-07-28 17:21:25 -07:00
Kristian Monsen
77d739006a Merge "Part of fix for bug 4997380: Some error types unknown to SslError" 2011-07-28 06:50:40 -07:00
Jeff Sharkey
2043b01b20 Merge "Maintain separate "restrict background data" flag." 2011-07-27 22:08:02 -07:00
Jeff Sharkey
4664500de0 Maintain separate "restrict background data" flag.
Since "restrict background" depends on active networks, separate its
definition from setBackgroundDataSetting().

Bug: 4979025
Change-Id: I12bfe3a2e606375b39c67706270caa7a1bb0214e
2011-07-27 21:11:32 -07:00
Chia-chi Yeh
fcbb492486 Merge "Unhide APIs for user space VPN." 2011-07-27 18:35:51 -07:00
Jeff Sharkey
41ff7ec824 Revise data limit notifs, watch kernel alerts.
Teach NetworkPolicy limits to "snooze" when requested by user, and
notify with both dialog and notification.  Register for network alerts
through NMS to trigger updates immediately instead of waiting for
next stats update.

Enforce that all NetworkPolicy are unique on a template basis, and
move SCREEN_ON/OFF broadcasts to background thread.  Launch SystemUI
and Settings directly instead of using actions, and include full
NetworkTemplate in extras.

Tests to verify notification and snooze behavior.

Bug: 5057979, 5023579, 4723336, 5045721
Change-Id: I03724beff94a7c0547cb5220431ba8d4cd44d077
2011-07-27 09:31:39 -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
37e433fd1c Fix build.
Add NetworkUtils function missed in manual merge.

Change-Id: Ifce8f2988bb581ddc9b971b8af07a32f46c91e14
2011-07-25 14:00:42 -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
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
JP Abgrall
b6055fe747 Merge "NetworkManagementService: receive bandwidth controller events" 2011-07-21 18:44:52 -07:00
Chia-chi Yeh
3c2529c717 Unhide APIs for user space VPN.
Change-Id: I2d9e5a8a3ee8556626e373bfdc93c809dad40bff
2011-07-21 18:26:46 -07:00
Chia-chi Yeh
6abf39879a VPN: add VpnBuilder as the public API of user space VPN.
Change-Id: I5d30cf592bead315509038632647c88de5060e50
2011-07-21 15:37:16 -07:00
Alon Albert
eaef351afc Add a getter for the active tag
Change-Id: I597e041867fba7efae41feea63fa196bc10e4aa2
2011-07-19 22:04:22 -07:00
Jeff Sharkey
02e21d6a5b Data usage notifs, newly installed apps, defaults.
Only show warning/limit notifications for active networks, since they
aren't actionable for inactive IMSI.  Include IMSI in debug output on
engineering builds.

Move default policy warning to be configured through overlay.  Watch
for newly installed packages to enforce global policy.

Bug: 5038729, 5038541, 4979026, 5023634
Change-Id: I8fc8ab4c23c440a3091504ea16133ed6ababf58e
2011-07-17 16:28:02 -07:00
Robert Greenwalt
d9212d3088 resolved conflicts for merge of 8550f3b8 to master
Change-Id: If2881b8b7faea5139af83a37cba04ccac5904f81
2011-07-15 10:52:54 -07:00
Jeff Sharkey
4e814c348c Hide NetworkTemplate details, buffered stats I/O.
Move template matching to builder methods instead of exposing the
internal constants.  Also rule to match Ethernet usage.  Buffer
reading and writing of network stats, making operations 5x faster.

Change-Id: Iedb2d0ab3b26a976811c050f84a164e909eb74b6
2011-07-14 20:43:27 -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
JP Abgrall
12b933d0d9 NetworkManagementService: receive bandwidth controller events
This is a 1st pass at receiving events that indicate
some quota has been reached e.g. warning quota, data collection quota,
 cutoff quota,...

It needs:
  - new kernel with quota2 logging support
  - new net:bandwidthcontroller that supports
    . quota2,
    . setting alerts.
  - new NetlinkEvent/NetlinkManager/NetlinkHandler to process
     NETLINK NFLOG messages.

Change-Id: Ibfbb13512c5350cdee0e544ec14caa6f59812409
2011-07-14 18:09:22 -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
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
Kristian Monsen
1abd5b3e6f Part of fix for bug 4997380: Some error types unknown to SslError
Mapping chromium error codes from net/base/net_error_list.h to
SslError codes.

Change-Id: Ie4f98974e23969c3b5ae1f8c4413772cf93603b9
2011-07-13 22:09:01 +01:00
Wink Saville
e822225f7a Remove STOPSHIP but allow seamless Handoff when possible.
If an address is removed we must reset the connection but
only for the connections associated with that address. For
now we're doing the "all" addresses for a type (IPv6 or IPv4)
in the future we only need to reset a particular addresses
connections.


Bug: 4981919
Change-Id: I97f8071a3ed6f827ed22f32216ca5011bfe6c1d9
2011-07-13 13:44:13 -07:00
Jeff Sharkey
3862096cbf Merge "Include full network history around current time." 2011-07-12 20:23:03 -07:00
Jeff Sharkey
434962e44e Include full network history around current time.
When requesting historical values with time ranges, always include
full values for buckets that span current time.  (It doesn't make
sense to interpolate partial data.)  Move getTotalData() to return
full Entry objects to prepare for packet counts.

Bug: 4691901
Change-Id: I717bd721be9f1d4a47c4121e46e07a56cb15bbf1
2011-07-12 20:20:56 -07:00
Elliott Hughes
7b91b31e28 Fix typo in AndroidHttpClient JavaDoc.
Bug: http://code.google.com/p/android/issues/detail?id=14788
Change-Id: I7465c6c42e7b208efc9c954ac46c1b683676106e
2011-07-12 16:02:50 -07:00
Jeff Sharkey
d37948f6ed Hide NetworkStatsHistory internals.
Instead of exposing internal storage details, offer getValues()
accessor which populates values into a recycled structure.

Change-Id: I5228d7099a8f61b2018a435a813435a67dae49b4
2011-07-12 13:57:06 -07:00
Jeff Sharkey
fd8be3e5e7 Return stats from inactive ifaces, packet counts.
When an iface goes inactive, xt_qtaguid maintains historical counters
instead of discarding.  Now reading and returning those values in
NetworkManagementService summary calls.  Tests to verify stats are
returned.

Modify NetworkStats to include rxPackets and txPackets values, and
move to Entry to eventually hide internal storage details.

Bug: 4984539
Change-Id: I1ba0bb5580c62e946d9dff2cc2a6f64aff403efc
2011-07-11 14:39:56 -07:00
Wink Saville
ae367419df resolved conflicts for merge of e4a56a32 to master
Change-Id: I50f8fe61303efa78f5d450ddda1483e0ecb81d12
2011-07-08 12:49:14 -07:00
Wink Saville
8171e6f690 Use resetConnections with resetMask.
Bug: 4981919
Change-Id: I5dec2da0756d5083bc81494fd583672704537694
2011-07-07 16:17:06 -07:00