Commit Graph

2511 Commits

Author SHA1 Message Date
Jeff Sharkey
d985d3f505 resolve merge conflicts of 59ad404 to nyc-mr1-dev-plus-aosp
Change-Id: I65f892594034c6de4ac17459c01e146fe4c4e377
2016-04-25 15:52:11 -06:00
Jeff Sharkey
ea4037847d API changes for DownloadManager and JobScheduler.
To support moving DownloadManager, add new JobScheduler network type
constraint that matches "any network except roaming."  Also add an
API to get a specific JobInfo by ID.

Since the default network can be different on a per-app basis, and
individual apps may be blocked due to app standby, evaluate job
connectivity constraints on a per-UID basis.  To implement this
cleanly, add NetworkInfo.isMetered() to match the isRoaming() API.

Add new DownloadManager APIs to support charging and device idle
constraints, which are plumbed through to JobScheduler under the
hood when scheduled.

Add filtering to JobScheduler dumpsys to omit noisy details for
packages the caller isn't interested in.

Bug: 28098882, 26571724, 19821935
Change-Id: I09ca7184ef7ce6adba399f579d415a5fb2ea6110
2016-04-24 14:39:34 -06:00
Hugo Benichi
5fb9102975 Merge "Split network monitoring and portal probe events" into nyc-dev am: 784c93e372
am: a89d8bbc8d

* commit 'a89d8bbc8d92a9c2f607a92f044cdbcc53c3b269':

Change-Id: If985ed98593c2248bb16c998e5fc8898bf48bd7f
2016-04-22 09:55:38 +00:00
Hugo Benichi
0c1f013ba2 Merge "Split network monitoring and portal probe events" into nyc-dev am: 784c93e372
am: cbb0d77bcd

* commit 'cbb0d77bcdacc50f130eeb93f9ef2285c6dfcaf9':
  Split network monitoring and portal probe events

Change-Id: I8c1169d61ca526449beb4509005ceae4b3dca51e
2016-04-22 09:53:19 +00:00
Hugo Benichi
a89d8bbc8d Merge "Split network monitoring and portal probe events" into nyc-dev
am: 784c93e372

* commit '784c93e372ff8ba8ca59499a8e35d83e5bd71c1a':
  Split network monitoring and portal probe events

Change-Id: I1e9208a9c8cd178ec31edf1755cc82db980b9071
2016-04-22 09:51:01 +00:00
Hugo Benichi
a616d96929 Split network monitoring and portal probe events
This patches changes how captive portal tests and network lifecycle
events are logged as connectivity events:
  - it splits NetworkMonitorEvent into two event classes:
      - ValidationProbeEvent for logging individual probe events.
      - NetworkEvent for logging network connection, validation,
        lingering, and disconnection.
  - it removes the redundant CaptivePortalCheckResultEvent class.
    The information logged in CaptivePortalCheckResultEvent was already
    logged by NetworkMonitorEvent, but missing the evaluation durations.
    It is now logged by ValidationProbeEvent.
  - it removes the CaptivePortalStateChangeEvent class, which is now
    redundant with NetworkEvent, but missing evaluation durations.

In addition, it adds event logging when ConnectivityService puts a
network into lingering or removes a network from lingering.

Bug: 28204408
Change-Id: I8f9752e4d36175ecfcbd1545a01a41bad6e06ea4
2016-04-22 17:08:56 +09:00
Paul Jensen
6f61176bb3 Merge "Cap number of NetworkRequests a UID can make to 100" into nyc-dev am: 4088540675
am: a16abc0cef

* commit 'a16abc0cefcb25700294374ee6ad76e407142b10':
  Cap number of NetworkRequests a UID can make to 100

Change-Id: I44df1d666f710f938951820227090c4dbbbb7293
2016-04-21 13:57:12 +00:00
Paul Jensen
a16abc0cef Merge "Cap number of NetworkRequests a UID can make to 100" into nyc-dev
am: 4088540675

* commit '40885406754e50c5e6f0b9ca2175f1b46062d692':
  Cap number of NetworkRequests a UID can make to 100

Change-Id: Ic664fa080316eff75dd22fc8e84431cb0eb903be
2016-04-21 13:54:53 +00:00
Paul Jensen
4088540675 Merge "Cap number of NetworkRequests a UID can make to 100" into nyc-dev 2016-04-21 13:47:13 +00:00
Android Build Merger (Role)
8ce11b2a84 Merge "Merge "Some fixes in ConnectivityService event logging" into nyc-dev am: 7261fb27de am: bab20bef0c" into nyc-mr1-dev-plus-aosp 2016-04-21 04:17:37 +00:00
Hugo Benichi
9e43e4b6cf Merge "Some fixes in ConnectivityService event logging" into nyc-dev am: 7261fb27de
am: bab20bef0c

* commit 'bab20bef0cd7083b66b876f9ea295d704b0f460d':

Change-Id: I7d2861350744e3bdefe6f4315d9a6de79d136e1c
2016-04-21 04:17:08 +00:00
Android Build Merger (Role)
1d983bc7e5 Merge "Merge "Some fixes in ConnectivityService event logging" into nyc-dev am: 7261fb27de am: bab20bef0c" into nyc-mr1-dev-plus-aosp 2016-04-21 04:15:41 +00:00
Hugo Benichi
d8fe76b264 Merge "Some fixes in ConnectivityService event logging" into nyc-dev am: 7261fb27de
am: eb8372d38c

* commit 'eb8372d38c31af196285d2fee60ae53adb113eca':
  Some fixes in ConnectivityService event logging

Change-Id: Ie356b2df2b84b36e6a2a52d3246ff434557ee89b
2016-04-21 04:15:10 +00:00
Hugo Benichi
217eb1a309 Merge "Some fixes in ConnectivityService event logging" into nyc-dev am: 7261fb27de
am: bab20bef0c

* commit 'bab20bef0cd7083b66b876f9ea295d704b0f460d':
  Some fixes in ConnectivityService event logging

Change-Id: Ib605d0f63a4b7477d56508213da8663cb681b1ef
2016-04-21 04:15:07 +00:00
Hugo Benichi
bab20bef0c Merge "Some fixes in ConnectivityService event logging" into nyc-dev
am: 7261fb27de

* commit '7261fb27de16bb6d3ebd81bd3b73062bd212ea7e':
  Some fixes in ConnectivityService event logging

Change-Id: I0ca861a1d35eb6cdb5490d04a725d64465eebc31
2016-04-21 04:12:56 +00:00
Hugo Benichi
41667a0ca3 Some fixes in ConnectivityService event logging
Bug: 28204408
Change-Id: I44ed9539bb213a845c2bcc2861c947af7c3c9ef4
2016-04-21 11:03:08 +09:00
TreeHugger Robot
79dd1fa78b Merge "Added onRestrictBackgroundWhitelistChanged callback." into nyc-dev am: 9724fba
am: c1eafaf

* commit 'c1eafafbdb0c5fbfbb3665fc8a04a68bfa55fe0e':

Change-Id: I2b3381b6f351a3f9dffa2b0ae1c2d50688b9ad85
2016-04-20 21:42:40 +00:00
TreeHugger Robot
87fef433bb Merge "Added onRestrictBackgroundWhitelistChanged callback." into nyc-dev am: 9724fba
am: 0627850

* commit '0627850430ba3dad041891de570e0d08e22c13d2':
  Added onRestrictBackgroundWhitelistChanged callback.

Change-Id: I278f8b4f8e29ea69b15e7bef9556c0ed0a81c82b
2016-04-20 21:11:50 +00:00
Felipe Leme
c1eafafbdb Merge "Added onRestrictBackgroundWhitelistChanged callback." into nyc-dev
am: 9724fba

* commit '9724fba83545fd075cbda62bb13cdc7820c7291a':
  Added onRestrictBackgroundWhitelistChanged callback.

Change-Id: I1ee90168f1cf29a117961ba1e269fbc89c7f443b
2016-04-20 21:10:41 +00:00
Paul Jensen
7f11b4f8b3 Cap number of NetworkRequests a UID can make to 100
This prevents DoSing ConnectivityService with too many requests.

Fixes: 27253080
Change-Id: Id0480d220b2f01b9ef1146bef8ead2fc8287e28d
2016-04-20 10:52:47 -04:00
Felipe Leme
56f0084553 Added onRestrictBackgroundWhitelistChanged callback.
When users add or remove an app to the Data Saver Mode whitelist, the
app is notified through a
ConnectivityManager.ACTION_RESTRICT_BACKGROUND_CHANGED. But besides this
broadcast, it's also necessary to notify internal apps such Settings,
hence a new method is being added to INetworkPolicyListener.

BUG: 27481520
Change-Id: I1537a77becf6b7da1535ed5faabdc894fd9f7084
2016-04-19 12:06:00 -07:00
Android Build Merger (Role)
94698f85b5 Merge "Remove unnecessary allocation+unboxing of objects. am: 846fa3e am: 4c1e2e3" into nyc-mr1-dev-plus-aosp 2016-04-18 10:38:02 +00:00
Narayan Kamath
83da731d08 Remove unnecessary allocation+unboxing of objects. am: 846fa3e
am: 4c89ae0

* commit '4c89ae0ee4f3d73d84843bf05cdc328b5e821da3':
  Remove unnecessary allocation+unboxing of objects.

Change-Id: I46f5ec0b9b8bc14073bcf7dc643bc909072d53ff
2016-04-18 10:36:37 +00:00
Narayan Kamath
4c1e2e3dee Remove unnecessary allocation+unboxing of objects.
am: 846fa3e

* commit '846fa3ec835626752a0d192db7e1eae873f06403':
  Remove unnecessary allocation+unboxing of objects.

Change-Id: Idfffa8fad0f6bcffa954752910524bdc879d65b7
2016-04-18 10:31:37 +00:00
Lorenzo Colitti
0bf762aaf9 resolve merge conflicts of 72fa0d4 to nyc-dev-plus-aosp
Change-Id: Id7f317a20e422b215efff89a5c71c9b445d18cf4
2016-04-18 17:58:31 +09:00
Narayan Kamath
846fa3ec83 Remove unnecessary allocation+unboxing of objects.
Transforming String->int can be done with 0 allocations
using Integer.parseInt.

bug: 28078871
Change-Id: I8d9f322d7154728849dde61ef282046032858d60
2016-04-18 09:55:59 +01:00
Lorenzo Colitti
ad458adea7 Disambiguate NetworkCallback JavaDoc.
The JavaDoc for many of the requestNetwork and
[un]registerNetworkCallback APIs incorrectly mentions the
PendingIntent version of the APIs instead of the NetworkCallback
version.

Also fix a minor issue in the registerDefaultNetworkCallback
JavaDoc: the default network request is an implementation detail,
so don't mention it. Instead, talk about the "system default
network".

Change-Id: Id94d98261daa2bd768c10e033cb8092729b21c91
2016-04-15 16:24:13 +09:00
Erik Kline
2e815d38ac Also log IPv4 and IPv6 connectivity of any previous default network
Change-Id: I07595c0a131fea21914f524949cd64af87403b88
2016-04-14 17:54:46 +09:00
Pierre Imai
dd55013f97 Log an event whenever we lose the default network.
Change-Id: Ia71865a90b2db5dc0d3ad627563a6b1f99686f04
2016-04-14 15:38:29 +09:00
Pierre Imai
b5cffc79fb Record the transport types for connectivity events.
BUG: 25691077
Change-Id: I40b6de5446325e717c0356603fd66cd395db9acb
2016-04-14 15:38:17 +09:00
Pierre Imai
d97107a879 Merge "Fix a memory leak in ConnectivityManager." into nyc-dev 2016-04-13 06:37:33 +00:00
Paul Jensen
7e261a101a Merge "If Internet probe is redirected, pass redirect destination to NetworkAgent." into nyc-dev 2016-04-13 01:33:37 +00:00
Dirk Dougherty
9262ac2d97 Merge branch \'mnc-mr-docs\' into mnc-ub-dev
am: 199565d  -s ours

* commit '199565d7a0656c0eae0eb626d3066fa3c1b7a74f': (546 commits)
  Update studio landing page and add all-new install flow docs. bug: 27850063 (update system reqs for 2.0) bug: 27725026 (update download page for 2.0) bug: 23908299 (clean up download and get started)
  docs: April 2016 Dashboard update
  docs: Added  new  partner logos to the car brands section of auto index page.
  Revert "Updates for Play" April Fool's joke.
  Updates for Play.
  docs: "Result is:" paragraph now in correct position on page.
  docs: Fixed namespace shown in a line of style XML
  docs: Add note about missing recording functionality in Live Channels
  docs: NDK r11c - release notes and downloads
  docs: Removed dead link in "create project" TOC.
  docs: Corrected reference link for NotificationManager.notify().
  docs: Added link to "preparing for multiwindow" blog post
  docs: Clarified how multi-window applies to activities in task stack
  [RenderScript] Update documentation about API level and RS Support Lib.
  cherrypick from mnc-docs docs: Updated API changes for Dinar wearable support.
  simplification and clarification to the Studio Overview
  Substitute for placeholder text.
  docs: Added missing semicolon within code sample.
  docs: Fixed Marshmallow links in API level table.
  docs: Update Nexus 9, 9G OTA images for N Preview
  ...

Change-Id: I2a64872d24ff2780503766f94e6d693edbdd47b8
2016-04-12 19:23:52 +00:00
Paul Jensen
6b866480f5 If Internet probe is redirected, pass redirect destination to NetworkAgent.
Transport may use the redirect to make additional determination about network
state.

Bug: 25203607
Change-Id: I07d8918f13fdcbe0b6fd757536bfc1850a2a244f
2016-04-12 08:54:36 -04:00
Pierre Imai
57f56137ea Fix a memory leak in ConnectivityManager.
Remove callbacks from the internal storage when they are being unregistered.

Change-Id: Ia42ed7aefaebd8caf3eada8e42b6cb7a940d7647
2016-04-12 15:00:28 +09:00
Lorenzo Colitti
5275052215 Merge "Reinstate much-reduced ConnectivityService logging." into nyc-dev 2016-04-11 16:08:52 +00:00
Lorenzo Colitti
399db1e148 Merge changes Ic2c84de7,I379aef92 into nyc-dev
* changes:
  Remove duplicated code in NetworkStateTrackerHandler.
  Improve Tethering and NativeDaemonConnector logging.
2016-04-11 14:27:31 +00:00
Lorenzo Colitti
d0a7a79b6c Reinstate much-reduced ConnectivityService logging.
Change-Id: I9d1292f8c036be2a854fdb537f4ccb957d211966
2016-04-11 23:19:06 +09:00
Lorenzo Colitti
f0461853c0 Remove duplicated code in NetworkStateTrackerHandler.
Also use MessageUtils to decode message names.

Change-Id: Ic2c84de73fbf3eb10cc9634a083e5d3b3ffb807a
2016-04-11 17:40:22 +09:00
Jack Yu
6924695bc1 Merge "Excluded certain APNs (e.g. IMS) from mobile data usage." into nyc-dev 2016-04-09 03:30:31 +00:00
Jack Yu
43c255193a Excluded certain APNs (e.g. IMS) from mobile data usage.
Added not_metered capability to a mobile network if none
of its associated APN types are metered. Also used not_metered
capability to determine if a network should be accounted for
data usage or not instead of using network type, which is
always MOBILE after refactoring. Will add VT usage support
in next phase.

bug: 20888836
Change-Id: Id692cb856be9a47d0e918371112630128965b1bb
2016-04-07 10:07:31 -07:00
Robin Lee
f81cbe1697 Merge "Internal API for system apps to determine default network for other apps" into nyc-dev 2016-04-07 16:43:15 +00:00
Robin Lee
da4d2e2b67 Internal API for system apps to determine default network for other apps
Callers with CONNECTIVITY_INTERNAL permission can read off the netId
that an application is assigned to by default.

Necessary for making connections as the default network for a client
app eg. when downloading stuff on its behalf.

Bug: 27074270
Change-Id: I8d35e8e99126875f55f3c545090326f3e9be43fb
2016-04-07 14:55:59 +00:00
Erik Kline
7faccef84c Merge "Make public the registerDefaultNetworkCallback API" into nyc-dev 2016-04-06 08:51:08 +00:00
Trevor Johns
199565d7a0 Merge branch 'mnc-mr-docs' into mnc-ub-dev
Large merge to reconnect automerger for docs branch to mainline.

 Conflicts:
	docs/html-intl/intl/es/index.jd
	docs/html-intl/intl/es/preview/download.jd
	docs/html-intl/intl/es/preview/index.jd
	docs/html-intl/intl/ja/index.jd
	docs/html-intl/intl/ja/preview/download.jd
	docs/html-intl/intl/ja/preview/index.jd
	docs/html-intl/intl/ko/index.jd
	docs/html-intl/intl/ko/preview/download.jd
	docs/html-intl/intl/ko/preview/index.jd
	docs/html-intl/intl/pt-br/index.jd
	docs/html-intl/intl/pt-br/preview/download.jd
	docs/html-intl/intl/pt-br/preview/index.jd
	docs/html-intl/intl/ru/index.jd
	docs/html-intl/intl/ru/preview/download.jd
	docs/html-intl/intl/ru/preview/index.jd
	docs/html-intl/intl/zh-cn/index.jd
	docs/html-intl/intl/zh-cn/preview/download.jd
	docs/html-intl/intl/zh-cn/preview/index.jd
	docs/html-intl/intl/zh-tw/index.jd
	docs/html-intl/intl/zh-tw/preview/download.jd
	docs/html-intl/intl/zh-tw/preview/index.jd
	docs/html/guide/topics/manifest/compatible-screens-element.jd
	docs/html/guide/topics/manifest/uses-feature-element.jd
	docs/html/preview/download.jd
	docs/html/preview/features/runtime-permissions.jd
	docs/html/sdk/index.jd
	docs/html/tools/revisions/studio.jd
	docs/html/tools/sdk/eclipse-adt.jd
	docs/html/tools/support-library/features.jd
	telephony/java/android/telephony/TelephonyManager.java

Bug: 28000173
Change-Id: Iacab0481175f1b32e0ac3bab98cde9e994100e94
2016-04-05 20:32:07 -07:00
Erik Kline
b3547c0a9a Make public the registerDefaultNetworkCallback API
Change-Id: I89d7a6f49f5d6a0da3402a07407b0f8d93181b4f
2016-04-06 12:22:47 +09:00
Erik Kline
3d4ed1573a Don't flush DNS cache on route changes.
Since Lollipop, routes are isolated within Networks.  Flushing a
Network's DNS cache whenever that same Network's routes are updated
doesn't provide any benefit.  Any system components depending on this
behaviour need to uncovered and fixed.

Additionally, clean up no-longer-used flushNetworkDnsCache().  This
should be replaced, when needed, by a proper binder interface to netd.

Change-Id: I34bf79e4839da014d466058a876d754209d0c007
2016-04-06 11:30:51 +09:00
Erik Kline
d6506a1d41 Delete unused default DNS setting code
Change-Id: I601a647714171f205d179d6fef6c112949fc5a94
2016-04-05 11:48:01 +09:00
Lorenzo Colitti
fc254678ee Add a toString method to ApfCapabilities.
Change-Id: I505b90b7cd818cb3477990ec6b41b16db46d1c08
2016-03-28 17:33:30 +09:00
Paul Jensen
5eaf63272a Move ApfFilter from ConnectivityService to IpManager
There's a few advantages to having ApfFilter in IpManager:
1. If things go wrong, crashing a particular transport is less bad then
   crashing ConnectivityService.  We also don't want to use
   ConnectivityService as a dumping ground for transport-specific logic.
2. This makes implementing WifiManager.MulticastLock a lot simpler and
   safer because enabling/disabling it doesn't have to go through the
   NetworkAgent, which could risk various races (e.g. installing a filter
   into the wrong WiFi network).
3. IpManager is the ultimate source for LinkProperties for a particular
   transport and since ApfFilter uses the LinkProperties it's better to
   have it closely paired with the IpManager. Likewise, ApfFilter needs
   to know the APF capabilities of the transport, so having it in
   the transport avoids having to parcel this information through the
   NetworkAgent.

Bug: 26238573
Change-Id: I99b85f2b64972f0e7572170ec5d1926081aa3429
2016-03-25 07:46:07 -04:00