summaryrefslogtreecommitdiffhomepage
path: root/app/src/main/java
AgeCommit message (Collapse)Author
2017-08-16Config: Make it ComparableSamuel Holland
This will be used for future sorting.
2017-08-16ConfigActivity: Adjust when the back arrow is shownSamuel Holland
2017-08-16ConfigListFragment: Implement config selection and removalSamuel Holland
2017-08-16Config: Rename function to make databinding happySamuel Holland
2017-08-16VpnService: Tweaks for ConfigUpdater to fix addingSamuel Holland
2017-08-16ConfigDetailFragment: Move function to be in alphabetical orderSamuel Holland
2017-08-16ConfigActivity: Fix restoring layout on resumeSamuel Holland
2017-08-15ConfigAddActivity: Add an standalone config-creating activitySamuel Holland
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.
2017-08-15KeyInputFilter: Extract to its own classSamuel Holland
It will be reused for entering public keys of peers.
2017-08-15ConfigActivity: Show the current config in the titleSamuel Holland
2017-08-15BaseConfigActivity: Move menu handling to ConfigActivitySamuel Holland
2017-08-14ConfigActivity: Show back arrow in single layout action barSamuel Holland
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.
2017-08-14ConfigActivity: Fragments are hard; this un-breaks animationsSamuel Holland
2017-08-14ConfigActivity: Enable animations on fragment transitionsSamuel Holland
2017-08-14EditFragment: Input filters for config name and private keySamuel Holland
2017-08-14ConfigActivity: Avoid crash when started while lockedSamuel Holland
2017-08-13Major renaming and refactoring in activity and serviceSamuel Holland
Apparently "configuration" is the proper term, not "profile".
2017-08-13Profile: Add function to copy config from another profileSamuel Holland
2017-08-13ProfileActivity: Remove unnecessary parameterizationSamuel Holland
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.
2017-08-10ServiceClientFragment: Connect early if possibleSamuel Holland
2017-08-10ProfileList: Fix state trackingSamuel Holland
2017-08-10ProfileEdit: Finish writing code-behindSamuel Holland
2017-08-10ProfileActivity: Do menus correctlySamuel Holland
2017-08-10ProfileFragment: Make good use of the cached profileSamuel Holland
2017-08-09Settings: Add empty activitySamuel Holland
2017-08-09Hook up editing to the layout and menusSamuel Holland
2017-08-09ProfileEdit: Add empty activity/fragmentSamuel Holland
2017-08-09ProfileActivity: Do not use onClick for menusSamuel Holland
2017-08-09ProfileActivity: Also remember editing stateSamuel Holland
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.
2017-08-09ProfileList: Add the list fragment in code so it knows the layoutSamuel Holland
2017-08-09ProfileActivity: Replace fragments instead of hidingSamuel Holland
2017-08-09ProfileActivity: Extract base class for fixing fragmentsSamuel Holland
2017-08-09Interface: Correctly handle setting a null or empty keySamuel Holland
2017-08-09KeyEncoding: Clean up and reorganize to match styleSamuel Holland
2017-08-09Keypair: Convert to java-style array declarationsSamuel Holland
2017-08-08Constant time base64Jason A. Donenfeld
2017-08-08Profile: Add helper to check name validitySamuel Holland
2017-08-08Profile: Make name modifiableSamuel Holland
2017-08-08ProfileActivity: Refactor into clean layers of functionalitySamuel Holland
2017-08-07ProfileServiceInterface: Update for map-based collectionSamuel Holland
2017-08-07ProfileService: Use a map to store profile dataSamuel Holland
This has no visible changes at the moment, but will allow most functions to pass around strings instead of Profile objects, obviating the need to implement serialization for them. It also trades some naive linear searches for the binary search in SimpleArrayMap.
2017-08-07ObservableArrayMapAdapter: Copy ObservableListAdapterSamuel Holland
Since the conversion to a sequential list (to implement ListAdapter) depends on the implementation detail that ObservableArrayMap is backed by an array, we can't use the ObservableMap interface here.
2017-08-07ProfileActivity: Add two-pane master-detail layoutSamuel Holland
This is designed for tablets, but for testing purposes, it is currently enabled for all devices in landscape orientation.
2017-08-07PlaceholderFragment: Simple fragment that shows a messageSamuel Holland
This is used for the detail pane when no profile is selected.
2017-08-07ProfileActivity: Make local variables finalSamuel Holland
2017-08-07ProfileActivityFragment: Fix service connection trackingSamuel Holland