aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/ui/src/main (follow)
Commit message (Collapse)AuthorAgeFilesLines
* ui: add missing fields to detail viewJason A. Donenfeld2020-04-0612-16/+157
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* TunnelListFragment: onCreateActionMode is called before adapter is aliveJason A. Donenfeld2020-04-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Long press a tunnel item. SIGKILL the app. Reenter it. Boom: kotlin.KotlinNullPointerException: at com.wireguard.android.fragment.TunnelListFragment$ActionModeListener.onCreateActionMode (TunnelListFragment.java:347) at androidx.appcompat.app.AppCompatDelegateImpl$ActionModeCallbackWrapperV9.onCreateActionMode (AppCompatDelegateImpl.java:2442) at androidx.appcompat.app.WindowDecorActionBar$ActionModeImpl.dispatchOnCreate (WindowDecorActionBar.java:1062) at androidx.appcompat.app.WindowDecorActionBar.startActionMode (WindowDecorActionBar.java:530) at androidx.appcompat.app.AppCompatDelegateImpl.startSupportActionMode (AppCompatDelegateImpl.java:1055) at androidx.appcompat.app.AppCompatActivity.startSupportActionMode (AppCompatActivity.java:316) at com.wireguard.android.fragment.TunnelListFragment$ActionModeListener.setItemChecked (TunnelListFragment.java:371) at com.wireguard.android.fragment.TunnelListFragment.onActivityCreated (TunnelListFragment.java:174) at androidx.fragment.app.Fragment.performActivityCreated (Fragment.java:2717) at androidx.fragment.app.FragmentStateManager.activityCreated (FragmentStateManager.java:346) at androidx.fragment.app.FragmentManager.moveToState (FragmentManager.java:1188) at androidx.fragment.app.FragmentManager.moveToState (FragmentManager.java:161) at androidx.fragment.app.FragmentManager.moveToState (FragmentManager.java:1356) at androidx.fragment.app.FragmentManager.moveToState (FragmentManager.java:5) at androidx.fragment.app.FragmentManager.moveFragmentToExpectedState (FragmentManager.java:1434) at androidx.fragment.app.FragmentManager.moveFragmentToExpectedState (FragmentManager.java:5) at androidx.fragment.app.FragmentManager.moveToState (FragmentManager.java:1497) at androidx.fragment.app.FragmentManager.moveToState (FragmentManager.java:389) at androidx.fragment.app.FragmentManager.dispatchStateChange (FragmentManager.java:2625) at androidx.fragment.app.FragmentManager.dispatchStateChange (FragmentManager.java:677) at androidx.fragment.app.FragmentManager.dispatchActivityCreated (FragmentManager.java:2577) at androidx.fragment.app.FragmentManager.dispatchActivityCreated (FragmentManager.java:9) at androidx.fragment.app.FragmentController.dispatchActivityCreated (FragmentController.java:247) at androidx.fragment.app.FragmentActivity.onStart (FragmentActivity.java:541) at androidx.appcompat.app.AppCompatActivity.onStart (AppCompatActivity.java:201) at android.app.Instrumentation.callActivityOnStart (Instrumentation.java:1440) at android.app.Activity.performStart (Activity.java:8109) at android.app.ActivityThread.handleStartActivity (ActivityThread.java:3806) at android.app.servertransaction.TransactionExecutor.performLifecycleSequence (TransactionExecutor.java:235) at android.app.servertransaction.TransactionExecutor.cycleToPath (TransactionExecutor.java:215) at android.app.servertransaction.TransactionExecutor.executeLifecycleState (TransactionExecutor.java:187) at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:105) at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2386) at android.os.Handler.dispatchMessage (Handler.java:107) at android.os.Looper.loop (Looper.java:213) at android.app.ActivityThread.main (ActivityThread.java:8178) at java.lang.reflect.Method.invoke (Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:513) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1101) This commit avoids the crash. But it's not clear to me that this is really the right solution. However, in testing it appears to work. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* AppListDialogFragment: refine singular grammarJason A. Donenfeld2020-04-061-2/+2
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* AppListDialogFragment: remove colons from tabsJason A. Donenfeld2020-04-061-2/+2
| | | | | | Harsh's club became ill upon seeing them. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ui: tweak cards to make them nicer on the eyesHarsh Shandilya2020-04-067-19/+13
| | | | | Surprisingly-requested-by: Jason A. Donenfeld <Jason@zx2c4.com> Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* ui: misc cleanups to AppListDialogFragmentHarsh Shandilya2020-04-063-14/+19
| | | | Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* AppListDialogFragment: support both inclusion and exclusionJason A. Donenfeld2020-04-0617-81/+152
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* MultiselectableRelativeLayout: use JvmOverloads constructorHarsh Shandilya2020-04-061-6/+6
| | | | Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* ui: fix scrolling in detail viewHarsh Shandilya2020-04-061-120/+123
| | | | Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* strings: sync translationsHarsh Shandilya2020-04-047-55/+296
| | | | Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* ObservableTunnel: do not cache keyJason A. Donenfeld2020-04-011-1/+2
| | | | | Reported-by: Reza Island's <rezza.aji.ras@gmail.com> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* TunnelEditorFragment: don't show bioauth if already visibleJason A. Donenfeld2020-03-301-0/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* strings: sync translationsHarsh Shandilya2020-03-305-13/+19
| | | | Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* global: cleanup code styleJason A. Donenfeld2020-03-3012-39/+42
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* LogViewerActivity: don't crash if pipe closesJason A. Donenfeld2020-03-301-1/+4
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* TunnelDetail: set singleLine=true for API <=23Jason A. Donenfeld2020-03-302-0/+2
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* BiometricAuthenticator: rework logic and bugsJason A. Donenfeld2020-03-303-15/+39
| | | | | | | Otherwise there's a frameworks bug that causes the fragment's activity to become null. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* BiometricAuthenticator: implement biometric authentication for sensitive operationsHarsh Shandilya2020-03-304-10/+117
| | | | | | | | 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>
* ObservableTunnel: Don't cache configAsyncHarsh Shandilya2020-03-301-4/+5
| | | | Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* ui: replace generate icon with 'sync' instead of 'toys'Jason A. Donenfeld2020-03-301-2/+2
| | | | | | | I dislike this change, but Harsh thinks the toys icon is utterly insane and maybe he's right. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* BindingAdapters: use sleeker lambdaJason A. Donenfeld2020-03-301-1/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* TunnelEditorFragment: add hooks for biometric authJason A. Donenfeld2020-03-305-11/+51
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* strings: update Italian translationVincenzo Reale2020-03-291-14/+37
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* strings: Sync German translationsHarsh Shandilya2020-03-291-0/+194
| | | | Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* strings: fix positional specifier in russian translationJason A. Donenfeld2020-03-291-4/+4
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* AddTunnelsSheet: Make behaviour nullableHarsh Shandilya2020-03-291-3/+3
| | | | Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* global: hardcode tags so that minification doesn't ruin the logJason A. Donenfeld2020-03-2810-10/+10
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* LogViewerActivity: only scroll every quarter for the first 2.5 seconds of dumpingJason A. Donenfeld2020-03-281-4/+17
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ui: Remove unnecessary non-null assertion in TAG fieldsHarsh Shandilya2020-03-2810-10/+10
| | | | Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Fix tunnel editor themingHarsh Shandilya2020-03-285-12/+8
| | | | | | Also set textInputStyle in the base theme to avoid setting styles to all elements Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* MonkeyedTextInputEditText: make more robustJason A. Donenfeld2020-03-281-3/+3
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ui: use kotlin class instead of java class for tagJason A. Donenfeld2020-03-2810-10/+10
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ObservableTunnel: do not cache statsJason A. Donenfeld2020-03-281-4/+5
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* TunnelEditor: fix up allowedips marginsJason A. Donenfeld2020-03-281-4/+3
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* TunnelEditor: get rid of weird gravity on add peer buttonJason A. Donenfeld2020-03-281-14/+15
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* TunnelEditor: move generate button to inside boxJason A. Donenfeld2020-03-2810-25/+16
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* TunnelEditor: subdue section fontJason A. Donenfeld2020-03-281-1/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* TunnelEditor: abstract out section fontJason A. Donenfeld2020-03-285-4/+5
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* TunnelEditor: properly align mtu and listen portJason A. Donenfeld2020-03-281-2/+2
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* TunnelEditor: move hint to label and add discouraged optionalJason A. Donenfeld2020-03-283-8/+9
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* TunnelEditor: clean up xmlJason A. Donenfeld2020-03-282-51/+52
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* MonkeyedTextInputEditText: introduce a new horrorJason A. Donenfeld2020-03-284-13/+48
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* TunnelEditor: replace tunnel detail view with ConstraintLayout implementationHarsh Shandilya2020-03-285-436/+498
| | | | Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* ClipboardUtils: Update to handle TextInputEditTextHarsh Shandilya2020-03-281-9/+12
| | | | Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Disable screen capture in tunnel editorHarsh Shandilya2020-03-281-0/+3
| | | | Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* TunnelComparator: naturally sort tunnel listJason A. Donenfeld2020-03-282-3/+61
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* strings: Sync from CrowdinHarsh Shandilya2020-03-283-76/+109
| | | | Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* ObservableTunnel: Don't recurse in getConfigHarsh Shandilya2020-03-281-2/+2
| | | | | | | 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>
* strings: update Russian translateAlexey2020-03-271-19/+19
| | | | | Signed-off-by: Alexey <zasranecc@bk.ru> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* databinding: simplify and address warningsJason A. Donenfeld2020-03-274-30/+9
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>