summaryrefslogtreecommitdiffhomepage
path: root/app/src/main/java/com
AgeCommit message (Collapse)Author
2018-01-08Handle tunnel state change errors appropriatelySamuel Holland
This class should probably be renamed and moved, but I don't know to what or where. Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-08TunnelListFragment: Fix crash on deleting multiple tunnelsSamuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-08ToggleSwitch: Improve reliabilitySamuel Holland
It's not great, but it's better than it was. Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-08WgQuickBackend: Improve error handlingSamuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-08Tunnel: Add a State factory methodSamuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-08project: Global cleanupSamuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-08Application: Remove unneeded exported componentSamuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-08ToolsInstaller: Extract to its own classesSamuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-07TunnelManager: Simplify save/resume methodsSamuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
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-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: 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-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-19SettingsActivity: allow for installing command line toolsJason 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-28VpnService: Avoid duplicating file checkSamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>