summaryrefslogtreecommitdiff
path: root/libs/androidfw/StringPool.cpp
diff options
context:
space:
mode:
author lucaslin <lucaslin@google.com> 2022-03-30 20:42:43 +0800
committer Cherrypicker Worker <android-build-cherrypicker-worker@google.com> 2022-05-10 10:18:56 +0000
commit65d44b93bb99eae441ebf5bf1afb4efd00074758 (patch)
treeb94bac36e95a50a3c7f51c285bf1ef209236bd0c /libs/androidfw/StringPool.cpp
parent938c647b7a8647f6fc21fcb86c79f03cc70cdc57 (diff)
Clear mInterface before calling resetIkeState()
Clear mInterface before calling resetIkeState() in onDefaultNetworkChanged(). resetIkeState() will trigger interfaceRemoved() to be called. If mInterface is set, interfaceRemoved() will clear Ikev2VpnRunner which makes VPN disconnect. This issue can be reproduced when device establishes VPN connection with mobile data first then connects to wifi. In this case, onLost() for mobile data will not be called because there is a new network(wifi) can satisfy the request, so only onAvailable() for wifi will be called. Which means onSessionLost() will not be called and only onDefaultNetworkChanged() will be called, which makes that mInterface is not cleared before interfaceRemoved() is called. Bug: 219546241 Test: Check if VPN is still there when establishing VPN with mobile data first, then connect to wifi and disconnect wifi. Change-Id: I7f9a1d9afd2a40762e9fac68edf1fb8ae75df8bc (cherry picked from commit 520cc2fde363dd038911b98b8b46259faf58a659) Merged-In: I7f9a1d9afd2a40762e9fac68edf1fb8ae75df8bc
Diffstat (limited to 'libs/androidfw/StringPool.cpp')
0 files changed, 0 insertions, 0 deletions