Commit graph android_packages_modules_Co.../services/core/java
Message SHA1
Refactor IP connectivity event logging
am: 3bdc8357fe

Change-Id: I8de880edc4a8c7f12527218788cb44f263acb56f

Hugo Benichi   authored and   android-build-merger   commited 2016-06-29 07:18:28 +00:00
2229b20b34
Refactor IP connectivity event logging
This patch removes static methods for logging IP connectivity events
defined in android.net.metrics and replaces them with a single log()
instance method defined on IpConnectivityLog. Event constructors are
now public also. Every classes logging such events now create an
instance of IpConnectivityLog for logging event objects directly
instantiated with new.

Removing static dependencies allow straightforward testing of logging.

This patch also removes the base IpConnectivityEvent class which is not
needed any more.

Bug: 29035129
Change-Id: I3de700f93f46deaa48a759f938f7d00e1d8bff98

Hugo Benichi   commited 2016-06-29 14:28:51 +09:00
3bdc8357fe
Merge \"Fix unsafe concurrent access in LegacyTypeTracker\" into nyc-mr1-dev
am: 90b2c781ff

Change-Id: I6af8e185a165009f2b7b6efef764c883488bd7bf

Hugo Benichi   authored and   android-build-merger   commited 2016-06-27 08:02:44 +00:00
dd0d4300e5
Fix unsafe concurrent access in LegacyTypeTracker
This patch adds synchronization inside LegacyTypeTracker so that
getNetworkForType() can safely run concurrently with remove().

Without synchronization if remove() removes the last network for a
given type while getNetworkForType() runs for the same type, it is
possible that getNetworkForType tries to access the head of an empty
list, resulting in a runtime exception.

This issue was found by zoran.jovanovic@sonymobile.com who proposed a
fix in AOSP (Change-Id: Ia963662edb9d643790e8d9439e4dbdcac4c2187b).

This patch differs from the fix proposed by the bug reporter and tries
instead to do the minimum amount of locking to make getNetworkForType
safe.

Bug: 29030387
Change-Id: I915aac527fc8828b32bf35fee870add2dfb11d8d

Hugo Benichi   commited 2016-06-27 15:04:27 +09:00
9c807fdcd4
resolve merge conflicts of c65d475 to nyc-mr1-dev-plus-aosp
Change-Id: Ic75a6926e4bd2b8199e4feb7af315e84659d03a2

Felipe Leme   commited 2016-06-21 13:41:22 -07:00
632e3ab174
resolve merge conflicts of fa2715e to nyc-mr1-dev
Change-Id: If0a1e7e70aa33e99f05694a37c2a54c567449507

Felipe Leme   commited 2016-06-21 13:12:53 -07:00
7d0177d5d7
Merge \"Ignore system apps on enforceMeteredApnPolicy().\" into nyc-dev
am: fa2715e03b

Change-Id: I98440b2ae3371661ed8b1b2f29b0ba18e1b6e6c3

Felipe Leme   authored and   android-build-merger   commited 2016-06-21 19:59:53 +00:00
c65d475906
Ignore system apps on enforceMeteredApnPolicy().
BUG: 29514913
Fixes: 29448383
Change-Id: I19eb004c937e1c872bbf82caa7a919e43d48a259

Felipe Leme   commited 2016-06-20 17:15:46 -07:00
ff76014fe8
Merge \\"Move \\'is already always-on\\' check into Vpn.java\\" into nyc-dev am: 6a58c98cef
am: b4f3bf969d

Change-Id: I897c48083f8e6786182d023c58f9861996c6d25c

Robin Lee   authored and   android-build-merger   commited 2016-06-16 10:14:06 +00:00
f99a160ca1
Merge \"Move \'is already always-on\' check into Vpn.java\" into nyc-dev
am: 6a58c98cef

Change-Id: I6532f2e654cfd9df8ee6c649344b0b915a8381c1

Robin Lee   authored and   android-build-merger   commited 2016-06-16 10:10:23 +00:00
f062d0b193
Merge \"Move \'is already always-on\' check into Vpn.java\" into nyc-dev
am: 6a58c98cef

Change-Id: Id363cef8369d63ce4739089d94139e34ed25f665

Robin Lee   authored and   android-build-merger   commited 2016-06-16 10:10:23 +00:00
b4f3bf969d
Merge "Move 'is already always-on' check into Vpn.java" into nyc-dev
Robin Lee   authored and   Android (Google) Code Review   commited 2016-06-16 10:06:11 +00:00
6a58c98cef
Move 'is already always-on' check into Vpn.java
It's with the rest of the logic now and allows checking whether the
lockdown state matches, too, which led to a lot of misunderstandings.

Fix: 29199431
Change-Id: I94a2c38c4837f9c33b5b9c2becb52eeb7e2a2534

Robin Lee   commited 2016-06-14 13:24:17 +00:00
a4325d282c
Merge \\"Show sign-in to network notification to all users, not just owner.\\" into nyc-dev am: 634bd0eb4e
am: 6715499061

Change-Id: I82726a61541da890dea12448b2823f3dd7e367d2

Paul Jensen   authored and   android-build-merger   commited 2016-06-14 11:21:12 +00:00
7a68a26148
Merge \"Show sign-in to network notification to all users, not just owner.\" into nyc-dev
am: 634bd0eb4e

Change-Id: Ic8f99cb7c7fa7ed1f40c73342840f82c56f9f90f

Paul Jensen   authored and   android-build-merger   commited 2016-06-14 11:16:15 +00:00
601f877903
Merge \"Show sign-in to network notification to all users, not just owner.\" into nyc-dev
am: 634bd0eb4e

Change-Id: I4522f765c6166bd1c8216088b1605eac4c69d869

Paul Jensen   authored and   android-build-merger   commited 2016-06-14 11:16:12 +00:00
6715499061
Merge "Show sign-in to network notification to all users, not just owner." into nyc-dev
Paul Jensen   authored and   Android (Google) Code Review   commited 2016-06-14 11:05:32 +00:00
634bd0eb4e
Show sign-in to network notification to all users, not just owner.
All users should be made aware a captive portal is in place and be
given the opportunity to sign into the network.  Without this fix
other users are not notified and given a chance to sign-in.

Change-Id: I1bf823d5f6a36f391dca4be5f6a584e8562a72a7
Fixes: 23079964

Paul Jensen   commited 2016-06-13 09:39:28 -04:00
efffb79661
Merge \\"Package changed/removed listeners for always-on VPN\\" into nyc-dev am: ee5e4cc836
am: 198d78012d

Change-Id: I64ab86a9133d524865bed8c7824634e0539c1212

Robin Lee   authored and   android-build-merger   commited 2016-06-08 10:54:52 +00:00
0e79a48a5f
Merge \"Package changed/removed listeners for always-on VPN\" into nyc-dev
am: ee5e4cc836

Change-Id: Idd2e019feb73bd580aa7d8baba03c27083e26b02

Robin Lee   authored and   android-build-merger   commited 2016-06-08 10:50:43 +00:00
f187518b18
Merge \"Package changed/removed listeners for always-on VPN\" into nyc-dev
am: ee5e4cc836

Change-Id: I8f7054b5a2ac69677a0e124e9a616b3d58b604af

Robin Lee   authored and   android-build-merger   commited 2016-06-08 10:50:42 +00:00
198d78012d
Merge changes Ic98e3bcb,Idb0c55fc,Ia8649061,I5e7e5a87 into nyc-mr1-dev
am: ec79b10313

Change-Id: I2305c4019f56896d741caa509df41416368e5642

Lorenzo Colitti   authored and   android-build-merger   commited 2016-06-08 06:39:18 +00:00
e9aac55615
Merge changes Ic98e3bcb,Idb0c55fc,Ia8649061,I5e7e5a87 into nyc-mr1-dev
* changes:
  Give WakeupMessage the ability to transport an object as well.
  Don't treat the lingerExpired broadcast specially.
  Add a test for mobile data always on.
  Add a FakeSettingsProvider and use it in ConnectivityServiceTest.

TreeHugger Robot   authored and   Android (Google) Code Review   commited 2016-06-08 06:35:32 +00:00
ec79b10313
Add a test for mobile data always on.
Bug: 23113288
Change-Id: Ia8649061a797367d135bb5576600a7cdc85a822e

Lorenzo Colitti   commited 2016-06-08 14:08:59 +09:00
6caa9fe143
Package changed/removed listeners for always-on VPN
Fix 2 problems of always-on vpn after always-on package is removed
1. Prevent network being locked down (blocking all network traffic)
   Otherwise, user has no way to download the vpn app from Play Store,
   and never be able to gain control of the network again.
2. Allow user to connect other vpn app.

Implementation
1. Switch off always-on mode if the package gets removed.
2. Restart always-on mode if the package gets replaced/upgraded.

Bug: 29050764
Change-Id: Id3e389ae0b11c6002a5167919292d9634c2014cb

Robin Lee   commited 2016-06-06 15:42:50 +00:00
2073a5c734
Merge "Include network name in validation logs for dumpsys" into nyc-dev am: daef5224d1
am: 8a3ecc71d8

* commit '8a3ecc71d8':
  Include network name in validation logs for dumpsys

Change-Id: I448ed66de8de6444f4506892fd3e8043f203cc11

Paul Jensen   authored and   android-build-merger   commited 2016-06-06 11:34:06 +00:00
fdcf429d27
Merge "Include network name in validation logs for dumpsys" into nyc-dev
am: daef5224d1

* commit 'daef5224d1':
  Include network name in validation logs for dumpsys

Change-Id: I157481d338e65d7e89e4f97382f84ab2a3110e20

Paul Jensen   authored and   android-build-merger   commited 2016-06-06 11:23:57 +00:00
1980eacf27
Merge "Include network name in validation logs for dumpsys" into nyc-dev
am: daef5224d1

* commit 'daef5224d1':
  Include network name in validation logs for dumpsys

Change-Id: Ic5345cb7f309e509c7b9d7cb7b7ec4b95b8f1102

Paul Jensen   authored and   android-build-merger   commited 2016-06-06 11:23:51 +00:00
8a3ecc71d8
Merge "Include network name in validation logs for dumpsys" into nyc-dev
Paul Jensen   authored and   Android (Google) Code Review   commited 2016-06-06 11:08:45 +00:00
daef5224d1
Merge "Fix that fail to setup any vpn after Network Settings reset and always-on vpn is on" into nyc-dev am: 265f4113ee
am: 2360356d70

* commit '2360356d70':
  Fix that fail to setup any vpn after Network Settings reset and always-on vpn is on

Change-Id: I931c5d99282a6350e15aefbf400c90935237e679

Robin Lee   authored and   android-build-merger   commited 2016-06-06 10:43:51 +00:00
684d7543bd
Merge "Fix that fail to setup any vpn after Network Settings reset and always-on vpn is on" into nyc-dev
am: 265f4113ee

* commit '265f4113ee42e89f324b087a81044a9f1dab457e':
  Fix that fail to setup any vpn after Network Settings reset and always-on vpn is on

Change-Id: Iba3df72496f067c5e0291449be3bfbd9ce2031ff

Victor Chang   authored and   android-build-merger   commited 2016-06-06 10:33:00 +00:00
2360356d70
Merge "Fix that fail to setup any vpn after Network Settings reset and always-on vpn is on" into nyc-dev
am: 265f4113ee

* commit '265f4113ee42e89f324b087a81044a9f1dab457e':
  Fix that fail to setup any vpn after Network Settings reset and always-on vpn is on

Change-Id: I86a8f5c9b2dbd8ea71bdc8fb6268f3d9dc7e329d

Victor Chang   authored and   android-build-merger   commited 2016-06-06 10:30:42 +00:00
0ca903017c
Merge "cold sim clean up" into nyc-mr1-dev
am: ba3428f01b

* commit 'ba3428f01b8cc112cd85d1c4ffcc1407a3b8b7c6':
  cold sim clean up

Change-Id: I5a2e24d997408badd6db7576b2fa206eb9e5c4ca

fionaxu   authored and   android-build-merger   commited 2016-06-04 05:53:44 +00:00
a5011d73d6
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

fionaxu   commited 2016-06-03 11:45:12 -07:00
5447c49f01
Include network name in validation logs for dumpsys
Previously this was included in the log messages from NetworkMonitor
but that has been removed (ag/944107), making it frequently impossible
to know what network the logs apply to as there may be no way to
correlate NetIDs to WiFi SSIDs or Cellular networks if the log has wrapped.

Bug: 26075613
Change-Id: I2e3cd41fffb616ab9f855cb16790360bd3414793

Paul Jensen   commited 2016-06-03 13:51:21 -04:00
72b24b1b5b
Fix that fail to setup any vpn after Network Settings reset and always-on vpn is on
Cause: It revoked the user consent of the vpn app without reseting always-on vpn.
In addition, prepareVpn sets legacy vpn as the current package, the state in
Vpn.class is broken, as it thought the current always-on package is legacy vpn,
(mAlwaysOn is only for app vpn, not for legacy vpn). As a result, prepareVpn rejects
all VpnService.prepare.

Bug: 29031820
Change-Id: Id6bf1d6f38cf134a872811806301b8a602fb5725

Victor Chang   commited 2016-06-03 17:14:32 +01:00
4754f8d47f
Merge "Return legacy VPN info regardless of lockdown mode" into nyc-dev am: ca9615bb20
am: ef7e644fc5

* commit 'ef7e644fc5ce23768cf11c2b397c7938a0971992':
  Return legacy VPN info regardless of lockdown mode

Change-Id: I74b7cb240b959a8c67b8967b4a78338eb80f6a81

Robin Lee   authored and   android-build-merger   commited 2016-05-25 21:28:27 +00:00
23e1419404
Merge "Return legacy VPN info regardless of lockdown mode" into nyc-dev
am: ca9615bb20

* commit 'ca9615bb20':
  Return legacy VPN info regardless of lockdown mode

Change-Id: I89c0784d5edae3c7ef9f8ec1c6ee4f823dbbae02

Robin Lee   authored and   android-build-merger   commited 2016-05-25 21:20:43 +00:00
b8a5f360e3
Merge "Return legacy VPN info regardless of lockdown mode" into nyc-dev
Robin Lee   authored and   Android (Google) Code Review   commited 2016-05-25 21:05:55 +00:00
ca9615bb20
Merge "Fix default network transition event recording" into nyc-dev
am: 3cd6a8b85d

* commit '3cd6a8b85d':
  Fix default network transition event recording

Change-Id: Ic6ae9cd2620b1793f53667eb7d84c0b6f56d716e

Hugo Benichi   authored and   android-build-merger   commited 2016-05-25 03:31:34 +00:00
86d587563a
Merge "Fix default network transition event recording" into nyc-dev
Hugo Benichi   authored and   Android (Google) Code Review   commited 2016-05-25 03:22:32 +00:00
3cd6a8b85d
Fix default network transition event recording
When disconnecting from a default network X and falling back on another
connected network Y as the new default, ConnectivityService was
attempting to record this event as a X -> Y "atomic" transition.

In practice the default network connectivity is actually lost and
recovering default network takes some non-zero time.

This patch changes the event recording to always record disconnection as
X -> 0 events. At the same time, if there is a fallback network that is
elected as the new default ConnectivityService will also record a 0 -> Y
event.

This patch also improves pretty-printing of DefaultNetworkEvent.

Extract from $ adb shell dumpsys connectivity_metrics_logger --events
17:51:00.086: DefaultNetworkEvent(0 -> 100:CELLULAR)
17:51:25.232: DefaultNetworkEvent(100:IPv4 -> 101:WIFI) # wifi goes on
17:51:44.064: DefaultNetworkEvent(101:DUAL -> 0)        # wifi goes off
17:51:44.187: DefaultNetworkEvent(0 -> 100:CELLULAR)

Bug: 28204408
Change-Id: I63252633235bf6ba833b9ac431a80dda75a93e67

Hugo Benichi   commited 2016-05-25 10:03:38 +09:00
3f34b66e47
Merge "Fixed enforceMeteredApnPolicy when Data Saver is on." into nyc-dev
am: efd3a1749f

* commit 'efd3a1749f2737199643cc29bea6132a9786223b':
  Fixed enforceMeteredApnPolicy when Data Saver is on.

Change-Id: I87b596346c058c7ac8efbebb67b43664f1be0fed

Felipe Leme   authored and   android-build-merger   commited 2016-05-24 18:13:16 +00:00
1411952a68
Fixed enforceMeteredApnPolicy when Data Saver is on.
When enforceMeteredApnPolicy() is called when Data Saver mode is on and
the caller's UID is not whitelisted, it should add a
NET_CAPABILITY_NOT_METERED to the capabilities.

Change-Id: Ieed4f4a7634ee023ec58c91859263655e0ba62d4
Fixes: 28608499 (and https://code.google.com/p/android/issues/detail?id=208478)

Felipe Leme   commited 2016-05-23 09:43:53 -07:00
35631e00c9
Merge "Lock down networking when waiting for always-on" into nyc-dev
am: 1540a79a8b

* commit '1540a79a8b':
  Lock down networking when waiting for always-on

Change-Id: I7be0a85597936421750d1da0fde3d55d7d4fabc5

Robin Lee   authored and   android-build-merger   commited 2016-05-18 23:42:43 +00:00
198d6cf688
Merge "Lock down networking when waiting for always-on" into nyc-dev
Robin Lee   authored and   Android (Google) Code Review   commited 2016-05-18 23:37:24 +00:00
1540a79a8b
Lock down networking when waiting for always-on
Fix: 26694104
Fix: 27042309
Fix: 28335277
Change-Id: I47a4c9d2b98235195b1356af3dabf7235870e4fa

Robin Lee   commited 2016-05-19 00:26:53 +01:00
48bf4ec223
Merge "Added a onRestrictBackgroundBlacklistChanged() callback." into nyc-dev
am: 54bc88cdbc

* commit '54bc88cdbc':
  Added a onRestrictBackgroundBlacklistChanged() callback.

Change-Id: I4e19dd2828b8b67fc7b2d2173d77a82d67d53d19

Felipe Leme   authored and   android-build-merger   commited 2016-05-17 18:43:43 +00:00
b6b7b81ae0
Return legacy VPN info regardless of lockdown mode
This stops Settings from telling the user detailed information, and
doesn't really protect anything secret -- privileged apps can already
tell that there's an active VPN by looking at network info.

Change-Id: I9c2a3cab6dff1b62e94a9e0735dccde226fd26a3
Fix: 28624328

Robin Lee   commited 2016-05-17 14:31:52 +01:00
08b036aebd
Added a onRestrictBackgroundBlacklistChanged() callback.
When an UID is added / removed to the Data Saver blacklist, it's
necessary to notify internal components such as the Settings UI (which
was erroneously listening to UID rules changes instead).

BUG: 28743623
BUG: 28791717

Change-Id: I11c85e141dfe074ad390fd324309d2412bfbbd45

Felipe Leme   commited 2016-05-16 13:30:57 -07:00
81fb728ce4