Build Android prototype app
An initial prototype should support the following operations:
-
Have a text view field, that is copyable, but not editable, where we can log text output to. This will allow us to copy log data from onionmasq to emails/pad/whatever for sharing/debugging purposes.
-
A button to connect and disconnect the VPN.
-
It would be useful to have a list of applications that are present on the device where the user can select/unselect individual items. The application need to convert these application names to Android UID's (so a vector of integer?) that we can pass to onionmasq for filtering purposes.
-
@ahf will be working on figuring out the FFI layer between the app and the Rust code, but for now the important thing is being able to pass the VPN file descriptor from Android's VPN subsystem to Rust.