main
angott/jun24-dependencies
release-branch/1.68
jonathan/npe_crash_1
angott/mullvad-view
angott/l10n-it
release-branch/1.66
ox/reenable_quick_settings
percy/psychic_quicksettings
jonathan/build_apk
kari/em
jonathan/remember-exit-node
bradfitz/docs
jonathan/auth_keys
jonathan/compose_previews
jonathan/machine_auth
release-branch/1.64
jonathan/decorate_settings
jonathan/corp-19070
phirework/unstable-64
jonathan/androidTV
ox/move_admin_account_info
ox/allow_lan_access_toggle
jonathan/cleanup
jonathan/runasexitnode
jonathan/intro_screen
jonathan/switch-state
ox/detectlogin
ox/styling_bak
ox/exit_node_clickable
ox/taildrop
ox/eng-2988
raggi/builds3
kari/newbackend
oxtoacart/remove_dead_code
oxtoacart/reactive_exit_node_bak
kari/connect
jonathan/mdm-debug
knyar/unstable
knyar/makefile
oxtoacart/android-nextgen-infra
raggi/buildport
kari/buildnewapp
kari/newapp
kari/editprefsvialocalapi
release-branch/1.60
kari/exitnodeui
kari/goversion
kari/17470
kari/loginvialocalapi
kari/bugreportvialocalapi
oxtocart/bugreportvialocalapi_codereview_suggestion
kari/unstable-1.58
catzkorn/notag
catzkorn/menu
release-branch/1.58
oxtoacart/gomobilepoc
kari/bump-oss
kari-bottomsheetTNL
release-branch/1.56
release-branch/1.54
version
release-branch/1.52
bradfitz/sharer_or_user
raggi/emulator
release-branch/1.48
maisem/bumposs
catzkorn/fixit
raggi/assert-goroot
catzkorn/routing
raggi/destructivepurege
bradfitz/authkey_intent
raggi/tailscale-version-workspace
release-branch/1.46
dns
unstable1_47
release-branch/1.44
karilam/7875
revert-86-feature/preference-toggles
release-branch/1.42
bradfitz/tsd_fix
bradfitz/bump_tscom
bradfitz/dns_google
bradfitz/shared_user_dev
release-branch/1.40
mihaip/readme
mihaip/build-tags
mihaip/flush
release-branch/1.38
release-branch/1.36
googlehome
gio
sonos
release-branch/1.34
release-branch/1.32
raggi/vader
release-branch/1.30
release-branch/1.28
release-branch/1.26
release-branch/1.24
bradfitz/netstack_localbackend
bradfitz/android_studio
bradfitz/firedoc
release-branch/1.22
bradfitz/tidy
release-branch/1.20
bradfitz/corp_dns_setting
bradfitz/allow_lan
bradfitz/bump_target
bradfitz/be_exit_node
bradfitz/bugreport
bradfitz/make_darwin
bradfitz/gorev
bradfitz/qr_firestick
release-branch/1.18
release-branch/1.16
release-branch/1.14
always-on
release-branch/1.12
notification
file-share
bradfitz/netns
bradfitz/1.9
split-dns-1695
1.69.75-t27033c627-gb6cacdfd6a2
1.68.1-t92eacec73-g4a5d087d56d
1.68.0-t52ddf0d01-g4528ee61760
1.67.105-t916c4db75-g0e82e54ffb6
1.66.3-teae73f821-g63a2bbc8e71
1.67.13-t7b3e30f39-g46cdbb7b9b2
1.67.13-t7b3e30f39-gb587bc2a18c
1.67.12-t79b2d425c-gff4ce8d9346
1.65.192-te968b0ecd-g48543799b1a
1.65.192-te968b0ecd-g7f66c373eaf-dirty
1.65.182-t80df8ffb8-g6a15347453c
1.65.167-t258b5042f-g5c494450af4
1.65.4-t7a77a2edf-gfab2f183b34
1.64.0-t78dc8622d-gfd2ca6fa940
1.63.93-t1fbaf2610-ge0020f8c4bf
1.57.100-t8250582fe-g9e8dfbb2ab0
1.58.2-tb0e1bbb62-gcd1f0649958
1.57.72-tca48db0d6-gdcca09fe7f8
1.56.0-tf51793b90-g49ed1df6cc9
1.55.148-t86aa0485a-g5ef7bbaff0a
1.55.47-tb88929edf-g0a44d50e8b0
1.54.0-tc82fd1256-g8e8e1d0f76a
1.53.115-t6cce5fe00-gab4a672a4eb
1.51.207-t35d7b3aa2-g3a305b158ca
1.48.2-tab970fe55-g52607bf35ef
1.48.0-t77c732357-g388b71affe8
1.44.1-ta377e1363-g584245cc823
1.44.0-tb3138a71a-gfcf1b101b70
1.43.55-tc783f2822-g0ccb93e1156
1.42.0-tab797f0ab-gccfe73ba474
1.41.69-te3cb98213-g38061656a57
1.40.0-t9bdaece3d-ge0ba590be3e
1.39.194-te3b2250e2-gaa32919ac3d
1.39.174-t280255aca-g1a4a0884663
1.39.138-tcef0a474f-ga5346dcc26a
1.38.2-t3db61d07c-g30af1bea6c7
1.39.35-t731688e5c-gdf47a609279
1.38.2-t3db61d07c-g3a45784fce8
1.38.1-t3eeff9e7f-g8725a9e98e2
1.37.262-t047b32493-g814cd3c43a9
1.37.259-tb64d78d58-gd53da4ac65e
1.36.2-t0438c67e2-gd4f0ac0b58c
1.37.108-t01d58c9b6-g813b770cdf7
1.36.1-t576b08e5e-g28a435b67d6
1.36.0-tab998de98-g9ccba36ca1b
1.35.165-t2df38b1fe-gf643488f7a1
1.35.158-tb657187a6-g9562c27766e
1.34.2-tc5ef9103d-g4727c9c4b63
1.35.108-t692eac23a-g365b0ce6b0e
1.35.108-t692eac23a-g30e46fb8545
1.35.80-t237f030cd-gfd874ed58e9
1.34.1-t331d553a5-g14e42b2de7e
1.35.5-t4b34c8842-gc5e20b297c0
1.34.0-t988801d5d-gca20b46c925
1.33.385-t86b6ff61e-g80b896e71cd
1.33.299-t300aba61a-g1181155b7d1
1.32.3-t9dd89b8c2-g79fdccd8e3e
1.33.97-t81fd25913-g26e72f15efe
1.32.2-t54e8fa172-gd9ef1cad8ab
1.33.21-t63ad49890-g80dfbd8a0c5
1.33.20-t899b4cae1-g185cc3dd8f9
1.32.0-tfc688fe02-g13fc35a8bd5
1.31.167-t6d76764f3-g5ed3921ad62
1.31.84-t42f1d92ae-g03970952d53
1.30.2-t118545749-g9d01824d01f
1.30.2-t118545749-gb1033503280
1.31.40-t2aade349f-g033f7d87b43
1.31.40-t2aade349f-g5d209e6122b
1.30.1-t949c40030-gda453c0f676
1.30.0-t0b00b7a13-gdbd2b98eaea
1.29.194-t70f9fc8c7-gd0812b9476b
1.29.183-te4b5b92b8-gc9d2b97402e
1.29.175-t472529af3-gac01ced297a
v1.10.2-36fe8addc39-g31f2cfa9c9c
1.29.72-tb905db7a5-g9e6ef85d269
1.29.70-tc06758c83-g140149ef876
1.29.70-tc06758c83-g34ae6109d03
1.29.0-t3c892d106-g42f688f1292
1.28.0-taabca3a4c-gd900a87f4b4
1.27.81-t755396d6f-g21ea21f4f03
1.26.2-t5a60f1ffe-g4b32a50bc96
1.27.69-t9584d8aa7-g7abc94c4eae
1.27.57-t06aa14163-gbc1b0e24950
1.27.57-t06aa14163-g4fa037b636b
1.27.24-t467eb2eca-g0c11377ca10
1.26.1-t5b81baa7d-gd2fd1453038
1.26.1-t5b81baa7d-g2ac46a95b0f
1.26.0-t9fc6551b4-g3502f448874
1.26.0-t9fc6551b4-g0ed48c78500
1.25.91-tfc5839864-g1845f173179
1.25.35-te3619b890-ge66e57fbb08
1.24.2-tdce2409b1-gb8ed6272bdb
1.24.2-tdce2409b1-gc32eb8e27e8-dirty
1.24.2-tdce2409b1-gc32eb8e27e8
1.24.0-tf0e71f4a2-g772e6ae6f06
1.23.238-t695f8a1d7-gbd5ef3fd68d
1.23.238-t695f8a1d7-g60f461e5e79
1.23.237-t53588f632-g94762403ce1
1.23.230-t13f75b966-gb8af14c0098
1.23.210-tc13be0c50-g3f8df48d23d
1.23.192-tc591c9165-g4ccafba8f7f
1.23.152-t9f604f2bd-gcc70ae7aa62
1.23.148-t7c7f37342-gb4f8e7f90a4
1.23.53-t012098ec3-gb0f1428443e
1.23.53-t012098ec3-g7203980ecc8
1.22.0-t4e0b00ad8-g56cf5b6132d
1.21.114-te921e1b02-g4a1c0cb2ee7
1.21.112-td19a63ddf-g5868fdb7b04
1.21.52-taaba49ca1-g467ddfc6052-dirty
1.21.52-taaba49ca1-g467ddfc6052
1.20.2-t8e643357d-ge1751fa2802
1.21.24-t0ada42684-g213009e9af5
1.21.8-t8cf1af8a0-g6b83c6ae21f
1.20.0-t958917dce-gdbbb71c2e39
1.19.190-tc5243562d-g039124db792
1.19.190-tc5243562d-g14b849f0e85-dirty
1.19.189-t1a4e8da08-g1be9000a6ac-dirty
1.18.2-tb04815c9c-g08e1f97a38e
1.19.127-tcced414c7-ga3d2dc95dbc
1.19.127-tcced414c7-gc63656926aa
1.19.116-t878a20df2-gb2665ab2ff5
1.19.111-te34ba3223-gca696b116ce
1.18.0-t71f1dd5aa-g6e464cc68f9
1.17.235-t773af7292-gda175ba2212
1.17.205-td6dde5a1a-gdb53a314eb3
1.17.191-t0532eb30d-g0ecb2a25874
1.16.2-tb56ba2054-g377795b3b67
1.17.81-tc60806b55-g61f90a1975b
1.16.1-t4f4000fbe-g0e7d23df47d
1.17.52-t9af27ba82-g82ea8df1dc8
1.16.0-tb0f4f3161-g2840d54aade
1.16.0-tb0f4f3161-gf0dcec6c275-dirty
1.15.210-tbabd163aa-g9b52c6b357b
1.14.6-tdfc4042ec-gb1b53ce7b58
1.15.196-t173bbaa1a-g0637d599af4
1.15.191-t52737c14a-g75ef65dd501
1.15.3-t1925fb584-g7aa8ae9a47e
1.14.0-t62a458f7f-gff91342ecc8
1.14.0-t62a458f7f-g0f6f5a30323
1.13.116-t0ac213059-gae2df120327
1.13.73-t954867fef-g3e299e873d8
1.13.53-t8bdf87883-g30324736c98
1.13.53-t8bdf87883-g15a27d2336b
1.13.52-t360223fcc-g18e6fe24db7
1.13.52-t360223fcc-gd81f8a03b65-dirty
1.13.42-tfd7b738e5-ga68462ec65f
1.12.3-t2be791762-gf6ecdd058da
1.12.3-t2be791762-g2ea501279cf
1.13.19-td37451bac-g82b6b8dbd36
1.13.19-td37451bac-g0f46117f9c0
1.13.6-tf414a9cc0-gd98827df030
1.13.6-f414a9cc01f-gf59e53e41d8
1.12.1-1d7592eb117-g1fc94ccf979
1.12.1-1d7592eb117-gf4742b7d907
1.11.151-d145c594ad6-g7b2e61e80cd
1.11.151-d145c594ad6-g7ebedfd62a9
1.11.151-d145c594ad6-g7a00ad639b4
1.11.151-d145c594ad6-g20c35d55f57
1.11.109-798b0da4703-g480b1a62eb2
1.11.109-798b0da4703-g4d32c6da4f6-dirty
1.11.106-1bb6abc604c-g2c1f35d5607
1.11.106-1bb6abc604c-g27283a8bb0a
v1.10.2-36fe8addc39-g74a18b3359b
v1.10.1-cd3fd076cc7-gadfcedb0972
v1.10.1-cd3fd076cc7-gad31a689393
v1.10.0-405ea978f8b-g242c936b2cd
v1.10.0-405ea978f8b-g10ded1bad29
v1.10.0-405ea978f8b-ge8f2409cb3d-dirty
v1.10.0-405ea978f8b-g6c005dab135-dirty
v1.10.0-405ea978f8b-g47b732aaab1
v1.10.0-t405ea978f-g07616236fc2
v1.10.0-t405ea978f-g5bb36e740cf
v-g2f7b27412a0
v1.8.6-t28a8f9c90-g04890797712
v-g90351e73923
v1.8.6-t28a8f9c90-gff16a75a65c
v1.8.3-td0e86b08c-g8ea1d4ced73
v1.8.3-td0e86b08c-g06e461d7038
v1.6.0-tddc975fcb-g05212e770b0
v1.6.0-tddc975fcb-ge2d731dbbab
v1.6.0-tddc975fcb-g05ddfd5d90e
v1.4.5-tb89c65304-gd3e0b420939
v1.4.4-t64a9656c0-g3e758d0fe21
v1.4.0-t3d7cff91b-g33cf7c0aa19
v1.4.0-t3d7cff91b-gc4f626c5a79
v1.3.267-t9936cffc1-g96e2661764c
v1.2.2-t76c2982d8-gc26c3b0a3
v1.2.2-t76c2982d8-gb981aa576
v1.2.2-t76c2982d8-g8daee9c43
v1.2.2-t76c2982d8-g33a953fb2
v1.2.2-t76c2982d8-gf2c035a8b
v1.2.2-t76c2982d8-g97a826d11
v0.1.21
v0.1.20
v0.1.19
v0.1.18
v0.1.17
v0.1.16
v0.1.15
v0.1.14
v0.1.13
v0.1.11
v0.1.10
1.60.1-t2caffeeb4-g6f7ae79a31c
1.66.0-te2a0fc0bc-g6bd50e8026d
v0.1.5
v0.1.6
v0.1.7
v0.1.8
v0.1.9
v1.2.2-t76c2982d8-g39dfd8495
${ noResults }
11 Commits (3b21a06c8b41a8e1d4bc784fc7a8b60f67b17ae6)
Author | SHA1 | Message | Date |
---|---|---|---|
![]() |
3b21a06c8b
|
android/ui: add key expiry banner (#276)
fixes ENG-2912 copies and adds the a key expiry banner identical to the one on iOS. fixes a couple of small layout issues with the search bar fixes a potential json issue where ComputedName is optional in goland but it was not marked as so in Kotlin. Switched to node.displayName everywhere, which uses ComputedName otherwise, Name. Signed-off-by: Jonathan Nobels <jonathan@tailscale.com> |
3 months ago |
![]() |
6e503f29a9 |
android/ui: implement design feedback
Updates tailscale/corp#18202 Signed-off-by: Percy Wegmann <percy@tailscale.com> |
3 months ago |
![]() |
67a9320d26
|
android/ui: hide mullvad exit nodes in peer list (#263)
Updates tailscale/corp#18202 hides the mullvad nodes (basesd on their Name) in the peers list. This differs slightly from the iOS logic where we use the Location property, but it feels like a better approach since Location is optional in the HostInfo and may not always be present. Signed-off-by: Jonathan Nobels <jonathan@tailscale.com> |
3 months ago |
![]() |
113a7c6f9d
|
android: use ktfmt formatting and use scaffold consistently across all views (#217)
* android: use scaffold consistently across all views Updates tailscale/corp#18202 Updates all the main view to remove the surface containers and replaces them with a Scaffold. All view now use a common Header element (a TopAppBar with common styling). Signed-off-by: Jonathan Nobels <jonathan@tailscale.com> * android: run ktfmt over all kt, java and xml source files Updates tailscale/corp#18202 Standardize code formatting using ktfmt default settings. Signed-off-by: Jonathan Nobels <jonathan@tailscale.com> * android: update readme for new code formatting guidelines Updates tailscale/corp#18202 Mandate the use of ktfmt in the default configuration. Signed-off-by: Jonathan Nobels <jonathan@tailscale.com> --------- Signed-off-by: Jonathan Nobels <jonathan@tailscale.com> |
3 months ago |
![]() |
e568741081 |
android: make ExitNodePickerViewModel reactive
Updates tailscale/corp#18202 Signed-off-by: Percy Wegmann <percy@tailscale.com> |
3 months ago |
![]() |
9a6aecb454 |
android: implement exit node picker
Updates tailscale/corp#18202 Signed-off-by: Percy Wegmann <percy@tailscale.com> |
3 months ago |
![]() |
bf0e56469f
|
android: Add settings screen (#196)
updates tailscale/corp#18202 updates ENG-2854 Adds a basic settings screen. This isn't correctly localized, but that's on the way. Adds the required hooks to edit prefs via localAPI. Adds basic but incomplete login/logout flow. Fixes the sorting of nodes on the main screen and fixes the proper display of your current node details. Signed-off-by: Jonathan Nobels <jonathan@tailscale.com> |
3 months ago |
![]() |
3926cf4b56
|
android: add main screen device details and basic nav (#191)
updates tailscale/corp#18202 updates ENG-2835 updates ENG-2859 Adds the peer details view and some supporting utilities. Eliminates all of the singletons. None of this is styled correctly, but the layouts match iOS. Signed-off-by: Jonathan Nobels jonathan@tailscale.com --------- Signed-off-by: Jonathan Nobels <jonathan@tailscale.com> |
3 months ago |
![]() |
87a8003d39 |
*: add a CI check for license headers and fix all files
Updates tailscale/tailscale#10992 Signed-off-by: James Tucker <james@tailscale.com> |
4 months ago |
![]() |
4f46c38c99
|
Jonathan/notifier (#179)
android: add notifier support a data model and compose dependencies fixes ENG-2084 fixes ENG-2086 Adds support for the ipnBusWatcher directly via a JNI API rather than HTTP via LocalAPIClient Adds a rudimentary controller class and a model from which we can construct ViewModels Cleans up some of the JNI bindings. Adds hooks for ensuring the JNI setup is complete before attempting to do LocalAPIClient things. Cleans up some wildcard imports. Signed-off-by: Jonathan Nobels <jonathan@tailscale.com> Signed-off-by: Percy Wegmann <percy@tailscale.com> Co-authored-by: Percy Wegmann <percy@tailscale.com> |
4 months ago |
![]() |
bb7ea7cf9f
|
android: add kotlin dependencies build the kotlin->go localAPIClient (#173)
updates ENG-2805 Adds all of the kotlin build dependencies and a partial implementation of a LocalAPIClient in the front end, wired up via JNI. The general idea here is to mimic the architecture used on other Tailscale clients, where the front ends largely interact with the backend via "localapi". The LocalAPIClient in go has been renamed to LocalAPIService to avoid confusion with the implementation on the future client side in Kotlin. Some mild refactoring was done to make the localAPI invocations methods on the api service instead of App. Streaming notifier endpoints like watch-ipn-bus are not supported. We will build out a separate set of JNI methods for dealing with those. The jni package is moved under cmd where it is used. This constains mostly-complete implementation of the required localAPI data classes based on the pieces that are used by the iOS and macOS clients. The LocalAPIClient itself does not implement all of the endpoints, but is ready to do so when those APIs are needed by a UI component. Signed-off-by: Jonathan Nobels <jonathan@tailscale.com> |
4 months ago |