aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/app/src/main/java/com/wireguard/android/model/Tunnel.java (unfollow)
Commit message (Collapse)AuthorFilesLines
2018-01-10tools: error if setconf failsJason A. Donenfeld1-2/+5
2018-01-10tools: ifname has max len 15Jason A. Donenfeld1-2/+2
2018-01-10TunnelEditorFragment: do not pass null localConfigJason A. Donenfeld1-6/+7
Otherwise we might dereference it, per this play store gathered trace: Xiaomi Redmi 3S (land), 2048MB RAM, Android 7.1 java.lang.NullPointerException: at com.wireguard.android.model.Tunnel.setConfig (Tunnel.java:118) at com.wireguard.android.fragment.TunnelEditorFragment.onOptionsItemSelected (TunnelEditorFragment.java:160) at android.app.Fragment.performOptionsItemSelected (Fragment.java:2478) at android.app.FragmentManagerImpl.dispatchOptionsItemSelected (FragmentManager.java:2182) at android.app.FragmentController.dispatchOptionsItemSelected (FragmentController.java:336) at android.app.Activity.onMenuItemSelected (Activity.java:3211) at com.android.internal.policy.PhoneWindow.onMenuItemSelected (PhoneWindow.java:1219) at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected (MenuBuilder.java:761) at com.android.internal.view.menu.MenuItemImpl.invoke (MenuItemImpl.java:152) at com.android.internal.view.menu.MenuBuilder.performItemAction (MenuBuilder.java:904) at com.android.internal.view.menu.MenuBuilder.performItemAction (MenuBuilder.java:894) at android.widget.ActionMenuView.invokeItem (ActionMenuView.java:616) at com.android.internal.view.menu.ActionMenuItemView.onClick (ActionMenuItemView.java:152) at android.view.View.performClick (View.java:5637) at android.view.View$PerformClick.run (View.java:22433) at android.os.Handler.handleCallback (Handler.java:751) at android.os.Handler.dispatchMessage (Handler.java:95) at android.os.Looper.loop (Looper.java:153) at android.app.ActivityThread.main (ActivityThread.java:6244) at java.lang.reflect.Method.invoke (Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:891) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:781)
2018-01-10QuickTileService: sometimes tile is nullJason A. Donenfeld1-0/+2
According to play store reports, such as: wt88047, 0MB RAM, Android 8.1 java.lang.NullPointerException: at com.wireguard.android.QuickTileService.updateTile (QuickTileService.java:97) at com.wireguard.android.QuickTileService.onStartListening (QuickTileService.java:56) at android.service.quicksettings.TileService$H.handleMessage (TileService.java:407) at android.os.Handler.dispatchMessage (Handler.java:106) at android.os.Looper.loop (Looper.java:164) at android.app.ActivityThread.main (ActivityThread.java:6520) at java.lang.reflect.Method.invoke (Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:442) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:807)
2018-01-09Prepare version 0.3.0Samuel Holland1-2/+2
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-09WgQuickBackend: Finish the implementationSamuel Holland1-7/+29
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-09model: Chain completions to avoid race conditionsSamuel Holland2-23/+18
Otherwise getConfigAsync().thenCompose(x -> setState()) would be unsafe. This reverts commit a6595a273afd50524cc66765c6bfbdcc34cb12e4.
2018-01-09global: Clean up error loggingSamuel Holland5-10/+13
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-09WgQuickBackend: Log when tunnels can't be enumeratedSamuel Holland1-1/+2
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-09RootShell: Improve shell start error handlingSamuel Holland1-9/+14
No need to catch and re-throw exceptions before starting the process. If running `su` itself fails, there's no (functional) root, so report that. Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-09RootShell: Be stricter about command delimitersSamuel Holland1-13/+24
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-09RootShell: stop if we can't startJason A. Donenfeld1-31/+36
2018-01-09RootShell: hoist out synchronizationJason A. Donenfeld1-11/+7
2018-01-09tools: try not to overflowJason A. Donenfeld1-0/+4
2018-01-09ToolsInstaller: Propagate NoRootException properlySamuel Holland2-32/+34
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-09RootShell: Simplify, synchronize, clean upSamuel Holland2-128/+89
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-09TunnelListFragment: Remove useless keywordSamuel Holland1-1/+1
final doesn't do anything in try-with-resources (it's always final). Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-09ToolsInstaller: terminators are better than seperatorsJason A. Donenfeld1-7/+7
2018-01-09RootShell: synchronize accesses to single shellJason A. Donenfeld1-1/+1
2018-01-08RootShell: Simplify constructorSamuel Holland1-19/+6
ToolsInstaller now takes care of installing the tools. Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-08WgQuickBackend: Ensure tools are available before useSamuel Holland2-3/+10
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-08ToolsInstaller: Add a method to ensure tool availabilitySamuel Holland1-0/+28
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-08WgQuickBackend: Inline resolveState()Samuel Holland1-10/+5
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-08ToolsInstaller: Add methods to check/make symlinksSamuel Holland1-0/+35
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-08ToolsInstallerPreference: Examine current state on loadSamuel Holland1-0/+7
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-08ToolsInstaller: Add method to check installation statusSamuel Holland1-14/+24
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-08TunnelEditorFragment: Fix dismissing creator activitySamuel Holland1-0/+1
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-08global: Fix or suppress most lints/warningsSamuel Holland18-40/+47
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-08project: Remove currently-unused librarySamuel Holland2-3/+0
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-08Fragment/Tile: Make success/error messages translatableSamuel Holland8-74/+102
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-09layout: never use suggestionsJason A. Donenfeld2-8/+8
IP addresses and key material could be potentially sensitive. We also don't want any interactions with the suggestive text APIs. So, we mark it as both a visible password and we turn off suggestions. This will fix the length limit, too, in Android 8.
2018-01-09TunnelListFragment: fix plural grammarJason A. Donenfeld1-3/+4
2018-01-08RootShell: fix off by oneJason A. Donenfeld1-7/+2
2018-01-08QuickTileService: show toast for longer and use right messagesJason A. Donenfeld2-2/+7
2018-01-08global: Prefix tags with WireGuard/Jason A. Donenfeld11-11/+11
2018-01-08RootShell: multiplex commandsJason A. Donenfeld5-47/+150
2018-01-08Port over remaining error handlingSamuel Holland1-0/+12
This doesn't really belong here, but there's no sense in throwing it away--even here, it's a minor optimization. Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-08Handle tunnel state change errors appropriatelySamuel Holland4-3/+77
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 Holland1-1/+8
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-08ToggleSwitch: Improve reliabilitySamuel Holland2-23/+9
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 Holland1-6/+15
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-08Tunnel: Add a State factory methodSamuel Holland1-1/+5
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-08project: Global cleanupSamuel Holland22-144/+112
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-08Application: Remove unneeded exported componentSamuel Holland1-2/+0
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-08ToolsInstaller: Extract to its own classesSamuel Holland6-82/+171
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-07TunnelManager: Simplify save/resume methodsSamuel Holland2-10/+9
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-07BaseActivity: Make variable names consistentSamuel Holland1-2/+2
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-07TunnelManager/QuickTileService: Remember last used tunnelSamuel Holland2-101/+110
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 Holland4-60/+1
It is no longer used. Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-07FileConfigStore: Move function returns outside try blocksSamuel Holland1-2/+2
This makes more clear what things can throw exceptions, and the functions' control flow. Signed-off-by: Samuel Holland <samuel@sholland.org>