summaryrefslogtreecommitdiffhomepage
path: root/ui/src/main/java
AgeCommit message (Collapse)Author
2020-04-06MultiselectableRelativeLayout: use JvmOverloads constructorHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-04-01ObservableTunnel: do not cache keyJason A. Donenfeld
Reported-by: Reza Island's <rezza.aji.ras@gmail.com> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-03-30TunnelEditorFragment: don't show bioauth if already visibleJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-03-30global: cleanup code styleJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-03-30LogViewerActivity: don't crash if pipe closesJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-03-30BiometricAuthenticator: rework logic and bugsJason A. Donenfeld
Otherwise there's a frameworks bug that causes the fragment's activity to become null. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-03-30BiometricAuthenticator: implement biometric authentication for sensitive ↵Harsh Shandilya
operations When biometric hardware is available, it will be used to authenticate the user before private keys are shown on screen or when zip exports are executed. Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-03-30ObservableTunnel: Don't cache configAsyncHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-03-30BindingAdapters: use sleeker lambdaJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-03-30TunnelEditorFragment: add hooks for biometric authJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-03-29AddTunnelsSheet: Make behaviour nullableHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-03-28global: hardcode tags so that minification doesn't ruin the logJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-03-28LogViewerActivity: only scroll every quarter for the first 2.5 seconds of ↵Jason A. Donenfeld
dumping Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-03-28ui: Remove unnecessary non-null assertion in TAG fieldsHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-03-28MonkeyedTextInputEditText: make more robustJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-03-28ui: use kotlin class instead of java class for tagJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-03-28ObservableTunnel: do not cache statsJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-03-28TunnelEditor: move generate button to inside boxJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-03-28MonkeyedTextInputEditText: introduce a new horrorJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-03-28ClipboardUtils: Update to handle TextInputEditTextHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-03-28Disable screen capture in tunnel editorHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-03-28TunnelComparator: naturally sort tunnel listJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-03-28ObservableTunnel: Don't recurse in getConfigHarsh Shandilya
The correct way to retrieve the value inside a getter/setter is to use `field` to ensure you don't invoke the getter while inside the getter and trigger a stack overflow Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-03-27databinding: simplify and address warningsJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-03-27ui: Replace ErrorMessages getter with indexing operatorHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-03-27Convert ErrorMessages to KotlinHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-03-27Convert AsyncWorker to KotlinHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-03-27databinding: rewrite in kotlinJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-03-27util: begin conversion to kotlinJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-03-26TunnelManager: convert to kotlinJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-03-26util: Start converting to KotlinHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-03-26ObservableTunnel: port to kotlinJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-03-26LogViewerActivity: merge lines that don't match regexJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-03-26LogViewerActivity: re-add error case to log exportJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-03-26LogViewerActivity: constify requestJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-03-26ui: root: rewrite in kotlinJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-03-26ui: cleanup various pieces of kotlinJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-03-26Introduce realtime log viewerHarsh Shandilya
This contains a share button and a save button, the former using a custom content provider. Co-authored-by: Jason A. Donenfeld <Jason@zx2c4.com> Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-03-25LogExporterPreference: Don't ask for storage permissions on Android 10 and aboveHarsh Shandilya
We use the proper MediaStore implementation on Android 10 which makes it unnecessary. Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-03-24ui: squelch warningsJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-03-24TunnelManager: disallow remote apps for LJason A. Donenfeld
I don't trust old Android versions to have gotten this right. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-03-23TunnelManager: save settings before restartJason A. Donenfeld
Otherwise these get lost and then the restored state is confusing. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-03-22Preferences: hide advanced settingsJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-03-22SettingsActivity: remove from parent instead of fixed screenJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-03-22TunnelManager: enable Tasker supportJason A. Donenfeld
Also fix up wording for the permission prompt that Tasker will show when initially setting this up. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-03-22model: begin conversionJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-03-21viewmodel: port to kotlinJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-03-20Replace PermissionRequestCallback with direct methodsHarsh Shandilya
These are much cleaner in Kotlin code. Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-03-20Convert activity package to KotlinHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-03-20widget: rewrite in kotlinJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>