Jason A. Donenfeld
|
40eaa54cf0
|
ui: reformat all code
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
|
2023-05-05 13:18:30 +02:00 |
|
Jason A. Donenfeld
|
b1b08ce716
|
ui: display latest handshake time
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
|
2023-04-24 18:07:03 +02:00 |
|
Harsh Shandilya
|
b44380c81a
|
ui: migrate to MenuProvider
AndroidX Activity 1.4.0 introduced the new lifecycle-dependent MenuProvider
APIs that supersede existing onCreateOptionsMenu-style menus.
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
2023-03-22 21:35:34 +05:30 |
|
Jason A. Donenfeld
|
853e86e6d0
|
global: bump copyright date
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
|
2023-03-21 15:41:11 +01:00 |
|
Jason A. Donenfeld
|
bf84e26a86
|
global: bump copyright year
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
|
2021-10-29 16:47:12 +02:00 |
|
Harsh Shandilya
|
782550318a
|
ui: remove some more non-null assertions on binding fields
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
2021-04-21 17:17:41 +05:30 |
|
Jason A. Donenfeld
|
ddb6c87ebf
|
ui: account for binding disappearing on detail fragment
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
|
2020-09-30 12:47:29 +02:00 |
|
Jason A. Donenfeld
|
444a86cc9f
|
tv: wire in stats
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
|
2020-09-22 23:53:40 +02:00 |
|
Jason A. Donenfeld
|
aaa55c0dcc
|
tv: abstract out tunnel importing
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
|
2020-09-22 23:53:30 +02:00 |
|
 Harsh ShandilyaandJason A. Donenfeld
|
0ad3781ae5
|
tv: initial draft of Android TV support
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
2020-09-22 23:53:27 +02:00 |
|
Jason A. Donenfeld
|
847da23300
|
TunnelDetailFragment: use kotlin coroutine for timer and rework nullability
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
|
2020-09-20 18:03:58 +02:00 |
|
Harsh Shandilya
|
4bee579e48
|
ui: retire EdgeToEdge
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
2020-09-17 23:09:05 +05:30 |
|
Jason A. Donenfeld
|
79ae85c728
|
coroutines: lifecycleScope is by default on Main.immediate
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
|
2020-09-16 00:00:31 +02:00 |
|
Jason A. Donenfeld
|
49ac61304e
|
coroutines: use lifecycleScope where appropriate
There's still a bit of GlobalScope lingering around, which might be
removable.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
|
2020-09-15 23:46:11 +02:00 |
|
Jason A. Donenfeld
|
bab70ab51e
|
coroutines: convert the rest
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
|
2020-09-15 12:30:15 +02:00 |
|
Jason A. Donenfeld
|
2fe5b92035
|
EdgeToEdge: move into widget
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
|
2020-03-20 02:28:49 -06:00 |
|
Harsh Shandilya
|
0899b49bb3
|
Use more Kotlin-esque code where applicable
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
2020-03-19 14:45:07 +05:30 |
|
Harsh Shandilya
|
fc0660ca8d
|
ui: Convert fragment package to Kotlin
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
|
2020-03-19 09:24:48 +05:30 |
|