Disallow bypass when vpn is lockdown
Allowing network bypass on a vpn that's running in lockdown mode causes it to lose internet connectivity. Prevent the vpn from entering such a state at least on vpn-start / vpn-restart.
A slightly better implementation would check for vpn lockdown on every network_change event, and restart the vpn to disallow / allowBypass accordingly. Android doesn't broadcast change in vpn's lockdown mode, and so even checking on every network_change event doesn't cover all cases either. In RethinkDNS (an intra fork), we check for vpn lockdown mode changes on every new tcp/udp conn (wasteful, but... :shrug:)
https://github.com/celzero/rethink-app/blob/46f08da505e234c098626208682f2b12dce21920/app/src/main/java/com/celzero/bravedns/service/BraveVPNService.kt#L1103-L1117
Prior art: https://github.com/Jigsaw-Code/Intra/pull/24#discussion_r597377493
Ref: https://github.com/celzero/rethink-app/issues/92
gh pr checkout 420
https://github.com/celzero/rethink-app/blob/46f08da505e234c098626208682f2b12dce21920/app/src/main/java/com/celzero/bravedns/service/BraveVPNService.kt#L1103-L1117
https://github.com/celzero/rethink-app/blob/46f08da505e234c098626208682f2b12dce21920/app/src/main/java/com/celzero/bravedns/service/BraveVPNService.kt#L1103-L1117
https://github.com/celzero/rethink-app/blob/46f08da505e234c098626208682f2b12dce21920/app/src/main/java/com/celzero/bravedns/service/BraveVPNService.kt#L1103-L1117
https://github.com/celzero/rethink-app/blob/46f08da505e234c098626208682f2b12dce21920/app/src/main/java/com/celzero/bravedns/service/BraveVPNService.kt#L1103-L1117
https://github.com/Jigsaw-Code/Intra/pull/24#discussion_r597377493