Commit graph android_packages_modules_Co.../core/java/android
Message SHA1
Merge changes from topic 'cm_request_to' am: d6877b2576 am: 0a8122afa9 am: 6e3ea85738
am: a8bb0c7fdd

Change-Id: I2cef23ff183428041273007cf9bb1b655f92372a

Etan Cohen   authored and   android-build-merger   commited 2017-02-16 14:46:52 +00:00
e4d934db90
Merge changes from topic 'cm_request_to' am: d6877b2576
am: 0a8122afa9

Change-Id: I2720e64e4af88df9d3a7b6209e9fcef4a0340986

Etan Cohen   authored and   android-build-merger   commited 2017-02-16 14:29:29 +00:00
6e3ea85738
Merge changes from topic 'cm_request_to'
* changes:
  [CM] Remove maximum timeout value for request network
  [CM] Remove non-functional timeout from request network

Etan Cohen   authored and   Gerrit Code Review   commited 2017-02-16 14:15:44 +00:00
d6877b2576
[CM] Remove maximum timeout value for request network
The request network with timeout was originally created with a
check of max timeout against a constant of 100 minutes. However,
the API was not public and did not implement a timeout. Any users
were internal and never got any onUnavailable() callback (since
timeout never triggered).

There is no reason to have a max timeout so the constant is
remove.

Bug: 31399536
Test: unit tests and CTS of ConnectivityManager
Change-Id: Icbedfb4299d75b6a7e3e43720111531f1faafd06

Etan Cohen   commited 2017-02-16 14:15:16 +00:00
8500016ea4
Merge "ConnectivityManager: fix potential NPE" am: b688dd18ab am: 95d22b0c92 am: 3b0915b6f5
am: 47be55d3ec

Change-Id: I628fdf36a5a80a2d93ff4c4785253cb16a9e4ad2

Hugo Benichi   authored and   android-build-merger   commited 2017-02-15 01:29:31 +00:00
6987c7d743
Merge "ConnectivityManager: fix potential NPE" am: b688dd18ab
am: 95d22b0c92

Change-Id: I72e114037ce6a0ec53863749b8ffa34513c9fdce

Hugo Benichi   authored and   android-build-merger   commited 2017-02-15 01:09:58 +00:00
3b0915b6f5
ConnectivityManager: fix potential NPE
ConnectivityManager static sCallbackHandler is referenced and directly
used in a way that is not ensuring its proper initialization.

This patch fixes this potential NPE by using getHandler() instead.

Also this patch changes sendRequestForNetwork's signature to only accept
the subtype CallbackHandler instead of Handler: without using
CallbackHandler the NetworkCallbacks are not triggered properly and
bookkeeping of sCallbacks does not happen. sendRequestForNetwork's
signature now makes this explicit.

This step prepares the addition of overloaded versions of
registerNetworkCallback and cie that takes custom Handlers.

Test: build, flashed, manually checked connectivity
Change-Id: I52e8a2cb5075e7aef7b35e30c9845cacba927d13

Hugo Benichi   commited 2017-02-14 16:01:40 +09:00
bc4ac9775f
Merge "Add ConnectivityManager.networkCapabilitiesForType()" am: c313123afe am: d313f7c9fa am: 022044ea69
am: 47500d9b1b

Change-Id: I15fe6fe4c9aec3d244b46516c2992ded33337a9f

Erik Kline   authored and   android-build-merger   commited 2017-02-02 20:03:51 +00:00
21573da57d
Merge "Add ConnectivityManager.networkCapabilitiesForType()" am: c313123afe
am: d313f7c9fa

Change-Id: I6828bc3bb094ca8597ca2d8538045758638c374f

Erik Kline   authored and   android-build-merger   commited 2017-02-02 07:27:13 +00:00
022044ea69
Add ConnectivityManager.networkCapabilitiesForType()
This static method returns a NetworkCapabilities instance with
transports and capabilities set according to the given legacy type.

Also:
    - add NetworkRequest.Builder.setCapabilities(), to be able to use
      the NetworkCapabilities instances returned from the above
    - update UpstreamNetworkMonitor to make immediate use of this

Test: as follows
    - build (bullhead)
    - flashed
    - booted
    - runtest frameworks-net passes
    - WiFi to DUN upstream tethering works
Bug: 32163131

Change-Id: Idfe1ddd2815c355cbf27cf29eb0e3de177de84e9

Erik Kline   commited 2017-02-02 11:07:59 +09:00
ce55eb160d
Add an API hint for metered multipath traffic.
This allows an application that knows how to provide seamless
network connectivity (e.g., using QUIC multipath) to find out if
doing so is desired.

Test: builds, boots, runtest frameworks-net passes.
Bug: 34630278
Change-Id: Ic7fd0b9e1cd879fdfaf84009d7125391895e9087

Lorenzo Colitti   commited 2017-02-01 17:02:29 +09:00
48a2a32bdd
Merge commit 'f2bcda635c' into nyc-mr1-dev-plus-aosp
* commit 'f2bcda635c':
  Captive portals: login activity probes like NetworkMonitor
  Logging improvements in CaptivePortalLoginActivity
  Captive portal systel log improvements
  Fix flaky IpPrefixTest.
  Removing bogus file added by mistake
  frameworks-test: adding missing @SmallTest
  Netd events: record connect() success/errno
  Add missing dependency.
  Show notification for always-on app VPN

The Android Automerger   commited 2017-01-27 06:39:52 +00:00
c95cbb9588
Merge commit 'a19056c35d16ddb5a6c1d3343729701b8939f1e1' into nyc-mr1-dev-plus-aosp
* commit 'a19056c35d16ddb5a6c1d3343729701b8939f1e1': (35 commits)
  NetworkMonitor: send one DNS probe per web probe
  NetworkMonitor metrics: add first validation information
  APF: also drop any ICMPv6 RSs
  ConnectivityServiceTest: fix testAvoidBadWifiSettings
  Fix ConnectivityServiceTest testRequestBenchmark
  Switch over to new "time.android.com" NTP pool.
  Define API for metering network stats buckets.
  Refactored NetworkStatsServiceTest to use Mockito instead of EasyMock.
  Use @Ignore to explicitly disable a @Test method.
  Fixed NetworkStatsServiceTest and converted it to JUnit4.
  VPN network stat accounting changes.
  ConnectivityThread: use lazy holder idiom
  ConnectivityManager: use ConnectivityThread looper
  ConnectivityManager: a simpler CallbackHandler
  Indicate the NsdServiceInfo attributes are only filled in for a resolved service.
  Add a null check for the OnStartTetheringCallback.
  TokenBucket for rate-limiting and throttling
  IpConnectivityMetrics reads buffer size in settings
  CaptivePortalLogin: set mixed content policy to compatibility.
  Add IP conn metrics to dumpsys and bug reports
  ...

The Android Automerger   commited 2017-01-27 06:39:05 +00:00
d49ba144f0
Captive portals: login activity probes like NetworkMonitor
This patch changes CaptivePortalLoginActivity captive portal test to be
consistent with NetworkMonitor by:
 - using Network.java to open the http connection.
 - adding a UserAgent property to the request header.

Test: manually tested.
Bug: 32369183

(cherry picked from commit 454e066e27)

Change-Id: I559eb0497475daad758ba3b3395225dcd0a27a57

Hugo Benichi   authored and   Lorenzo Colitti   commited 2017-01-26 18:53:03 +09:00
f2bcda635c
ConnectivityManager: use ConnectivityThread looper
This patch removes the static singleton looper used by
ConnectivityManager and instead uses the common ConnectivityThread.

This allows to removes the static atomic counter used to track
the number of registered NetworkCallback in ConnectivityManager, because
the looper is not turned off anymore when no callbacks are registered.

Also an overloaded version of sendRequestForNetwork is added taking as a
new parameter a Handler. This will allow to overload various callback
and request related API calls with user provided Handlers.

Test: ConnectivityServiceTest passes
Bug: 26749700
Bug: 28537383
Bug: 32130437

(cherry picked from commit 3b41f05d68)

Change-Id: If956addbf8e7b11b36a4b966de7fca00e8f362c1

Hugo Benichi   authored and   Lorenzo Colitti   commited 2017-01-26 18:51:46 +09:00
eba4b5b0bd
ConnectivityManager: a simpler CallbackHandler
This patch simplifies CallbackHandler in the following way:
  - CallbackHandler directly uses the static references to
    sNetworkCallback and sCallbackRefCount. This allows to remove
    instance fields in CallbackHandler.
  - CallbackHandler does not have a reference to ConnectivityManager
    anymore
  - CallbackHandler.getObject() is now generic in a type-safe way.

Test: ConnectivityServiceTest passes
Bug: 28537383
Bug: 32130437

(cherry picked from commit 0b42baf68a)

Change-Id: I1b5fe2a361b5f623a8310ae698497c83d72f3034

Hugo Benichi   authored and   Lorenzo Colitti   commited 2017-01-26 18:51:43 +09:00
03eeaae5f0
Add a null check for the OnStartTetheringCallback.
This avoids a NullPointerException when trying to call the callback
and gives a more readable error message.

(cherry picked from commit 35e99ea8ef)

Change-Id: Ia419ff68ef10f308f9e44be47420e27099ee6070

Jeremy Klein   authored and   Lorenzo Colitti   commited 2017-01-26 18:51:36 +09:00
d6114b0eda
Support timeouts for requestNetwork() invocations.
(cherry-pick of 0b7a74842b)
(cherry picked from commit 155a59aa63)

Bug: 21414325
Change-Id: I1a58823a372154589f972b98c4c428eab0e0523e

Erik Kline   authored and   Lorenzo Colitti   commited 2017-01-26 18:50:23 +09:00
d99da81fae
Merge "[AWARE] Unhide Wi-Fi Aware API (baseline)" am: dfe8f5dc13 am: 877ccf68fb am: 463d3c6e7c
am: 669e846a8a

Change-Id: Ib668ed15ccf1f05c5ed31f700b69e1f3ab8b4cac

Etan Cohen   authored and   android-build-merger   commited 2017-01-11 23:28:20 +00:00
abccaf34c3
Merge "[AWARE] Unhide Wi-Fi Aware API (baseline)" am: dfe8f5dc13 am: 877ccf68fb
am: 463d3c6e7c

Change-Id: If2a6b632cd03984921572b190745865953a8e808

Etan Cohen   authored and   android-build-merger   commited 2017-01-11 23:22:51 +00:00
669e846a8a
Merge "[AWARE] Unhide Wi-Fi Aware API (baseline)" am: dfe8f5dc13
am: 877ccf68fb

Change-Id: I6f894d92451032657678639c3021eef07289a6a2

Etan Cohen   authored and   android-build-merger   commited 2017-01-11 23:17:19 +00:00
463d3c6e7c
Merge "[AWARE] Unhide Wi-Fi Aware API (baseline)"
am: dfe8f5dc13

Change-Id: I581b72ce62966f4c04427603a2b9686dcf46cc42

Etan Cohen   authored and   android-build-merger   commited 2017-01-11 23:12:16 +00:00
877ccf68fb
[AWARE] Unhide Wi-Fi Aware API (baseline)
Baseline Wi-Fi Aware API providing discovery and connectivity (data-path).

Bug: 30983968
Test: unit tests + integration (sl4a) tests passing.
Change-Id: Idd7c6a625f168717b083d5f13e291ce916571933

Etan Cohen   commited 2017-01-11 11:13:26 -08:00
785ddc7f52
Remove requestRouteToHost and {start,stop}UsingNetworkFeature.
These APIs have been deprecated since L, and since M have thrown
IllegalArgumentException for apps targeting M or newer.

Test: API check passes.
Bug: 33607472
Change-Id: Ie582cac3872be21c51e1e37d16d7cfac496ed3e4

Lorenzo Colitti   commited 2017-01-05 17:39:21 +09:00
84d7f0786a
DO NOT MERGE Captive portals: login activity probes like NetworkMonitor
This patch changes CaptivePortalLoginActivity captive portal test to be
consistent with NetworkMonitor by:
 - using Network.java to open the http connection.
 - adding a UserAgent property to the request header.

Test: manually tested.
Bug: 32369183

(cherry picked from commit 454e066e27)

Change-Id: I559eb0497475daad758ba3b3395225dcd0a27a57

Hugo Benichi   commited 2017-01-05 12:12:50 +09:00
22569ca49a
Captive portals: login activity probes like NetworkMonitor am: 454e066e27
am: 7aefeec9b3

Change-Id: I57a5a1a92385d4a3bf2fdd6bedeaf93430ecc158

Hugo Benichi   authored and   android-build-merger   commited 2016-12-19 18:29:41 +00:00
924e436af8
Captive portals: login activity probes like NetworkMonitor
am: 454e066e27

Change-Id: Ie85df7dd734b872cc361d0820edbfffc928f9f3a

Hugo Benichi   authored and   android-build-merger   commited 2016-12-19 02:07:41 +00:00
7aefeec9b3
Captive portals: login activity probes like NetworkMonitor
This patch changes CaptivePortalLoginActivity captive portal test to be
consistent with NetworkMonitor by:
 - using Network.java to open the http connection.
 - adding a UserAgent property to the request header.

Test: manually tested.
Bug: 32369183
Change-Id: I33cbcdab9809c712d998da6d925bdd4e3093f8ff

Hugo Benichi   commited 2016-12-19 09:19:13 +09:00
454e066e27
docs: changes to broadcast documentation am: 3e422ac3cc am: 276e436a24 am: ec5096b07a
am: f92e4912ea

Change-Id: I2dcb6bc7f8ebf385bc7d6a571a760c140a65e9fb

Mark Lu   authored and   android-build-merger   commited 2016-12-16 05:30:20 +00:00
8dfe9fc09c
docs: changes to broadcast documentation am: 3e422ac3cc
am: 276e436a24

Change-Id: I2e8377b188ce6a10ea633e089c3a20f9ef7908fd

Mark Lu   authored and   android-build-merger   commited 2016-12-16 05:06:42 +00:00
ec5096b07a
docs: changes to broadcast documentation am: 3e422ac3cc
am: 276e436a24

Change-Id: I7dcb1bc57fb62f2b177c7ad15a9236da98fb749f

Mark Lu   authored and   android-build-merger   commited 2016-12-16 05:06:37 +00:00
9e0c74f54c
Merge "Have IpManager track L2-L4 signaling traffic required for IP connectivity." am: 80ff5ecd4a
am: 4f4a914a0f

Change-Id: Ib46bdab897cef221f4c22326e562130822d42298

Erik Kline   authored and   android-build-merger   commited 2016-12-15 12:28:41 +00:00
c372b4ba35
Have IpManager track L2-L4 signaling traffic required for IP connectivity. am: 929ed666b5
am: 63c2cd962a

Change-Id: Iccd81c5d722a14409fc4f22bc34c3607bca653da

Erik Kline   authored and   android-build-merger   commited 2016-12-15 10:21:08 +00:00
a72d649673
Have IpManager track L2-L4 signaling traffic required for IP connectivity.
am: 929ed666b5

Change-Id: Ie95309464d8f368f5040c74b59daba9700191e86

Erik Kline   authored and   android-build-merger   commited 2016-12-15 10:13:36 +00:00
63c2cd962a
Have IpManager track L2-L4 signaling traffic required for IP connectivity.
Test: as follows
    - built and flashed
    - observed logcat
    - observed "dumpsys wifi ipmanager"
    - runtest BlockingSocketReaderTest passes
    - runtest ConnectivityPacketSummaryTest passes
Bug: 21859053
Bug: 26101306
Bug: 31742572
Bug: 31707128
Bug: 33531488

Change-Id: Ibecaf809dcc1813924b25749e8ba8eb2d4bdf114

Erik Kline   commited 2016-12-15 19:09:49 +09:00
867dfd1057
Have IpManager track L2-L4 signaling traffic required for IP connectivity.
Test: as follows
    - built and flashed
    - observed logcat
    - observed "dumpsys wifi ipmanager"
    - runtest BlockingSocketReaderTest passes
    - runtest ConnectivityPacketSummaryTest passes
Bug: 21859053
Bug: 26101306
Bug: 31742572
Bug: 31707128
Bug: 33531488

Change-Id: Ibecaf809dcc1813924b25749e8ba8eb2d4bdf114

Erik Kline   commited 2016-12-15 17:16:48 +09:00
929ed666b5
docs: changes to broadcast documentation
- move BroadcastReceiver info to developer guide. see cl/140402421
- add usage note to CONNECTIVITY_ACTION broadcast

bug:32533262
bug:33106411

Change-Id: Ic2aa517831d29418e0c42aa6fc1e7f9aeb50f802

Mark Lu   commited 2016-12-13 18:28:32 -08:00
3e422ac3cc
DO NOT MERGE: ConnectivityThread: use lazy holder idiom
This patch changes the way that the ConnectivityThread is lazily
instantiated by using the "lazy initialization holder class idiom".

The first code point that tries to obtain a reference to the unique
ConnectivityThread instance will trigger the creation of the Singleton
class, which will guarantee a thread-safe initialization of the static
INSTANCE field inside Singleton according to the language specs.

This is the Item #71 of Effective Java.

The unique static instance of ConnectivityThread is not stored directly
inside ConnectivityThread class but is stored in a static nested class.
This is to avoid triggering the creation of that unique instance when
Zygote does class preloading at phone startup. Otherwise this would lead
to Zygote creating a new OS thread during preloading, which is a fatal
error.

Test: frameworks-wifi tests pass
Bug: 26749700
Bug: 28537383
Bug: 32130437

(cherry picked from commit 3ab84b087a)

Change-Id: If13b363889a8e9396273a90c3d9f9421a48aecbc

Hugo Benichi   authored and   Lorenzo Colitti   commited 2016-12-09 13:42:26 +09:00
8f201294fe
DO NOT MERGE: ConnectivityManager: use ConnectivityThread looper
This patch removes the static singleton looper used by
ConnectivityManager and instead uses the common ConnectivityThread.

This allows to removes the static atomic counter used to track
the number of registered NetworkCallback in ConnectivityManager, because
the looper is not turned off anymore when no callbacks are registered.

Also an overloaded version of sendRequestForNetwork is added taking as a
new parameter a Handler. This will allow to overload various callback
and request related API calls with user provided Handlers.

Test: ConnectivityServiceTest passes
Bug: 26749700
Bug: 28537383
Bug: 32130437

(cherry picked from commit 3b41f05d68)

Change-Id: If956addbf8e7b11b36a4b966de7fca00e8f362c1

Hugo Benichi   authored and   Lorenzo Colitti   commited 2016-12-09 13:42:24 +09:00
301b09738a
DO NOT MERGE: ConnectivityManager: a simpler CallbackHandler
This patch simplifies CallbackHandler in the following way:
  - CallbackHandler directly uses the static references to
    sNetworkCallback and sCallbackRefCount. This allows to remove
    instance fields in CallbackHandler.
  - CallbackHandler does not have a reference to ConnectivityManager
    anymore
  - CallbackHandler.getObject() is now generic in a type-safe way.

Test: ConnectivityServiceTest passes
Bug: 28537383
Bug: 32130437

(cherry picked from commit 0b42baf68a)

Change-Id: I1b5fe2a361b5f623a8310ae698497c83d72f3034

Hugo Benichi   authored and   Lorenzo Colitti   commited 2016-12-09 13:42:20 +09:00
56260ed9cb
DO NOT MERGE: Add a null check for the OnStartTetheringCallback.
This avoids a NullPointerException when trying to call the callback
and gives a more readable error message.

(cherry picked from commit 35e99ea8ef)

Change-Id: Ia419ff68ef10f308f9e44be47420e27099ee6070

Jeremy Klein   authored and   Lorenzo Colitti   commited 2016-12-09 13:42:02 +09:00
fb63d5a4ef
DO NOT MERGE: Support timeouts for requestNetwork() invocations.
(cherry-pick of 0b7a74842b)
(cherry picked from commit 155a59aa63)

Bug: 21414325
Change-Id: I1a58823a372154589f972b98c4c428eab0e0523e

Erik Kline   authored and   Lorenzo Colitti   commited 2016-12-08 17:13:01 +09:00
5791c5f681
Merge "[NAN-AWARE] Rename NAN to Aware"
am: 6c75254555

Change-Id: I2e788e19a11f2709f2e542dbdc4b58433a3574bf

Etan Cohen   authored and   android-build-merger   commited 2016-11-06 03:13:31 +00:00
4ddc6321ef
[NAN-AWARE] Rename NAN to Aware
~Rename only (and any reformatting needed to pass lint) - no
functional changes!

Remove android.net.wifi.nan.STATE_CHANGED from manifest:
redundant/remnant of an older configuration.

(cherry-pick of commit a0edbf0ac8)

Bug: 32263750
Test: All unit tests and integration (sl4a) tests pass.
Merged-In: Ie4ff675fa61041e8fcf6a9bf9900ea835d0a7614
Change-Id: I4206d2fd722dc7dec9df4aee5c818101d7f9dccc

Etan Cohen   commited 2016-11-05 09:41:38 -07:00
7e93db5bda
[NAN-AWARE] Rename NAN to Aware
~Rename only (and any reformatting needed to pass lint) - no
functional changes!

Remove android.net.wifi.nan.STATE_CHANGED from manifest:
redundant/remnant of an older configuration.

(cherry-pick of commit a0edbf0ac8)
(cherry-pick of commit b061f21e7e59a99834e163e2baa1c82229e419a6)

Bug: 32263750
Test: All unit tests and integration (sl4a) tests pass.
Change-Id: Ie4ff675fa61041e8fcf6a9bf9900ea835d0a7614

Etan Cohen   commited 2016-11-04 15:42:08 -07:00
018d76cb9b
ConnectivityManager: use ConnectivityThread looper
This patch removes the static singleton looper used by
ConnectivityManager and instead uses the common ConnectivityThread.

This allows to removes the static atomic counter used to track
the number of registered NetworkCallback in ConnectivityManager, because
the looper is not turned off anymore when no callbacks are registered.

Also an overloaded version of sendRequestForNetwork is added taking as a
new parameter a Handler. This will allow to overload various callback
and request related API calls with user provided Handlers.

Test: ConnectivityServiceTest passes
Bug: 26749700
Bug: 28537383
Bug: 32130437
Change-Id: I431afcee7c7155bd7bac23a2e1e97fd5d6520c74

Hugo Benichi   commited 2016-10-21 08:54:34 +09:00
3b41f05d68
ConnectivityThread: use lazy holder idiom
This patch changes the way that the ConnectivityThread is lazily
instantiated by using the "lazy initialization holder class idiom".

The first code point that tries to obtain a reference to the unique
ConnectivityThread instance will trigger the creation of the Singleton
class, which will guarantee a thread-safe initialization of the static
INSTANCE field inside Singleton according to the language specs.

This is the Item #71 of Effective Java.

The unique static instance of ConnectivityThread is not stored directly
inside ConnectivityThread class but is stored in a static nested class.
This is to avoid triggering the creation of that unique instance when
Zygote does class preloading at phone startup. Otherwise this would lead
to Zygote creating a new OS thread during preloading, which is a fatal
error.

Test: frameworks-wifi tests pass
Bug: 26749700
Bug: 28537383
Bug: 32130437

Change-Id: I4d5672a3195d3af9a0a2c85f871695257abe782b

Hugo Benichi   commited 2016-10-20 09:30:13 +09:00
3ab84b087a
ConnectivityManager: a simpler CallbackHandler
This patch simplifies CallbackHandler in the following way:
  - CallbackHandler directly uses the static references to
    sNetworkCallback and sCallbackRefCount. This allows to remove
    instance fields in CallbackHandler.
  - CallbackHandler does not have a reference to ConnectivityManager
    anymore
  - CallbackHandler.getObject() is now generic in a type-safe way.

Test: ConnectivityServiceTest passes
Bug: 28537383
Bug: 32130437
Change-Id: I5004da5b91498e6ff7f8b05057a9e24b975bb56e

Hugo Benichi   commited 2016-10-20 09:09:02 +09:00
0b42baf68a
Restrict access to background networks to CHANGE_NETWORK_STATE. am: b8d9f52adb am: 9410bde219
am: 494c218bff

Change-Id: I49bc23dcb5f36654c61a7aa76c41cebda81349f5

Lorenzo Colitti   authored and   android-build-merger   commited 2016-09-25 20:11:52 +00:00
50d8cd9119
Restrict access to background networks to CHANGE_NETWORK_STATE. am: b8d9f52adb
am: 9410bde219

Change-Id: Ie4179344aa12e38d2e2a5fab43e028ca0c97150d

Lorenzo Colitti   authored and   android-build-merger   commited 2016-09-23 04:01:07 +00:00
494c218bff