It's Riseup's twentieth year, help keep us going! If you can afford it, please contribute to our winter fundraising drive.
The VPNFragment should only react to changes in the background.
I would suggest something like an VPNManager to send commands to the EIP(IntentService).
Perhaps it would be nice to put all VPN relevant files into one module.
Note that initialization should take place in the StartActivity.