Android
Android copied to clipboard
VPN start trampoline
Task/Issue URL: https://app.asana.com/0/1202279501986195/1202332814862288/f
Description
Comprehensive discussion in the Asana task.
TL;DR
- VpnService runs in its own process
- But it is started from the main browser process
- majority of the time is spent on Android creating the
:vpnprocess - which increases the likehood of exceptions because the time between startForegroundService() and startForeground() exceeds the Android predefine threshold
- this PR uses a trapoline service whenever possible so that the process creation time doesn't account
Steps to test this PR
Sanity checks on AppTP enable/disable, ie:
- [x] enable/disable from the UI
- [x] enable/disable when device reboots should work
- [ ] force close app when AppTP is enable and re-open should enable AppTP normally
