summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2018-04-30SettingsActivity: Migrate permissions check to AppCompatHarsh Shandilya
Pretty straightforward, I was clearly overthinking this. Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2018-04-30ZipExporterPreference: Correctly get preference activityHarsh Shandilya
In AppCompat based preferences, this#getContext returns an object of android.view.ContextThemeWrapper class from where we can safely extract a reference to our parent activity. Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2018-04-30TunnelListFragment: Use Collections methods in place of ArraysHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2018-04-30wg: Break out crossport dependencyHarsh Shandilya
Replace all crossport uses with upstream design support library components. Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2018-04-30wg-build: Upgrade databinding library to 3.1.2Harsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2018-04-30SettingsActivity: Gracefully exit when options menu home is pressedHarsh Shandilya
This is an activity, so it does not join the fragment backstack, but instead piles on top SettingsActivity | -> MainActivity | -> EditorFragment | -> DetailFragment | -> ListFragment Without overriding the back button in the toolbar, it simply kills the entire state on MainActivity and causes it to reload. By calling finish() on the activity when home is pressed from the item menu we can silently make it die without affecting any underlying states held by MainActivity and instead return to the exact fragment we launched settings from. Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2018-04-30SettingsActivity: Define preferenceTheme for AppCompatHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2018-04-30wg: Migrate menu visibility to AppCompatHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2018-04-30wg: Add and use dummy AppThemeHarsh Shandilya
Preparation for when the app will start carrying colors reflecting the WireGuard brand. Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2018-04-30Prefer AppCompat classesHarsh Shandilya
AppCompat is the preferred way to go for any app targetting a wider range of SDKs. Replace all activities and fragments with their AppCompat variants and fixup method calls to use support variants. Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2018-04-30wireguard: Extract dependency versions to ext structHarsh Shandilya
Maintain common versions in a single place Also upgraded the support library to 27.1.1 and databinding library to 3.1.1. Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2018-04-30TunnelDetailFragment: rewrite and simplifyJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-30TunnelEditorFragment: rewrite and simplifyJason A. Donenfeld
This should remove some null pointer dereferences and overall make the thing more robust. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-29Allow exporting to zip fileJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-28Allow importing from zip fileJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-28config: Minor cleanupHarsh Shandilya
- Stop implicitly assuming locales in String.format - Cleanup method visibilities - Improve uses of Integer methods - Remove unused getToken method Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2018-04-28Quick cleanup across the boardHarsh Shandilya
- Clean up imports - Adjust method visibility - Drop in NonNull annotations where needed - Prevent potential NPEs from nulled getActivity calls - Remove unused methods Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2018-04-28Version bumpJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-28Use validation instead of two-way bindingJason A. Donenfeld
This is insane, but it appears to be working. We essentially store things in a separate class for editing, and then commit it back at a given time. This business with onViewStateRestored in both TunnelEditorFragment and in TunnelDetailFragment is buggy and likely wrong. In general TunnelEditorFragment should probably be rewritten. The relationship with the changed name is not clear. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-27Do not do DNS lookups for IPsJason A. Donenfeld
This involves reflection, which is a bummer, but it's better than doing unnecessary DNS lookups. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-27Add build instructionsJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-27Throw IllegalArgumentExceptions when arguments are badJason A. Donenfeld
This will make the two way data binding crash more, but it will improve the robustness of the config file parser, which deals with exceptions gracefully, and when we move to one way data binding, it will help with that too. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-27Latest go changesJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-26WgQuickBackend: always create configuration fileJason A. Donenfeld
It might be removed on an update. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-26Manifest: disable always-on VPNJason A. Donenfeld
We don't actually comprehend how this works yet, so disable it. But we'll need to add support for this at some point. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-25GoBackend: bring down tunnels when revoked or disconnectedJason A. Donenfeld
This synchronizes the OS's connection state with ours, such as when the user disconnects using the system UI. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-25Use variable map instead of shell switchJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-25Curve25519: fix up spacingJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-24Use binary distro of GolangJason A. Donenfeld
This is a bummer, but Gradle already specifies tons of specific versions of various binary components, so this is not materially different than the rest of how this whole thing works. It also allows us to specify the Go version that will actually build a working binary of wireguard-go, since all of the Go bugs mean not every version works equally. We do *not* want to use whatever version a distro happens to be shipping. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-23Version bumpJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-23Update application state based on wg-quickJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-19Version bumpJason A. Donenfeld
Due to https://github.com/golang/go/issues/24950 Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-19Work around go fd closing limitation and version bumpJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-18Version bump for go race conditionJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-18Determine MTU automaticallyJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-18Version bumpJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-18Update dependenciesJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-18More javaficationJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-17Version bumpJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-17GoBackend: default MTU is 1280Jason A. Donenfeld
This sucks, but it works with mobile networks. Later we can do something sophisticated like we do with wg-quick.c, but not now. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-17Remove sloppy java with enterprise java horrorsJason A. Donenfeld
Since the amount of mind numbing boiler plate has been increased, this must be the proper way to do things. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-17global: update various upstreamsJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-17GoBackend: Handle vpn service expirationAurélien Chabot
After a timeout the android system is destroying the vpn service when it is not used. By using a completable future we can wait for the service to be relaunch on demand. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-17Config: Handle multiple address or dns in config fileAurélien Chabot
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-17GoBackend: Add support for multiple address and dns as a comma separated listAurélien Chabot
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-17GoBackend: parse allowed ipsAurélien Chabot
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-17GoBackend: Parse the dns addressAurélien Chabot
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-17GoBackend: IPv6 handlingAurélien Chabot
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-17GoBackend: Resolve endpoint before passing it to the go libAurélien Chabot
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-17GoBackend: Use the android VpnService to encapsulate the go backendAurélien Chabot
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>