Commit Graph

1095 Commits

Author SHA1 Message Date
fionaxu
5310c30967 cold sim clean up
- add a new field: provisioningNotificationEnabled from NetworkMisc. set
  to false if we want to hide "sign in" notification and placed
  carrier-specific notification instead. it is set on connect, once set,
  it is carrier-app's responsibility to post new UI to users
- rework on the interaction between carrier app and framework
- code cleanup
- unit test support

Bug: 28567303
Change-Id: Ic84db7ffbb920d15344717f104496d3cb82e1a85
2016-06-03 11:45:12 -07:00
Jeff Sharkey
958359744a Merge "API council feedback: hide and document." into nyc-dev am: 3e0e975a38 am: 19e2f49181
am: dfd98ed300

* commit 'dfd98ed30040adce9402a9e06d0acb1ea7d78a3a':
  API council feedback: hide and document.

Change-Id: I002236f584ddc7a5f479b8936e4b5f5ed61759eb
2016-05-25 21:06:41 +00:00
Jeff Sharkey
dfd98ed300 Merge "API council feedback: hide and document." into nyc-dev am: 3e0e975a38
am: 19e2f49181

* commit '19e2f49181b209d790f551b374d6d24002de7c9b':
  API council feedback: hide and document.

Change-Id: I3715fc6e824f2a55517788299afe36145db597d7
2016-05-25 20:54:18 +00:00
Jeff Sharkey
8d5d9a0ff4 Merge "API council feedback: hide and document." into nyc-dev
am: 3e0e975a38

* commit '3e0e975a38688b4d5dbc96830788df00499fc01b':
  API council feedback: hide and document.

Change-Id: I180f504fe21f6f90179d359e8808ffff006e4538
2016-05-25 20:51:03 +00:00
Aurimas Liutikas
e80a0eb435 Add missing @Deprecated annotations.
Add missing @Deprecated annotations for methods with @deprecated tag
in javadoc.

Change-Id: I35b78ccb97832d86b914c21a300444ba29e33844
2016-05-24 15:22:55 -07:00
Jeff Sharkey
ca4340007e API council feedback: hide and document.
Hide isMetered() and clarify moveDatabaseFrom() docs.

Bug: 28870582, 28775585
Change-Id: Iabe63045c39ce7f662488f4224b56387c3c59519
2016-05-20 11:34:55 -06:00
Erik Kline
7b12b8ca59 Merge "DHCPv4: lease expiration is fatal, renew failures are not" into nyc-dev am: bd4b5327db am: 8958153ac7
am: 8ab4a8d08a

* commit '8ab4a8d08a3aadab24a20d227d9bbaf15e99f879':
  DHCPv4: lease expiration is fatal, renew failures are not

Change-Id: I4a0be195dab4525258b455330ce6212987b0e6c0
2016-05-19 04:27:26 +00:00
Erik Kline
8ab4a8d08a Merge "DHCPv4: lease expiration is fatal, renew failures are not" into nyc-dev am: bd4b5327db
am: 8958153ac7

* commit '8958153ac7921349dd8770a33484ca96581277cc':
  DHCPv4: lease expiration is fatal, renew failures are not

Change-Id: I314ceed6380af58fb3f6308dde11f2d29b324c66
2016-05-19 04:24:16 +00:00
Erik Kline
ef4e70afc3 Merge "DHCPv4: lease expiration is fatal, renew failures are not" into nyc-dev
am: bd4b5327db

* commit 'bd4b5327dbbe42ad997080d18c8c767c002ffde6':
  DHCPv4: lease expiration is fatal, renew failures are not

Change-Id: Ic99edb732d532da27c042824e5ca07c4b35ccfa1
2016-05-19 04:21:17 +00:00
Erik Kline
7b0a58168e DHCPv4: lease expiration is fatal, renew failures are not
Bug: 24837343

Change-Id: Ib330864f8376b0907390d581b48cff5446b3392b
2016-05-18 16:17:03 +09:00
Robin Lee
9b3fdfaab8 Merge "Make some of the UID-based VPN code reusable" into nyc-dev am: 89bf3e3aa2 am: 0ab7ea1701
am: 9355427d9a

* commit '9355427d9a1963764ec23e29e25f1230f9c83e31':
  Make some of the UID-based VPN code reusable

Change-Id: I75d9871f8039d14f8d83be4696c3c4d4e864f9c0
2016-05-17 17:59:59 +00:00
Robin Lee
0ab7ea1701 Merge "Make some of the UID-based VPN code reusable" into nyc-dev
am: 89bf3e3aa2

* commit '89bf3e3aa2b3e95486445a50f4666a20b3d8e830':
  Make some of the UID-based VPN code reusable

Change-Id: I3f1b1a08059aa58cb76db6cdd070b103024b9bf3
2016-05-17 17:36:43 +00:00
TreeHugger Robot
89bf3e3aa2 Merge "Make some of the UID-based VPN code reusable" into nyc-dev 2016-05-17 17:30:01 +00:00
Felipe Leme
c202fc8bd6 Merge "Documented return value of getRestrictBackgroundStatus()." into nyc-dev am: 522787f39a am: ac719e480f
am: 2a7165b928

* commit '2a7165b9289f11b6f19d66cac259bef22b694323':
  Documented return value of getRestrictBackgroundStatus().

Change-Id: Ia86cbc0d7b0be02f7dad7446127c2c711bb9f771
2016-05-16 22:35:23 +00:00
Felipe Leme
ac719e480f Merge "Documented return value of getRestrictBackgroundStatus()." into nyc-dev
am: 522787f39a

* commit '522787f39a759cf8af8438641fa8df7470a1b959':
  Documented return value of getRestrictBackgroundStatus().

Change-Id: Ie2e7b14ecc0b574a8776121d3c79c768093ef4f7
2016-05-16 22:23:44 +00:00
Felipe Leme
3edc616bf6 Documented return value of getRestrictBackgroundStatus().
Change-Id: I2c15a6d5e23cbc3c9b59c975196c1c04c1294471
Fixes: 28775490
2016-05-16 13:57:19 -07:00
Elliott Hughes
cade402444 resolve merge conflicts of bc90502 to nyc-dev-plus-aosp am: bdd12ec7b3
am: daabe978d4

* commit 'daabe978d40dce3feefb770558738cc1750d7fc3':
  Make android_net_NetUtils include what it actually uses.

Change-Id: I775c03ba7fd3895c6525d3986b564b228d34063b
2016-05-13 16:08:58 +00:00
Robin Lee
722ee0bb43 Make some of the UID-based VPN code reusable
By changing some member refs into arguments and having one of the
functions create the UID range instead of adding to mVpnUsers.

This will be useful for other layers of UID filtering like having
UIDs explicitly blocked from the VPN.

Deleted one broken line of code that cleared the status intent when
a restricted profile is removed. Other than that, this commit shouldn't
change any behaviour. If it does, that's a bug.

Bug: 26694104
Change-Id: Ieb656835d3282a8ba63cc3f12a80bfae166bcf44
2016-05-13 16:03:11 +00:00
Elliott Hughes
bdd12ec7b3 resolve merge conflicts of bc90502 to nyc-dev-plus-aosp
Change-Id: Ic78042d45085718b2220107e9a84767df316440a
2016-05-13 08:57:40 -07:00
Elliott Hughes
9d18567aeb Make android_net_NetUtils include what it actually uses.
Bug: http://b/28519060
Change-Id: I49dcd358d3fc8e0ba5c5e0b50a0f5dcc63281d22
2016-05-11 15:18:13 -07:00
Robin Lee
4385168b4b Merge "Merge "Add lockdownEnabled parameter to always-on VPN API" into nyc-dev am: fb0faa494e am: 78d0888e8c" into nyc-mr1-dev-plus-aosp
am: 062a28b6a4

* commit '062a28b6a403a48d6f5f88e109a899c9c60581c1':
  Add lockdownEnabled parameter to always-on VPN API

Change-Id: I9ebd6221451ee10649a1f340031d62c6483832f1
2016-05-04 22:04:40 +00:00
Robin Lee
fb0faa494e Merge "Add lockdownEnabled parameter to always-on VPN API" into nyc-dev 2016-05-04 18:38:30 +00:00
Robin Lee
94e69beca3 Add lockdownEnabled parameter to always-on VPN API
Allows callers to opt-out of blockading network traffic during boot and
on VPN app failure.

Bug: 26694104
Change-Id: Ibfbd43ad09a25f2e38053fcd6306df3711f8bde2
2016-05-03 13:24:42 +01:00
Jeff Sharkey
241e94a9eb Merge "Flag to mark foreground jobs, fix data saver." into nyc-dev am: 9a977b7d45 am: 4b6d6eb09f
am: 25bbae6e74

* commit '25bbae6e74ae01c72f2b68e110547afc6c4e96b6':
  Flag to mark foreground jobs, fix data saver.

Change-Id: Id863d0ff4f8e7f13049231298feaab9839b4667c
2016-04-29 23:04:05 +00:00
Jeff Sharkey
7dbf83df03 Flag to mark foreground jobs, fix data saver.
When a job will eventually run in the foreground, the internal
scheduling needs to ignore any background network restrictions when
satisfying constraints.  This also means the job should ignore the
current device doze state, since the requesting app could get the
same behavior by starting their own foreground service.

Always dispatch network policy changes to ConnectivityService first
to ensure that it has up-to-date information.  Fix bugs around data
saver that were causing networks to not be marked as BLOCKED for
background apps; before this fix apps would have been spinning in
internal connectivity loops, thinking that the network was actually
connected when the kernel was actually blocking their traffic.

Offer new ConnectivityService method overloads to ignore the blocked
state for a specific UID.

Print unsatisfied job constraints to aid debugging.

Bug: 26571724
Change-Id: Iaaa17933e6dc1bf6d3dff26d0bfc12222e51e241
2016-04-29 13:44:07 -06:00
Hugo Benichi
94e974e90c Merge changes I8de95add,Ia6f4ccfd into nyc-dev am: 6333d09 am: bd858ec
am: e0f0a9c

* commit 'e0f0a9cbdea152c41dff801b1e8b13c3e5534d83':
  Remove unused event tags of IpConnectivityEvent
  Better ConnectivityMetricsEvent printing

Change-Id: I8625da2af299337f385596f8015a8f7255aa2c37
2016-04-27 02:51:44 +00:00
TreeHugger Robot
6333d09474 Merge changes I8de95add,Ia6f4ccfd into nyc-dev
* changes:
  Remove unused event tags of IpConnectivityEvent
  Better ConnectivityMetricsEvent printing
2016-04-27 01:49:53 +00:00
Hugo Benichi
e51bf9e2a4 Better ConnectivityMetricsEvent printing
This patch adds more information printing for IpConnectivity event
classes in android.net.metrics.

example:

ConnectivityMetricsEvent(14:36:35.799, 0, 1026): DhcpClientEvent(wlan0, DhcpRequestingState)
ConnectivityMetricsEvent(14:36:35.805, 0, 1026): DhcpClientEvent(wlan0, DhcpHaveAddressState)
ConnectivityMetricsEvent(14:36:35.809, 0, 4096): IpManagerEvent(wlan0, PROVISIONING_OK, 155ms)
ConnectivityMetricsEvent(14:36:35.810, 0, 1026): DhcpClientEvent(wlan0, DhcpBoundState)
ConnectivityMetricsEvent(14:36:35.871, 0, 2048): NetworkEvent(101, NETWORK_CONNECTED, 0ms)
ConnectivityMetricsEvent(14:36:35.874, 0, 2051): ValidationProbeEvent(101, PROBE_HTTP:599, 3ms)
ConnectivityMetricsEvent(14:36:35.874, 0, 2048): NetworkEvent(101, NETWORK_VALIDATION_FAILED, 0ms)
ConnectivityMetricsEvent(14:36:35.928, 0, 3072): DefaultNetworkEvent(0 -> 101, [WIFI], IPv4: false, IPv6: false)
ConnectivityMetricsEvent(14:36:37.008, 0, 2051): ValidationProbeEvent(101, PROBE_HTTP:204, 134ms)
ConnectivityMetricsEvent(14:36:37.008, 0, 2050): NetworkEvent(101, NETWORK_VALIDATED, 1137ms)

Also fixes a couple of event logging issues:
  - do no record spurious receive DhcpErrorEvent when a network goes down.
  - add an eventType field to IpManagerEvent instead of using the
    loggger component tag.

Bug: 28204408
Change-Id: Ia6f4ccfd7a0c63a5ccec18825f226c0b5781217b
2016-04-27 09:11:29 +09:00
Andreas Gampe
ae941d00cc Merge "Frameworks/base: Make debug helper lazy in ConnectivityManager" into nyc-dev am: 2082480 am: 12aea50
am: 9739a46

* commit '9739a467db314fc2ba0538a958d1f8c1e2693f95':
  Frameworks/base: Make debug helper lazy in ConnectivityManager

Change-Id: Iae09599af115044fd6e1c37c0f0222fe766281f0
2016-04-26 16:15:18 +00:00
TreeHugger Robot
2082480038 Merge "Frameworks/base: Make debug helper lazy in ConnectivityManager" into nyc-dev 2016-04-26 15:25:44 +00:00
Jeff Sharkey
00faf37463 resolve merge conflicts of d1153a3 to master
Change-Id: Iec9a4a76d0db0fbebdca8a732b4666cfaad70267
2016-04-25 16:40:38 -06:00
Andreas Gampe
b704658951 Frameworks/base: Make debug helper lazy in ConnectivityManager
Place helper map for callback field names into a holder. This avoids
the reflective calls in static initialization of ConnectivityManager
in the common (non-debug) case, which means the class can be
compile-time initialized. Also saves the storage necessary (both
the storage array as well as the reflection metadata).

Follow-up to b027e6e92b.

Bug: 27265238
Change-Id: Ib4bfaf27acd234a035a5d198458340099a156a4c
2016-04-25 10:30:53 -07:00
Jeff Sharkey
40d1fb87a4 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
Lorenzo Colitti
b10b854bd3 Disambiguate NetworkCallback JavaDoc. am: 15874cd
am: c8a0754

* commit 'c8a0754b3d98e90a869acb9dcc8ca8ae40bcbde1':
  Disambiguate NetworkCallback JavaDoc.

Change-Id: Ibf47574237ea8467d8e536395d580bac9f8fea36
2016-04-15 09:54:58 +00:00
Lorenzo Colitti
15874cd028 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
Pierre Imai
06669fb25e Merge "Fix a memory leak in ConnectivityManager." into nyc-dev am: a5ccd54
am: e235da5

* commit 'e235da5d5cb1db440db228ee23314617e7dd9aa4':
  Fix a memory leak in ConnectivityManager.

Change-Id: I713b4d68033aaac4ef2ada50a486538459814e77
2016-04-13 06:44:29 +00:00
Pierre Imai
a5ccd54500 Merge "Fix a memory leak in ConnectivityManager." into nyc-dev 2016-04-13 06:37:33 +00:00
Paul Jensen
f2f05c4e50 Merge "If Internet probe is redirected, pass redirect destination to NetworkAgent." into nyc-dev am: 45e879c
am: 2c1f03a

* commit '2c1f03ade023a61428b7d9101bc10e4c88ae941a':
  If Internet probe is redirected, pass redirect destination to NetworkAgent.

Change-Id: I4c5f5cb8591d8729de9036a6c2aabacd4aba0f39
2016-04-13 02:02:13 +00:00
Paul Jensen
9c9e48fbd1 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
66d9bd8806 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
Robin Lee
908a75e480 Merge "Internal API for system apps to determine default network for other apps" into nyc-dev am: 80f2000
am: a948f88

* commit 'a948f8872aa045ab22f42285f195fdb413c5ff66':
  Internal API for system apps to determine default network for other apps

Change-Id: Ib719f0cebb41afe4aa52241f3797598a7e468d2d
2016-04-07 16:51:53 +00:00
Robin Lee
80f2000491 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
5b52bef8d8 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
e9c091ba5a Merge "Make public the registerDefaultNetworkCallback API" into nyc-dev am: df78e84
am: a577a3a

* commit 'a577a3a29f601fd2b71ad89eedcc52bdd8efbccb':
  Make public the registerDefaultNetworkCallback API

Change-Id: Ic749ede5b84e443fed04701ecdd0f6521a77158f
2016-04-06 08:58:22 +00:00
Erik Kline
7c912a4025 Make public the registerDefaultNetworkCallback API
Change-Id: I89d7a6f49f5d6a0da3402a07407b0f8d93181b4f
2016-04-06 12:22:47 +09:00
Paul Jensen
7e35dac240 Merge "Move ApfFilter from ConnectivityService to IpManager" into nyc-dev am: 732340c
am: ebdf3f0

* commit 'ebdf3f006854b04de2508314be7ac0788b6faa99':
  Move ApfFilter from ConnectivityService to IpManager
2016-03-25 13:01:09 +00:00
Paul Jensen
6b7f7a0852 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
Jeremy Klein
407e2a51e0 Merge "Add a null check for the OnStartTetheringCallback." 2016-03-23 18:52:16 +00:00
Pierre Imai
9b71d6659d Merge "Improve NetworkCapabilities command chaining." into nyc-dev 2016-03-23 01:11:15 +00:00
Paul Stewart
e611bda1e2 Merge changes Iddeebeb8,Idd1e37a3 into nyc-dev
* changes:
  WifiManager: Use ConnectivityThread
  Create ConnectivityThread
2016-03-22 22:23:48 +00:00