Commit graph android_packages_modules_Co.../services/core/java
Message SHA1
Query HTTP proxy for network via a new API to avoid permissions exceptions
Add @hidden ConnectivityManager.getProxyForNetwork() API.

Bug:20470604
Change-Id: I6a9bc4afc8273bc43b14cdeccfedbbf3ff66be40

Paul Jensen   commited 2015-05-18 17:05:51 +00:00
fdec88b48d
Adding "Connected, no Internet" string in Wifi nw summary.
Bug: 17380953
Change-Id: I9664bcbf33832fe722e7d2b3125939287ee98098

Sanket Padawe   commited 2015-05-01 16:55:00 -07:00
e453b72d39
Remove network access for idle apps
Track apps going in and out of idle in the NetworkPolicyManagerService.
Apply DROP rules in firewall controller if app is to be blacklisted
for network access.

Firewall can now be in whitelist (old) or blacklist mode. When in
blacklist, it allows all by default and we can selectively DENY
some uids.

Track app idle in UsageStats and update periodically.
Track charging/discharging states.

TODO: Check for appidle temporary parole state

Bug: 20066058
Change-Id: Ia65d7544204b3bcb78a517310ef4adcc05aac6fb

Amith Yamasani   commited 2015-04-29 14:21:53 -07:00
68c4363056
Merge commit 'ed4d55c' into merge2
Change-Id: I116a9dbf19e95651a7c50393e4dcd7fb59ca3f3f

Etan Cohen   commited 2015-04-24 13:58:45 -07:00
54c82a8c6b
Allow apps with ACCESS_WIFI_STATE to listen for wifi networks
The compatibility measure introduced in bug 20081183 for apps
that connect to a Wi-Fi network without Internet access and then
expect to be able to use that network requires that such apps
register a NetworkCallback so that their WifiManager can pin them
to whatever wifi Network connects.

Currently, registering the callback requires ACCESS_NETWORK_STATE
and the app may not have that permission. Allow registering wifi
(only) callbacks if the app has ACCESS_WIFI_STATE.

If the app does not have ACCESS_WIFI_STATE (unlikely, since
CHANGE_WIFI_STATE is not very useful without ACCESS_WIFI_STATE),
then don't enable the compatibility measure.

Bug: 20081183
Bug: 20423580
Change-Id: Iad328d30c2d170dead883868fece3d922da68f6f

Lorenzo Colitti   commited 2015-04-22 12:01:35 +09:00
15ff2fc68d
Merge "update API name to requestBandwidthUpdate()"
fenglu   authored and   Android (Google) Code Review   commited 2015-04-22 01:32:19 +00:00
a50d169c9c
update API name to requestBandwidthUpdate()
Change-Id: If26942978ffcc43f06f17dfad5da790f34758395

fenglu   commited 2015-04-21 17:12:05 -07:00
73169332e1
Merge "Revert "requestBwUpdate() public API review""
Robert Greenwalt   authored and   Android (Google) Code Review   commited 2015-04-21 23:59:35 +00:00
29f8180532
Revert "requestBwUpdate() public API review"
This reverts commit c6e97f1417.

Change-Id: I8c22d285ff1f56f1bd31a0fa9f2e6a79959347b1

Robert Greenwalt   commited 2015-04-21 23:59:14 +00:00
d7bce3df4a
Merge "requestBwUpdate() public API review"
Robert Greenwalt   authored and   Android (Google) Code Review   commited 2015-04-21 23:55:48 +00:00
b797ee450e
requestBwUpdate() public API review
Change-Id: I1e780b2705d13bfc85a0a8712ac1dbd623b474a1

fenglu   commited 2015-04-21 15:33:19 -07:00
c6e97f1417
Final removal of CONNECTIVITY_ACTION_IMMEDIATE.
Since the demise of the connectivity change delay,
CONNECTIVITY_ACTION_IMMEDIATE has been sent out back to back with
CONNECTIVITY_ACTION.

Interested parties should watch for CONNECTIVITY_ACTION.

Bug: 20013379
Change-Id: I072dddf95adb3bbd17fa1f7159d4ea848ade8f19

Erik Kline   commited 2015-04-21 17:02:34 +09:00
0ac7926838
Move factoryReset to service and protect.
bug:16161518
Change-Id: I02d1bbae1887c62ee426e6f03e8bc1f18c6666bf

Stuart Scott   commited 2015-04-20 10:52:35 -07:00
ca888bf2fe
Add captive portal API.
This API allows apps other than the system's CaptivePortalLogin
to handle signing in to captive portals.

bug:19416463
Change-Id: I27fce5856b635233e6ff66396d50ccabedd76cf5

Paul Jensen   commited 2015-04-16 16:53:10 +00:00
ed4d55c9fc
Merge changes from topic 'wifi-alternate-reality'
* changes:
  Pin a process to wifi when it calls enableNetwork(..., true)
  Make CALLBACK_PRECHECK actually work.

Lorenzo Colitti   authored and   Android (Google) Code Review   commited 2015-04-16 16:11:22 +00:00
b67d02e437
LCE service implementation - connectivity side
Change-Id: If11bd99c44c7dc8d2aa2bc05a10e04421739baa6

fenglu   commited 2015-04-16 02:53:39 -07:00
7656433e44
Make CALLBACK_PRECHECK actually work.
Currently, CALLBACK_PRECHECK is never fired, because we attempt
to send it just after a network has connected, before matching
requests to that network. So notifyNetworkCallbacks scans the
list of requests for the network, finds none, and does nothing.

Bug: 20038463
Change-Id: Ib0c6377c45990e358f926217d7c7defa74c1d59b

Lorenzo Colitti   commited 2015-04-16 17:11:09 +09:00
97399aed2e
LCE service implementation - connectivity side
Change-Id: If11bd99c44c7dc8d2aa2bc05a10e04421739baa6

fenglu   commited 2015-04-15 23:13:52 -07:00
26a1e5a5ae
Merge "am b5e0cfb..557d2f5 from mirror-m-wireless-internal-release"
Vinit Deshpande   authored and   Android (Google) Code Review   commited 2015-04-16 02:36:30 +00:00
3153bb0792
Prompt if a network without an Internet connection is selected
When a network is explicitlySelected, keep it connected but do
not automatically switch to it. Instead, attempt to validate it,
and if 8 seconds have passed and the network is not yet
validated, prompt the user asking whether to switch to it anyway.

Bug: 20081183
Change-Id: I03a8459eb39979e3dc8e94662b85a44605dd7e69

Lorenzo Colitti   commited 2015-04-15 13:38:22 +09:00
36fbebe442
am b5e0cfb..557d2f5 from mirror-m-wireless-internal-release
557d2f5 Merge "Add ConnectivityManager.reportNetworkConnectivity() API" into m-wireless-dev
ab5267a Fix onLost/onFound logic in isSettingsAndFilterComboAllowed
7aac1b3 Add ConnectivityManager.reportNetworkConnectivity() API
238e0f9 OBEX Over L2CAP + SDP search API for BT profiles
c256943 Add ConnectivityManager.getActiveNetwork(). Rework NetID allocation in ConnectivityService so registerNetworkAgent() can return the allocated NetID.
bf18bed Merge "Non-functional code cleanup of ConnectivityService." into m-wireless-dev
db8784e Merge "Cleanup of Video Call pause functionality." into m-wireless-dev
71299dd Non-functional code cleanup of ConnectivityService.
e593d0a Onfound onlost feature.
0326f58 Merge "API for config app." into m-wireless-dev
e9b056f API for config app.
d5351e7 RTT framework interface update
a3dfc6b Unhide Network.openConnection(URL, Proxy).
a9208b9 Fix typos in ConnectivityManager documentation.

Change-Id: Ib4c88f6d7ad1b24227b032555c62a5804194384b

Vinit Deshpande   commited 2015-04-14 16:15:02 -07:00
3f60a32607
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

Paul Jensen   commited 2015-04-13 18:48:54 +00:00
7aac1b3ef7
Add ConnectivityManager.getActiveNetwork().
Rework NetID allocation in ConnectivityService so registerNetworkAgent() can
return the allocated NetID.

Bug: 19416463
Change-Id: I68e395552cf27422c80b4dfae5db5d56a0d68f5d

Paul Jensen   commited 2015-04-10 14:03:13 +00:00
c256943936
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

Paul Jensen   commited 2015-04-08 07:46:49 -04:00
71299dd2b7
Adding per UID WiFi power distribution.
Change-Id: I88c539074607d7261f6c5cf1dbae47c3cf53f253

Adam Lesinski   commited 2015-04-07 11:37:10 -07:00
243d692232
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 22bb76b1b7.

Change-Id: Ieb11423c11cf9874a6175dce49843d0e1080c590

Bart Sears   commited 2015-04-07 06:14:04 +00:00
3daa046ac7
Adding per UID WiFi power distribution.
Change-Id: Ia3d97e0a1c3352127185c18626d8ba8221c9ab40

Adam Lesinski   commited 2015-04-06 18:36:06 -07:00
22bb76b1b7
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

Robert Greenwalt   authored and   Android Git Automerger   commited 2015-04-06 18:17:28 +00:00
5d271c5e21
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

Maunik Shah   commited 2015-04-04 21:48:24 +05:30
b22998939d
Replace usages of deprecated Resources.getColor() and getColorStateList()
Change-Id: I8f64fe6c4c44a92ff6d07250223ba590a1d691b0

Alan Viverette   commited 2015-03-18 18:37:18 -07:00
7f25a63f06
Remove dead code, mostly DataStateTracker.
(cherry picked from AOSP commit 4c12c31336)

Change-Id: I18c44cd08dfb51e02a96d0b726e9af1db21e3058

Paul Jensen   commited 2015-03-18 12:29:13 -04:00
6879b9138d
resolved conflicts for merge of b6b9fe21 to master
Change-Id: If4f62aa1fd8bb774288a677e7008e86a7e3ea6d9

Andreas Gampe   commited 2015-03-13 00:04:10 -07:00
b96902e7bc
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

Wenchao Tong   commited 2015-03-12 17:43:41 -07:00
ae7e9fb00a
Fix build, broken by https://android-review.googlesource.com/#/c/115890/
Change-Id: Ieafa2fb0a7f539d8f933ad9c98e3be80457da6e5

Lorenzo Colitti   commited 2015-03-12 16:48:12 +09:00
abd0acd039
Remove dead code, mostly DataStateTracker.
Change-Id: I1433937bffdb29bd42fb1adbfcf0a50ceffac7dd

Paul Jensen   commited 2015-03-11 10:03:58 -04:00
4c12c31336
Remove unused imports in frameworks/base.
Change-Id: I031443de83f93eb57a98863001826671b18f3b17

John Spurlock   commited 2015-02-28 14:47:49 -05:00
ca9ba60d53
Make reportInetCondition revalidate if the report differs from our state
1. If reportInetCondition says the network is not working, and
   the network is already marked not validated, don't revalidate
   it. This was superfluous and should save battery.
2. If reportInetCondition says the network is working, and the
   network is not marked as validated, revalidated. This will
   allow us to get out of a validated state quickly based on app
   input (e.g., allowing GCM's exponential backoff timer to drive
   revalidation instead of our 10-minute timer).

Bug: 19258761
Bug: 19209043
Change-Id: Iaa4bac82d117ed1f4088dab106e6f6ce46b34bc3

Lorenzo Colitti   commited 2015-02-11 11:03:50 +09:00
bdda6bf579
Make getNetworkInfo() take into account VPN underlying networks.
If a user is subject to a VPN, getActiveNetworkInfo() will return
the VPN's underlying network (e.g., TYPE_WIFI), so that apps that
call getActiveNetworkInfo to answer questions like "is the device
connected to wifi?" will continue to work. Make getNetworkInfo
do this as well: if the query is for a network type that is
underlying the current user's VPN, then return that network.

Bug: 19196545
Change-Id: Ic5a651735b927c758594a26d26a03fbd704b52e6

Lorenzo Colitti   commited 2015-02-11 10:21:01 +09:00
66d4ed04ca
Merge "Log interface name and uid when filtering a blocked network." into lmp-mr1-dev
Erik Kline   authored and   Android (Google) Code Review   commited 2015-01-22 07:07:36 +00:00
8640c5de6c
Log interface name and uid when filtering a blocked network.
Bug: 18707263
Change-Id: Ide9a1670a97eae787b785933de0c80750c2b5601

Erik Kline   commited 2015-01-21 12:02:11 +09:00
a0c6e4539a
Fix legacy request removal.
Don't say we're disconnected from a legacy type until there are no outstanding requests for it.

bug:18946574
Change-Id: I8e45c4a7558f7ced0840b71c50081989ba13c1c7

Robert Greenwalt   commited 2015-01-16 16:06:39 -08:00
b0491bb5a8
Merge "Don't blindly teardown unvalidated networks when releasing NetworkRequests." into lmp-mr1-dev
Paul Jensen   authored and   Android (Google) Code Review   commited 2015-01-14 12:39:01 +00:00
a76959f5f9
Don't blindly teardown unvalidated networks when releasing NetworkRequests.
These networks may be on their way to becoming validated at which point
they could satisfy the default NetworkRequest.  This change unifies the
is-this-network-needed code into a single function.

bug:18652378
Change-Id: Ia511d5c66be79b47dd7c9348ec02784ab30b960c

Paul Jensen   commited 2015-01-13 09:05:38 -05:00
203a744797
Remember to cancel lingering when a network again satsifies a NetworkRequest.
When WiFi's score drops and then comes back up we would previously linger
WiFi but forget to cancel the linger timeout, so 30s later WiFi would
unexpectedly tear down.  This was not completely fixed in 935ceef.

bug:18826162
Change-Id: I7bb4b99ec969099e9815f46d4c09253be71a29be

Paul Jensen   commited 2015-01-08 10:49:34 -05:00
1e5c6ab3ec
Fix timing between bcast and net setup.
A legacy network type request would generate a bcast before the network
notification was sent - the legacy startUsingNetworkFeature API requires
the notification so it can bind your dns queries to the new network.
Fast-moving clients could try to use the network before it was ready.

bug:18792871
Change-Id: I24c46ef15c249c50bfc321f62756d1f66dc3a6a9

Robert Greenwalt   commited 2014-12-19 11:54:27 -08:00
01cf982f9d
Add a lastValidated bit and use it when reporting capabilities.
When we switched the way the status bar determines if a
connection is validated from using INET_CONDITION_ACTION
broadcasts to calling getDefaultNetworkCapabilitiesForUser(),
the statusbar stopped displaying ! when a network stopped having
working Internet connectivity. This is because the validated bit
is never set to false once a network is validated.

Fix this, hopefully temporarily, by introducing a new validated
bit that does go back to being false when a network no longer
has working connectivity, and use that bit in
getDefaultNetworkCapabilitiesForUser().

Bug: 18777225
Change-Id: I991c068be50252391d0e64c647fcf2e053dc82f9

Lorenzo Colitti   commited 2014-12-19 19:10:42 +09:00
af3f855333
Rename validated to everValidated.
This is a straight rename and thus a complete no-op from a
functionality perspective.

Bug: 18777225
Change-Id: I140d7640f1460c869a311294873772819a7a7059

Lorenzo Colitti   commited 2014-12-19 19:10:42 +09:00
80a0b535a8
Fix race between CONNECTIVITY_ACTION and setting default network.
Now that the delay between connectivity changes and CONNECTIVITY_ACTION
has been removed (ag/599650) races between CONNECTIVITY_ACTION and
the setting of the default network become more evident.
In http://crbug.com/441818 Chrome is calling getaddrinfo()
immediately after a device goes from no connectivity to cellular
connectivity, and Chrome is erroneously getting back EAI_NODATA
because netd hasn't yet set the default network for DNS resolutions.

bug:18757162
Change-Id: Ib607dcb3697403272a8c838713a9cb602e9c6820

Paul Jensen   commited 2014-12-15 15:20:30 -05:00
314f51e80d
Merge "Fix several HTTP proxy issues with multinetworking." into lmp-mr1-dev
Paul Jensen   authored and   Android (Google) Code Review   commited 2014-12-11 04:51:16 +00:00
269d28ea09
Fix several HTTP proxy issues with multinetworking.
1. Send PROXY_CHANGE_ACTION broadcast when any network's proxy changes,
   not just the default network.
2. When a process is bound to a particular Network, update the proxy
   system properties to those for the bound Network, and keep them
   updated when PROXY_CHANGE_ACTION broadcasts are received.
3. Make Network.openConnection() use the proxy for the Network.

bug:17905627
bug:17420465
bug:18144582

(cherry-pick of https://android-review.googlesource.com/#/c/115170)

Change-Id: Ia2819985e6108a8c121e74c683a5646becfd0a97

Paul Jensen   commited 2014-12-10 15:22:12 -05:00
1213135858