summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2017-08-17Convert to using the ObservableTreeMap and its adapterSamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-17ObservableMapAdapter: Based on an observable TreeMapSamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-16preferences: Control restoring enabled configsSamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-16VpnService: Remember and optionally restore enabled configsSamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-16SettingsActivity: Implement primary config settingSamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-16ConfigListPreference: ListPreference for configsSamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-16ConfigList: Denote the primary config with bold textSamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-16BindingAdapters: Create an adapter for textStyleSamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-16VpnService: Remember and maintain the primary configSamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-16Config: add an isPrimary propertySamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-16Detail/Edit/ListFragment: Update the layoutsSamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-16ConfigActivity: Inline PlaceholderFragment into the layoutSamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-16ConfigActivity: Make the two-pane layout more readableSamuel Holland
Highlight the selected configuration, and add a border between the two panes. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-16Config: Make it ComparableSamuel Holland
This will be used for future sorting. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-16ConfigActivity: Adjust when the back arrow is shownSamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-16ConfigListFragment: Implement config selection and removalSamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-16Config: Rename function to make databinding happySamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-16VpnService: Tweaks for ConfigUpdater to fix addingSamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-16ConfigDetailFragment: Move function to be in alphabetical orderSamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-16ConfigActivity: Fix restoring layout on resumeSamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-15ConfigAddActivity: Add an standalone config-creating activitySamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-15BaseConfigActivity: Set initial config when service availableSamuel Holland
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-15KeyInputFilter: Extract to its own classSamuel Holland
It will be reused for entering public keys of peers. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-15ConfigActivity: Show the current config in the titleSamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-15BaseConfigActivity: Move menu handling to ConfigActivitySamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-14ConfigActivity: Show back arrow in single layout action barSamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-14ListFragment: Don't assume the ListView is the rootSamuel Holland
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-14ConfigActivity: Fragments are hard; this un-breaks animationsSamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-14ConfigActivity: Enable animations on fragment transitionsSamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-14EditFragment: Input filters for config name and private keySamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-14ConfigActivity: Avoid crash when started while lockedSamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-13Major renaming and refactoring in activity and serviceSamuel Holland
Apparently "configuration" is the proper term, not "profile". Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-13Profile: Add function to copy config from another profileSamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-13ProfileActivity: Remove unnecessary parameterizationSamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-13ProfileService: Rework handling of updates, againSamuel Holland
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-10ServiceClientFragment: Connect early if possibleSamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-10ProfileList: Fix state trackingSamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-10ProfileEdit: Finish writing code-behindSamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-10ProfileActivity: Do menus correctlySamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-10ProfileFragment: Make good use of the cached profileSamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-09Settings: Add empty activitySamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-09Hook up editing to the layout and menusSamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-09ProfileEdit: Add empty activity/fragmentSamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-09ProfileActivity: Do not use onClick for menusSamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-09ProfileActivity: Also remember editing stateSamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-09ProfileFragment: Helper class to remember a fragment's profileSamuel Holland
Caching the actual profile object is important when the fragment is on an activity's back stack: when it is shown again, onCreateView will be called with profile already set and the service already connected. In this case, there is no later notification from which to bind the profile, so the existing object needs to be bound there. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-09ProfileList: Add the list fragment in code so it knows the layoutSamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-09ProfileActivity: Replace fragments instead of hidingSamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-09ProfileActivity: Extract base class for fixing fragmentsSamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-08-09Interface: Correctly handle setting a null or empty keySamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>