summaryrefslogtreecommitdiffhomepage
path: root/app
AgeCommit message (Collapse)Author
2018-01-07BaseActivity: Make variable names consistentSamuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-07TunnelManager/QuickTileService: Remember last used tunnelSamuel Holland
This is actually a bit simpler than having a manually-selected "primary" tunnel, and is hopefully easier for the user. Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-07Remove primary configuration preferenceSamuel Holland
It is no longer used. Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-07FileConfigStore: Move function returns outside try blocksSamuel Holland
This makes more clear what things can throw exceptions, and the functions' control flow. Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-07Tunnel: Remove UNKNOWN stateSamuel Holland
It's never used. Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-07Move bundle keys where they are usedSamuel Holland
This both clarifies and simplifies the code. Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-07WgQuickBackend: Prefer ArrayList over LinkedListSamuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-07app: Upgrade to build tools version 27.0.3Samuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-07ConfigEditorFragment: Support renaming tunnelsSamuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-07model: Allow renaming tunnelsSamuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-07model: Remove confusing uses of completion chainingSamuel Holland
This looks like the builder pattern, but isn't. Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-07TunnelListFragment: Name a CompletionStage what it isSamuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-07Tunnel: The name passed to isNameValid is never nullSamuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-07ConfigEditorFragment: Ensure localName is never nullSamuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-07Make TunnelManager the point of asynchronicitySamuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-06TunnelManager: Sort tunnels case-insensitivelySamuel Holland
The second comparator is required to allow multiple tunnels that differ only in case. Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-06SortedKeyedList...: Support arbitrary comparatorsSamuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-06Keyed...: Rename all the thingsSamuel Holland
Hooray for diamond interface inheritance. Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-06project: Minor cleanupsSamuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-06model: Proxy all async work through the TunnelManagerSamuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-06TunnelManager: Enumerate running tunnels only onceSamuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-06Tunnel: Require passing a state to the constructorSamuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-06Backend: Add a function to enumerate running tunnelsSamuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-06MainActivity: Fix ActionBar after rotationSamuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-06TunnelDetailFragment: Allow copying peer public keysSamuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-06TunnelDetailFragment: Remove state text and last changeSamuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-06activity: Remove useless indirectionSamuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-06databinding: Collection classes use generic ESamuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-06databinding: Simplify method signatureSamuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-06databinding: Remove unused classes and methodsSamuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-06Convert the list of tunnels to a KeyedObservableListSamuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-06databinding: Add an adapter for the KeyedObservableListSamuel Holland
This adapter actually finally implements stable IDs correctly. Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-06util: Add a keyed list class and a sorted variantSamuel Holland
This is inspired by C#'s KeyedCollection. The sorted variant removes the need for an observable SortedMap. Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-06TunnelManager: Clear primary tunnel when it's removedSamuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-06Serviceless rewrite, part 1Samuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-06Rename package widgets -> widgetSamuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-06Rename package bindings -> databindingSamuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2017-12-26app: Enable Java 8 featuresSamuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2017-12-26app: Upgrade to build tools 27.0.2Samuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2017-12-26wg-quick: set mtu after addressesJason A. Donenfeld
This has all sorts of terrible implications and fixes a problem in a pretty terrible way. If the interface MTU is less than 1280, IPv6 addresses will fail to be added. Rather than explictly trying to catch this and do something particular about it -- such as nicely warning the user that there could be a v6 isolation issue, for example -- we just set the MTU _after_ we set the addresses, so that in setting the MTU, we wind up removing the addresses that were just added. This is pretty bad, but it makes things a bit smoother. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-12-20tools: use cmp and right arguments for mountJason A. Donenfeld
Some systems don't have cmp. Some systems have buggy mount tools. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-12-20tools: add wg-quick directlyJason A. Donenfeld
We also use all search paths for tool, since many want this to be CLI too. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-12-19tools: force ld.goldJason A. Donenfeld
This is to work around a linker bug affecting the NDK. Reference: https://github.com/android-ndk/ndk/issues/602 Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-12-19SettingsActivity: allow for installing command line toolsJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-12-18tools: better cmakeJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-12-16RootShell: rewriteJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-12-15tools: build required tools with apkJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-11-30VpnService: require root accessJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-11-29NotSupportedActivity: fix font sizeJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-11-28ConfigListFragment: Use correct icon for FABSamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>