Commit Graph

2026 Commits

Author SHA1 Message Date
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
Dianne Hackborn
522f038eec More work on device idle mode and other power stuff.
Add idle mode support to the alarm manager.  Introduce
a new concept of flags associated with alarms to tell
the alarm manager how to treat the alarm -- they allow
everything from the alarm that will bring us out of idle
mode, to alarms that are allowed when idle or should
also bring us out of idle.  The standalone boolean is
now also a flag.

(Note there is currently no protection from user space
setting the flags however it wants; I will be working
on that in a follow-up change.)

When in idle mode, the alarm manager pushes all alarms
that shouldn't execute during that time over to a
separate list that is not executed until out of idle.
To help with this, I reworked a bit how Alarm objects
are managed, so that when rebatching or moving between
lists we don't have to allocated new objects but can
just use the same existing instance.

Also tweaked the sync manager to deal with idle mode,
which currently just means doing the same thing as when
low on storage -- turning off sync.

Add new ACTION_CHARGING and ACTION_DISCHARGING broadcasts
that apps can listen for to know when the device is actively
charging and discharging.  These are better than the old
POWER_CONNECTED and POWER_DISCONNECTED ones because we only
report charging when we actually see that there is enough
power being provided to charge the battery (and will report
discharging if there is not enough power).

The job controller uses these new actions for scheduling
jobs that want to run while plugged in.  Removed the
"stable charging" stuff while doing so, since the new
charging state serves as an even better signal for that.

Introduced two new process states: FOREGROUND_SERVICE and
TOP_SLEEPING.  This will allow us to treat foreground services
specially (such as still allowing network access to them for
background music playback) while not mixing them together with
whatever happens to be the top activity while the device is
asleep.

Also some other small cleanup here and there.

Change-Id: I7a9808b578bad6f50deb8e1baf919298512a0d3a
2015-04-09 14:05:17 -07:00
Qiwen Zhao
9f11a94d24 Merge KDataBinder/ from platform/vendor/google/prototypes/data-binding to tools/data-binding/ 2015-04-08 15:58:36 -07: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
Adam Lesinski
ff3fc4c97d Adding per UID WiFi power distribution.
Change-Id: I88c539074607d7261f6c5cf1dbae47c3cf53f253
2015-04-07 11:37:10 -07:00
Bart Sears
ac46e19cc6 Merge "Revert "Adding per UID WiFi power distribution."" 2015-04-07 06:19:55 +00:00
Bart Sears
0e40aa8377 Revert "Adding per UID WiFi power distribution."
This CL is breaking the clockwork settings app in master.  Reverting
until Adam has a chance to investigate.

This reverts commit 5ab174bac0.

Change-Id: Ieb11423c11cf9874a6175dce49843d0e1080c590
2015-04-07 06:14:04 +00: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
Adam Lesinski
5b0e313699 Merge "Adding per UID WiFi power distribution." 2015-04-07 01:53:00 +00:00
Adam Lesinski
5ab174bac0 Adding per UID WiFi power distribution.
Change-Id: Ia3d97e0a1c3352127185c18626d8ba8221c9ab40
2015-04-06 18:36:06 -07:00
Chong Zhang
db4bbfecdd Merge "fix the flash caused by missing setMatrix() when surface size changes" 2015-04-06 21:35:15 +00:00
Robert Greenwalt
6ee271c0b3 am 0270d86a: am 778f47e5: am 069f4cbc: Merge "Fix memory leak in Connectivity Service when phone app crashes"
* commit '0270d86ab755dabb7d20013dcb591d3facbe1a08':
  Fix memory leak in Connectivity Service when phone app crashes
2015-04-06 18:17:28 +00:00
Maunik Shah
d1027f5338 Fix memory leak in Connectivity Service when phone app crashes
Upon crash of com.android.phone process, NetworkFactoryInfo is
not getting removed from HashMap and will get accumulated on
every start of the process.

Change-Id: Iafde28daddfc82728c03208522682b1efc85a121
2015-04-04 21:48:24 +05:30
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
Stuart Scott
0f835acb91 Move reset network settings into framework.
bug: 16161518
Change-Id: Ic3b537ebd09d1b9723feff9dcc96e20fda05a94f
2015-03-30 18:02:55 -07:00
The Android Automerger
b254d603ad merge in master-release history after reset to master 2015-03-28 01:05:55 -07:00
Wenchao Tong
fdf2267b50 Keep debug information in NetworkStats files
Create two special SETs.

SET_DBG_VPN_IN is used by individual applications to know
how much traffic of the NetworkIdentity was actually moved
from a VPN app.
SET_DBG_VPN_OUT is used by the VPN app to know how much
traffic of the NetworkIdentity was deducted.

A debug application can restore the raw stats by these
entries.
  raw_traffic = recorded_entry (TAG_NONE, SET_ALL)
              + recorded_entry (TAG_NONE, SET_DBF_VPN_OUT)
              - recorded_entry (TAG_NONE, SET_DBF_VPN_IN)

The two debug SETs are not returned by
NetworkStatsService.openSession(). These debug entries are
retrieved by NetworkStatsCollection.dump().

Bug: 19536273
Change-Id: I03ef9f7667f5f2f48cbe3f6b11447fe7ead8ad3b
2015-03-27 13:49:13 -07:00
The Android Automerger
feba983610 merge in master-release history after reset to master 2015-03-26 01:03:50 -07:00
Prerepa Viswanadham
5d4c045bcf Merge remote-tracking branch 'goog/mirror-m-wireless-internal-release' into master_merge
Change-Id: I49aab437af220f1139cfd2d0a9c362acce31074e
2015-03-24 13:46:08 -07:00
The Android Automerger
97966560e1 merge in master-release history after reset to master 2015-03-21 01:03:05 -07:00
Paul Jensen
703642c635 Merge "Make NetworkCapabilities.NOT_VPN javadoc visible." into m-wireless-dev 2015-03-20 11:27:18 +00:00
Lorenzo Colitti
ddf811b950 Add a protectFromVpn method that takes a FileDescriptor
Bug: 19704592
Change-Id: I9aeb29c2f6cf55fa010bc606c99b21a797ac5a19
2015-03-20 16:32:40 +09:00
Lorenzo Colitti
06b991f444 DHCP: Add a native method for making a DHCP socket.
Bug: 19704592
Change-Id: Iadd60d39c93aaabd2917e76791101a7d313b34be
2015-03-20 16:32:35 +09:00
Lorenzo Colitti
2af6f557df Add two utility methods for IPv4 netmasks.
1. Add a validating method to convert a netmask to a prefix length.
2. Add a function to get the implicit netmask of an IPv4 address.
3. Add a unit test.

Bug: 19704592
Change-Id: Icb9f58d3903ea01df9e3720383c9bd5db6dd8f26
2015-03-20 16:32:34 +09:00
The Android Automerger
8a0989c3da merge in master-release history after reset to master 2015-03-19 01:04:31 -07:00
Alan Viverette
501ecd6dac Replace usages of deprecated Resources.getColor() and getColorStateList()
Change-Id: I8f64fe6c4c44a92ff6d07250223ba590a1d691b0
2015-03-18 18:37:18 -07:00
Paul Jensen
8357dfd520 Remove dead code, mostly DataStateTracker.
(cherry picked from AOSP commit 9edb1fc511)

Change-Id: I18c44cd08dfb51e02a96d0b726e9af1db21e3058
2015-03-18 12:29:13 -04:00
Paul Jensen
ba9c42f661 Make NetworkCapabilities.NOT_VPN javadoc visible.
Also adjust wording to be more suitable for NetworkRequests and NetworkAgents.

Change-Id: I1cc93cb20779cf02d6ffa0fa11ad2916c199b365
2015-03-18 09:33:07 -04:00
The Android Automerger
96c6021c19 merge in master-release history after reset to master 2015-03-18 01:02:56 -07:00
Erik Kline
5ccaadee2e Merge "Fix missing printf argument." into m-wireless-dev 2015-03-18 00:18:41 +00:00
Erik Kline
d687dc5da9 Fix missing printf argument.
Change-Id: Ifd1eebfbcefa06570882da54a1c410eabf26bce7
2015-03-18 08:41:42 +09:00
Erik Kline
94500b2aae Fix missing printf argument.
Change-Id: Ifd1eebfbcefa06570882da54a1c410eabf26bce7
2015-03-18 08:08:57 +09:00
Lorenzo Colitti
b85f0b44a7 Add a protectFromVpn method that takes a FileDescriptor
Bug: 19704592
Change-Id: I9aeb29c2f6cf55fa010bc606c99b21a797ac5a19
2015-03-17 19:46:12 +09:00
The Android Automerger
8d02cf0c6f merge in master-release history after reset to master 2015-03-17 01:03:04 -07:00
Lorenzo Colitti
1271037d00 Merge changes from topic 'dhcpclient' into m-wireless-dev
* changes:
  DHCP: Minor cleanups to the packet code.
  DHCP: Move the packet code to frameworks/base/services.
  DHCP: Add a native method for making a DHCP socket.
  DHCP: Add a superclass for DhcpStateMachine.
2015-03-16 12:12:42 +00:00
Lorenzo Colitti
0210a8c5d9 Merge "Add two utility methods for IPv4 netmasks." into m-wireless-dev 2015-03-16 12:11:37 +00:00
Lorenzo Colitti
c70fbac892 DHCP: Add a native method for making a DHCP socket.
Bug: 19704592
Change-Id: Iadd60d39c93aaabd2917e76791101a7d313b34be
2015-03-16 20:08:45 +09:00
Lorenzo Colitti
e82e0f0a8c Add two utility methods for IPv4 netmasks.
1. Add a validating method to convert a netmask to a prefix length.
2. Add a function to get the implicit netmask of an IPv4 address.
3. Add a unit test.

Bug: 19704592
Change-Id: Icb9f58d3903ea01df9e3720383c9bd5db6dd8f26
2015-03-16 16:07:36 +09:00
Vinit Deshpande
8d1c3be573 am "Refactor NetworkUtils interaction with DHCP."
merged from goog/mirror-m-wireless-internal-release
9def7be Refactor NetworkUtils interaction with DHCP.
2015-03-15 13:40:27 -07:00
The Android Automerger
9980c6e402 merge in master-release history after reset to master 2015-03-14 01:05:17 -07:00
Paul Jensen
051135c956 Fix javadoc braces for ConnectivityManager.EXTRA_NETWORK.
Change-Id: I5ad30a34f96e9e99a557b5bae9a30bfc08c89620
2015-03-13 14:06:12 -04:00
Lorenzo Colitti
6f7cccbc71 am 4a61eaf7: am 342a2a9a: Merge "Fix build, broken by https://android-review.googlesource.com/#/c/115890/"
* commit '4a61eaf784fb085e66a21e9e4d4fa8aeb6b41c2b':
  Fix build, broken by https://android-review.googlesource.com/#/c/115890/
2015-03-13 07:07:54 +00:00
Andreas Gampe
8679a46283 resolved conflicts for merge of b6b9fe21 to master
Change-Id: If4f62aa1fd8bb774288a677e7008e86a7e3ea6d9
2015-03-13 00:04:10 -07:00
Wenchao Tong
e164e0063b NetworkStatsService to adjust VPN stats before recording.
* Creates a new Parcelable class VpnInfo to hold required
  parameters for VPN stats adjustments.
* ConnectivityService to collect infomation and provide
  a list of VpnInfo, one for each user.
* NetworkStatsService passes the VpnInfo array to
  NetworkStatsRecorder.
* NetworkStatsRecorder calls NetworkStats.migrateTun()
  to do the math.
* Poll NetworkStats when the vpn application calls
  setUnderlyingNetworks().

Bug: 19536273
Change-Id: I7a4c7726b8243fead10416f7ec6eb5cf95f20183
2015-03-12 17:43:41 -07:00
Wenchao Tong
79ec5b8656 Merge "NetworkStats to support VPN accounting." 2015-03-12 22:10:56 +00:00