Commit Graph

93 Commits

Author SHA1 Message Date
Samuel Holland
f83c84ce4e ConfigActivity: Avoid unnecessary executePendingTransactions
Nothing later tries to find the list using findFragmentById().

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-24 01:22:49 -05:00
Samuel Holland
290c98a9e3 ConfigListFragment: Avoid unnecessary findViewById
The generated ViewDataBinding has fields for each view with an id.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-24 01:22:20 -05:00
Samuel Holland
632f3f73a2 ConfigActivity: Log state transitions
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-23 23:51:08 -05:00
Samuel Holland
d1a5c1a72e VpnService: Fix some edge cases in ConfigUpdater
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-23 18:04:45 -05:00
Samuel Holland
d3e6b311ca BaseConfigActivity: Remember editing state
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-23 18:02:16 -05:00
Samuel Holland
3a264f7020 QuickTileService: Update the tile once on service init
This makes the tile show the correct info when it is first added.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-22 23:10:41 -05:00
Samuel Holland
353028420b Add an adapter for binding an ObservableList to a LinearLayout
EditTexts do not work in ListViews.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-22 23:10:35 -05:00
Samuel Holland
fb919a7226 Use data binding to provide EditText input filters
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-22 21:48:42 -05:00
Samuel Holland
5d04714eea ConfigAddActivity: Rename to AddActivity
Not everything needs to start with Config

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-22 01:27:29 -05:00
Samuel Holland
90cd59c866 ConfigActivity: Fix fragment state when leaving/entering app
Do this by making the fragment transition functions idempotent.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-21 21:25:31 -05:00
Samuel Holland
fbd923a060 Minor cleanups
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-19 18:48:07 -05:00
Samuel Holland
a49fe9adf5 ObservableAdapters: notify on map/list being set
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-18 23:25:40 -05:00
Samuel Holland
5b4e957122 MapAdapter: Stable IDs are based on value, not key
This fixes list selection to survive renaming configurations.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-17 08:22:19 -05:00
Samuel Holland
85fc5e7ebf ConfigListFragment: Restore the non-FAB add menu
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-17 06:06:35 -05:00
Samuel Holland
416d3adda7 QuickTileService: Implement and update from VpnService
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-17 05:45:40 -05:00
Samuel Holland
d5d3566e6c BaseConfigActivity: Make use of inner class's this
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-17 05:39:58 -05:00
Samuel Holland
27241d074e VpnService: Use a string to remember the primary config
This allows simplifies the code a bit. Also, a few other minor changes.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-17 04:50:41 -05:00
Samuel Holland
c2189a78b9 ConfigEditFragment: Add extremely basic validation
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-17 03:32:01 -05:00
Samuel Holland
8bf12f3f55 VpnService: Remove extraneous call to super()
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-17 02:47:53 -05:00
Samuel Holland
44561a9cb6 ObservableArrayMapAdapter: Remove
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-17 02:44:18 -05:00
Samuel Holland
25412e0537 Convert to using the ObservableTreeMap and its adapter
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-17 02:43:15 -05:00
Samuel Holland
97149fff3f ObservableMapAdapter: Based on an observable TreeMap
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-17 02:40:05 -05:00
Samuel Holland
b753ae09ca VpnService: Remember and optionally restore enabled configs
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-16 04:36:12 -05:00
Samuel Holland
08992185ec SettingsActivity: Implement primary config setting
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-16 04:34:14 -05:00
Samuel Holland
e95b41e48b ConfigListPreference: ListPreference for configs
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-16 04:29:55 -05:00
Samuel Holland
a5e2c1c1b3 BindingAdapters: Create an adapter for textStyle
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-16 04:30:42 -05:00
Samuel Holland
eb43e49a95 VpnService: Remember and maintain the primary config
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-16 04:28:41 -05:00
Samuel Holland
645e263424 ConfigActivity: Inline PlaceholderFragment into the layout
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-16 01:43:15 -05:00
Samuel Holland
6d2960b853 ConfigActivity: Adjust when the back arrow is shown
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-16 01:05:13 -05:00
Samuel Holland
73217a098a ConfigListFragment: Implement config selection and removal
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-16 00:55:44 -05:00
Samuel Holland
f1d97a585a Config: Rename function to make databinding happy
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-16 00:57:27 -05:00
Samuel Holland
b60536222d VpnService: Tweaks for ConfigUpdater to fix adding
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-16 00:56:53 -05:00
Samuel Holland
c3203ce90a ConfigDetailFragment: Move function to be in alphabetical order
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-16 00:47:58 -05:00
Samuel Holland
ebb0091ad4 ConfigActivity: Fix restoring layout on resume
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-16 00:46:43 -05:00
Samuel Holland
61d6b89bbe ConfigAddActivity: Add an standalone config-creating activity
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-15 17:36:11 -05:00
Samuel Holland
e9de916d69 BaseConfigActivity: Set initial config when service available
This was accidentally missed earlier when adding the optimization to
omit binding the service when unnecessary.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-15 17:37:06 -05:00
Samuel Holland
7f864badb2 KeyInputFilter: Extract to its own class
It will be reused for entering public keys of peers.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-15 17:33:00 -05:00
Samuel Holland
2103a28f8f ConfigActivity: Show the current config in the title
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-15 17:07:17 -05:00
Samuel Holland
cfcda8bd13 BaseConfigActivity: Move menu handling to ConfigActivity
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-15 16:08:38 -05:00
Samuel Holland
d91770a1b6 ConfigActivity: Show back arrow in single layout action bar
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-14 19:33:19 -05:00
Samuel Holland
6604be94eb ListFragment: Don't assume the ListView is the root
It may share the layout with a FAB, and that requires a parent
ViewGroup.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-14 18:40:46 -05:00
Samuel Holland
e6a6605ff8 ConfigActivity: Fragments are hard; this un-breaks animations
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-14 18:32:14 -05:00
Samuel Holland
ab271e7153 ConfigActivity: Enable animations on fragment transitions
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-14 15:20:57 -05:00
Samuel Holland
83da2aa199 EditFragment: Input filters for config name and private key
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-14 13:53:58 -05:00
Samuel Holland
d5ede015cf ConfigActivity: Avoid crash when started while locked
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-14 10:44:29 -05:00
Samuel Holland
5e55d196be Major renaming and refactoring in activity and service
Apparently "configuration" is the proper term, not "profile".

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-13 07:24:03 -05:00
Samuel Holland
f84d178e46 ProfileActivity: Remove unnecessary parameterization
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-13 06:22:31 -05:00
Samuel Holland
43500090b2 ProfileService: Rework handling of updates, again
Prefer updating an object instead of replacing it. This preserves the
selection in the UI list. Also make renaming atomic as it should be. Now
the only possibility for data loss is if the old file can be opened but
not written to.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-13 06:16:05 -05:00
Samuel Holland
dacd7457d2 ServiceClientFragment: Connect early if possible
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-10 01:11:00 -05:00
Samuel Holland
5fad89527d ProfileList: Fix state tracking
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-10 01:10:15 -05:00