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
Rename the class and ensure that all code related to bad wifi
avoidance has names that reflect its purpose. This will allow us
to reuse most of the the code for other purposes in future CLs.
Test: runtest frameworks-net passes
Bug: 34630278
Change-Id: Ida190e5a79e7a12f4eec07e1a3e4d9d138e83bcd
Lorenzo Colitticommited 2017-01-31 15:42:57 +09:00
Reverts half of commit 224743c6b7
Reverts parts of commit 4908ef3e42
Lockdown VPN still needs this to start properly on devices without FBE,
such as phones upgraded from M. Without listening to USER_PRESENT the
first unlock of keystore may get missed, since USER_UNLOCKED is sent too
soon to be useful.
Bug: 34587043
Change-Id: If7a2f5a3173b0f6856244a5f7904bf00c9a5b5e7
This patch improves system logging around captive portal detection to
make inspection of bug reports sligthly easier:
- NetworkMonitor now logs by default CMD_CAPTIVE_PORTAL_RECHECK and
CMD_CAPTIVE_PORTAL_APP_FINISHED. Other system logs are kept off with
a new VDBG boolean contant,
- NetworkNotificationManager now prints the notification id at
notification time. This allows to easily correlate show and clear.
- errors in NetworkNotificationManager are logged as Throwable instead
of through their implicit toString() method.
Test: $ runtest frameworks-net
Bug: 32198726
(cherry picked from commit 6fe7d3cdb3)
Change-Id: I1eaab5ea702063dde3e23324d3a1b3dc172c5ac5
Hugo Benichiauthored and Lorenzo Colitticommited 2017-01-26 18:52:55 +09:00
Guarantees that timeouts are only delivered if a network never
becomes available. Once a network is available the timeout is
canceled.
Bug: 31402633
Test: all timeout related unit tests pass (new one added)
(cherry picked from commit 88087226a6)
Change-Id: I7cd3086544c881915fc6dbf14b87a24ab0cd8748
Etan Cohenauthored and Lorenzo Colitticommited 2017-01-26 18:51:15 +09:00
Test: ConnectivityServiceTest updated with test cases.
Test: Manually tested against att-wifi in B42.
Bug: 30222699
(cherry picked from commit 3fd101e574)
Change-Id: I90c0f97fe0e41de4059bceae7b56ab3a70145696
Calvin Onauthored and Lorenzo Colitticommited 2017-01-26 18:50:42 +09:00
This patch removes testNotWaitingForIdleCausesRaceConditions() from
ConnectivityServiceTest because it is in nature flaky and prevents using
ConnectivityServiceTest as a patch presubmit check. Estimated failure
rate is 1/15 on Nexus 6p.
This patch also simplifies how ConnectivityServiceTest waits for
handlers to become idle by removing IdleableHandlerThread and turning it
into a signle static method.
Test: $ runtest frameworks-net
Bug: 31479480
Change-Id: I2d78709cbb61d5d01cd59cff326469417f73f1ab
Symptom : Infinite reboot
Reproduce step :
1. Set the Always-on VPN in M OS
2. OS upgrade from M to N
Reproduce frequency : 100%
Reason of issue :
https://android.googlesource.com/platform/frameworks/base/+/4908ef3
As you know, in M OS, Always-on VPN information is stored in keystore with encryted.
However, in N OS, there is no encryption when it put in keystore.
So, You deleted keystore check(locked/unlock) logic on ConnectivityService.
By this reason, when device upgrade to N OS(set Always-on VPN), it goes infinite boot.
(Cannot read old always-on vpn information untill device unlock.)
Solution :
I founded exception handling when this case as follows:
If getting Credentials.LOCKDOWN_VPN information has null value(catch the exception),
updateLockdownVpn returns false value.
Signed-off-by: SangJin Cha <sj.cha@lge.com>
Change-Id: I6fd980152440bb5248aab45e2f8fda448d3f6c7b
Guarantees that timeouts are only delivered if a network never
becomes available. Once a network is available the timeout is
canceled.
Bug: 31402633
Test: all timeout related unit tests pass (new one added)
(cherry picked from commit 88087226a6)
(cherry picked from commit 69e6a108a5)
Change-Id: I0cf1a2b7d25bc9912e03fca30621809a9071396c
Etan Cohenauthored and Lorenzo Colitticommited 2017-01-18 19:08:11 +09:00
When network setting reset is started while always-on VPN is enabled,
application crash occurs with IllegalStateException in prepareVpn().
Therefore, it's necessary to also disable always-on VPN in factoryReset
before prepareVpn() when turning off VPN.
Bug: 29030858
Change-Id: I08c5406717dd7937d197c2e934a56d037477aafc
Koichi, Sugimotoauthored and Robin Leecommited 2017-01-18 10:02:58 +00:00
specified for a given network.
Bug: 10705136
(cherry picked from commit 98f9c2c23b)
(cherry picked from commit 68902bc1df)
Change-Id: I12ac6f511a6760ef26f489ba3a052ca3c125e5ee
Pierre Imaiauthored and Lorenzo Colitticommited 2017-01-18 18:12:35 +09:00
This patch improves system logging around captive portal detection to
make inspection of bug reports sligthly easier:
- NetworkMonitor now logs by default CMD_CAPTIVE_PORTAL_RECHECK and
CMD_CAPTIVE_PORTAL_APP_FINISHED. Other system logs are kept off with
a new VDBG boolean contant,
- NetworkNotificationManager now prints the notification id at
notification time. This allows to easily correlate show and clear.
- errors in NetworkNotificationManager are logged as Throwable instead
of through their implicit toString() method.
Test: $ runtest frameworks-net
Bug: 32198726
(cherry picked from commit 6fe7d3cdb3)
Change-Id: I1eaab5ea702063dde3e23324d3a1b3dc172c5ac5
This patch changes NetworkNotificationManagerTest to populate extraInfo
of NetworkInfo in order to catch regressions in malformed format Strings
of log statements in NetworkNotificationManager.
Test: verified that the test fails when reintroducing the format String
bug.
Bug: 33737715
Change-Id: If14063554b8246d9d80cd222cb41c30dee121c5a
Commit 51727428fc added a string
format which caused an exception. On top of the fixes to this
from 5a45327352, we can also fix
a few more issues here with some missing arguments to other
String.format invocations in the aforementioned CL, and other
formatting problems.
Bug: 33737715
Test: Build and run SUW
(cherry picked from commit e46b47d85d)
Change-Id: I40064d3e1a0f0300c43bdbc51839b579a5394a36
Paul Stewartauthored and Hugo Benichicommited 2016-12-20 12:31:49 +09:00
This patch changes the (tag: String, id: Int) keying scheme for network
notifications so that TRON notification counters can count network
related notifications unambiguously.
TRON instruments all notifications shown for package "android" as well
as user interactions with these Notifications. These counters are
grouped by id. However the network notifications ("no internet" dialog,
"captive portal sign in" dialog, ...) use a static tag and a dynamic id
for keying notifications, preventing the counters to correctly
aggregate. In addition there is also the risk of collision with other
SystemUi notification ids not managed by NetworkNotificationManager.
In order to make the TRON counters useful for network notifications,
the id is now encoding the network notification type in a stable way
while the tag is used to uniquely identify network notifications.
Test: change covered by previously added new unit tests.
Bug: 32198726
Bug: 33030620
(cherry picked from commit 51727428fc)
Change-Id: Iadf7f15da38de28587090ed0395f15c24d4ad442