Stop VPN profiles by exiting VpnRunner instead of prepareInternal
Change to call the VpnRunner.exit to stop vpn profile instead of using prepareInternal to leave the package intact. This aligns with the way that VpnServices are disconnected so that the package and other related information will not be reset unexpectedly. In current design, Vpn will examine if the current prepared package matches to prevent an existing always-on VPN from being dethroned by other apps when the VPN always-on is enabled. However, when the VPN is disabled using stopVpnProfile, the current package name will be updated to [LEGACY VPN]. The current package will no longer be the same with the VPN package. This resulted in the rejection of the VPN app to start the VPN using VpnManager.startVpnProfile again. Test: atest FrameworksNetTests Test: manually test with VPN app to reconnect VPN when always-on is enabled. Bug: 235322391 Change-Id: I83e1e1edf6c3a6653d87216afcd397f296f59cf2
Loading
Please register or sign in to comment