Commit Graph

271 Commits (0bd4ef932b5b8a1df8874f0c9895321d70af14c5)

Author SHA1 Message Date
Andrea Gottardo 56da7b66d0
android: bump OSS and bump version code to 206 (#329)
Signed-off-by: Andrea Gottardo <andrea@gottardo.me>
7 months ago
kari-ts f95428f7fa
android: bump version code for unstable release (#328)
* go.mod: update for 1.65.1

Signed-off-by: kari-ts <kari@tailscale.com>

* android: bump version code

Signed-off-by: kari-ts <kari@tailscale.com>

---------

Signed-off-by: kari-ts <kari@tailscale.com>
7 months ago
Jonathan Nobels 372af99c53
android/ui: improve dev QOL by adding support for compose previews (#313)
Updates corp#19117

This adds @Previews for many of the primary views.  We can expand upon this
over time to include different data sets, states, etc.

Signed-off-by: Jonathan Nobels <jonathan@tailscale.com>
7 months ago
kari-ts 5ad25262ad
go.mod: update for 1.65.0 (#319)
android: bump version code

Signed-off-by: kari-ts <kari@tailscale.com>
7 months ago
kari-ts 3e32e97261
Makefile: clean up legacy builds (#316)
-Remove legacy builds
-Update version number and name using last unstable

Updates tailscale/corp#18202
Fixes tailscale/corp#19001

Signed-off-by: kari-ts <kari@tailscale.com>
7 months ago
Percy Wegmann 482b350ce0 android: add smoke test
The test verifies that one can log in via the UI and hit hello.ts.net.

Updates tailscale/corp#18202

Signed-off-by: Percy Wegmann <percy@tailscale.com>
7 months ago
kari-ts 38f57b4737
build.gradle, Makefile: remove custom fdroid build (#297)
We're no longer using GoogleSignIn, so there's no need for separate product flavors
Clean up unused dependencies
Updates tailscale/corp#18202

Signed-off-by: kari-ts <kari@tailscale.com>
7 months ago
Jonathan Nobels 32e407d06b
android/tv: reduce layout width and fix navigation (#295)
fixes tailscale/corp#18956
fixes tailscale/corp#18964

Adds a letterboxing effect as a temporary measure to make the UI a bit more usable on AndroidTV.
Fixes a few navigation peculiarities specific to TV (notably, there some padding on the user avatar so you can see when it's highlighted)
Pops a QR code on AndroidTV where we have no browser to complete the flow.

Signed-off-by: Jonathan Nobels <jonathan@tailscale.com>
7 months ago
Jonathan Nobels d188da3a24
android/ui: add compose-style splash screen (#283)
Updates tailscale/corp#18202

Updates the splash screen to the modern themed jetpack compose variant.

Signed-off-by: Jonathan Nobels <jonathan@tailscale.com>
7 months ago
Percy Wegmann 6e503f29a9 android/ui: implement design feedback
Updates tailscale/corp#18202

Signed-off-by: Percy Wegmann <percy@tailscale.com>
7 months ago
Percy Wegmann 8105271d25 android/ui: speed up loading of SettingsView
Updates tailscale/corp#18202

Signed-off-by: Percy Wegmann <percy@tailscale.com>
7 months ago
Percy Wegmann 9f3e871637 android/ui: prompt for write external storage permission and show error if necessary
Updates #ENG-2948

Signed-off-by: Percy Wegmann <percy@tailscale.com>
7 months ago
kari-ts 72753bb82a
android: add ktfmt to gradle (#226)
Updates tailscale/corp#18202

Signed-off-by: kari-ts <kari@tailscale.com>
7 months ago
Percy Wegmann 5e7e36e3bc android: switch to using gomobile
gomobile replaces our custom JNI bindings

Updates tailscale/corp#18202

Signed-off-by: Percy Wegmann <percy@tailscale.com>
7 months ago
kari-ts 98a72c2963 android: new backend
Create pkg/tailscale, a Go library for the new Android app which handles starting up and running the local backend
-On initialization, get the JVM and app context to make JNI work
-Send filesystem directory path

Add a logging bridge from Go to Android (copied from Gio)

Add connect function which sends request to edit prefs instead of setting prefs

Future:
-Make build.gradle more portable
-Fix connect and make sure Quick Tiles still works

Updates tailscale/corp#18202

Signed-off-by: Percy Wegmann <percy@tailscale.com>
7 months ago
Jonathan Nobels e4b0e1f8cd
android: implement fast user switching (#209)
Updates tailscale/corp#18202
Updates ENG-2875
Fixes ENG-2863

Adds everything we need to do fast user switching and support multiple accounts.

Some work here to make the settings rows and a few other composables common and reusable.

Correct the focus and clear behavior on the search bar and corrected the connected in state of SelfNode.

Quick fix for requesting VPN permissions on newer Android phones.

Signed-off-by: Jonathan Nobels <jonathan@tailscale.com>
7 months ago
Jonathan Nobels 16ec19757d
android: adds support for user avatars and some general cleanup (#202)
* android: show user avatars and styling fixes

Updates tailscale/corp#18202
fixes ENG-2852

Load and show the user avatar in the right places.  There's a universal Avatar composable for this that should work everywhere we need it.  This  uses the coil-compose lib which seems to be standard practice and will handle caching for us.

Restyles a few headers to match the about screen and corrects some layout issues with the height of columns.

Signed-off-by: Jonathan Nobels <jonathan@tailscale.com>

* android: add localizations and view model cleanup to match IPNManager

Updates tailscale/corp#18202

Simplifies the view models a bit for readability and localizes a few things that weren't previously localized

Signed-off-by: Jonathan Nobels <jonathan@tailscale.com>

* android: fix peer categorization

Updates tailscale/corp#18202

Fixes a null predicate issue for searching and removes the self nodes if there are no matches.

Signed-off-by: Jonathan Nobels <jonathan@tailscale.com>

* android: rename avatar loader to avatar and add header

Updates tailscale/corp#18202

Rename the AvatarLoader class to Avatar and move it to views.  Add the proper headers.

Signed-off-by: Jonathan Nobels <jonathan@tailscale.com>

---------

Signed-off-by: Jonathan Nobels <jonathan@tailscale.com>
Co-authored-by: Andrea Gottardo <andrea@tailscale.com>
8 months ago
Jonathan Nobels 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>
8 months ago
Jonathan Nobels 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>
8 months ago
Jonathan Nobels 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>
8 months ago
Jonathan Nobels 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>
8 months ago
kari-ts b96df2b830 android: bump version code
Signed-off-by: kari-ts <kari@tailscale.com>
9 months ago
kari-ts 630a6069c4 go.mod: bump oss and version
Updates #cleanup

Signed-off-by: kari-ts <kari@tailscale.com>
9 months ago
kari-ts 813ca8adea
android: bump version code (#152)
* go.mod: update for 1.58.0

Signed-off-by: kari-ts <kari@tailscale.com>

* android: bump version code

Signed-off-by: kari-ts <kari@tailscale.com>

* Pulled OSS from HEAD and fixed version name

* Removed swp file

---------

Signed-off-by: kari-ts <kari@tailscale.com>
9 months ago
Denton Gentry 52601c0dff android: bump version code
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
10 months ago
Denton Gentry dcca09fe7f Update OSS 1.57.x.
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
10 months ago
Denton Gentry 61453254df android: bump version code
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
11 months ago
Denton Gentry 5ef7bbaff0 Update OSS 1.55.x
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
11 months ago
Denton Gentry a6ef5424a7 android: bump version code
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
12 months ago
Denton Gentry 0a44d50e8b update dependencies
- Update Tailscale OSS to 1.55.x
- set compileSdkVersion to 33
- Update androidx dependencies
- increase memory allocated to JVM when building, avoid OOM

Signed-off-by: Denton Gentry <dgentry@tailscale.com>
12 months ago
Denton Gentry 318065c64f android: bump version code
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
12 months ago
Denton Gentry ab4a672a4e go.mod: update from OSS.
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
12 months ago
Denton Gentry 8f766ba087 android: bump version code
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
1 year ago
Denton Gentry 38d38b3af9 android: bump version code
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
1 year ago
Denton Gentry b23dd78e99 android: bump version code
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
1 year ago
Denton Gentry 3a305b158c android: bump version code
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
1 year ago
Andrew Lytvynov 6684b3059c
android: bump version code (#139)
Signed-off-by: Andrew Lytvynov <awly@tailscale.com>
1 year ago
Andrew Lytvynov d5646fb2aa
Bump version and OSS for new unstable release (#138)
Updates https://github.com/tailscale/corp/issues/15340
1 year ago
Denton Gentry c73f8533f0
build.gradle: update targetSdkVersion to 33. (#127)
"bluetooth_name" cannot be accessed after SDK 31, remove it from
getUserConfiguredDeviceName().

Fixes https://github.com/tailscale/tailscale/issues/8955

Signed-off-by: Denton Gentry <dgentry@tailscale.com>
1 year ago
Andrew Lytvynov 88d006f6b9
android: bump version code (#125)
Signed-off-by: Andrew Lytvynov <awly@tailscale.com>
1 year ago
Andrew Lytvynov 4b67f47e88
android: bump version for unstable release (#124)
* go.mod: bump OSS

* android: bump version code

Signed-off-by: Andrew Lytvynov <awly@tailscale.com>

---------

Signed-off-by: Andrew Lytvynov <awly@tailscale.com>
1 year ago
James Tucker 11a0d21d2e android: upgrade gradle plugin runtime to 8.1
Another upgrade recommended by Android Studio, again this is just
upgrading the build tooling, and not yet changing any of the runtime
side dependencies or behaviors.

We switch from jcenter to mavenCentral as advised in the build output,
as jcenter has shutdown.

This includes a mandatory JDK bump from 11 to 20.

Updates #cleanup
1 year ago
Denton Gentry 5610486051 go.mod: update from OSS.
Also increment the build number past those used for
1.46.x releases.

Signed-off-by: Denton Gentry <dgentry@tailscale.com>
1 year ago
James Tucker 8e748afc47 android: update Android Gradle Plugin as recommended by Android Studio
Updates #cleanup
1 year ago
kari-ts 264aae3232
android: update gradle (#112)
-Update Gradle version
-Replace jcenter() with mavenCentral() because of jcenter deprecation
-Use testImplementation instead of the obsolete testCompile

Tested with docker
Fixes #12997

Signed-off-by: kari-ts <kari@tailscale.com>
1 year ago
Andrea Gottardo bb47fa593c
android: increment versionCode to 170 (#113) 1 year ago
Denton Gentry 1e07536824 android: bump version code
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
1 year ago
Denton Gentry 0ccb93e115 go.mod: update for 1.43.x development.
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
1 year ago
Denton Gentry 8d6922285d android: bump version code
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
1 year ago
Denton Gentry 38061656a5 go.mod: update from OSS.
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
1 year ago
Denton Gentry 0931e9b3ee android: bump version code
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry 2118ca5b38 android: bump version code
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Brett Jenkins eb9599540c
Add intents (#87)
IPNReceiver: Add intents to connect and disconnect VPN

Added a new class IPNReceiver to listen to intents silently and connect and disconnect the VPN. This uses workers to avoid doing too much in the IPNReceiver which is to be avoided according to documentation.

Also includes a fix for vpn occasionally not starting. Think this was due to a race condition, but now only sets autoConnect to false when we know a connection is connecting or connected.

Fixes https://github.com/tailscale/tailscale/issues/3547
Updates https://github.com/tailscale/tailscale/issues/2481

Signed-off-by: Brett Jenkins <brett@brettjenkins.co.uk>
2 years ago
Denton Gentry c077c1b38a android: bump version code
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry 71f203a493 android: bump version code
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry df47a60927 go.mod: Update from OSS.
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry 8f512dd7a9 go.mod: beginning of 1.39 development.
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry 6499fb845e android: bump version code
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry 6bbc9032bf android: bump version code
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry d53da4ac65 go.mod: update OSS
Skip over the build number used for 1.36.2.

Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry 2073704cad android: bump version code
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry 813b770cdf go.mod: update Gio, finish Go 1.20 support
Upstream Gio fixed https://todo.sr.ht/~eliasnaur/gio/473, which
we run into in https://github.com/tailscale/tailscale/issues/7255

https://github.com/tailscale/tailscale has moved to Go 1.20
- update go.mod to go 1.20
- go mod tidy -compat=1.20
- update go4.org/unsafe/assume-no-moving-gc

Skip over the build numbers used for 1.36.x

Fixes https://github.com/tailscale/tailscale/issues/7255

Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry 68b6b92eaf go.mod: update for 1.37.x
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry f139c0221e android: bump version code
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry a23dbaf58e android: bump version code
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry 9562c27766 android/build.gradle: skip versions from branches.
We did several builds from release branches.

Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry 152110204c android: bump version code
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry a0f2c883b4 android: bump version code
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry 6f6d319048 android: bump version code
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry fd874ed58e go.mod: update OSS.
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry 7f11150cb6 android: bump version code
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry c5e20b297c go.mod: update from OSS for 1.35.x
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry 3c081e5d10 android: bump version code
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry 498e73e392 android: bump version code
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry 1181155b7d go.mod: update from OSS.
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry bb147bf07c android: bump version code
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry 26e72f15ef go.mod: update from OSS.
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry ac5e24a63d
build.gradle: update to SDK31 (#68)
Required for apps to update in the Play Store after November 1.

This requires:
- manifest must specify if Intents are exported.
- PendingIntent must declare FLAG_IMMUTABLE or MUTABLE

Signed-off-by: Denton Gentry <dgentry@tailscale.com>

Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry b6c2536147 android: bump version code
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry f7c662ca4a android: bump version code
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry 185cc3dd8f skip mistaken build number.
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry d050f2742a go.mod: Update for 1.33
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry ce550a4225 android: bump version code
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry f27f4567f0 android: bump version code
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry 10419aea2d android: bump version code
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry 03970952d5 go.mod: update from OSS.
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry 4869bb4666 android: bump version code
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry 033f7d87b4 android: bump version code
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry 5d209e6122 go.mod: update from OSS
Also increment past the build number used for 1.30.1.

Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry bab2ac0058 go.mod: update for 1.31 dev builds.
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry c0f9eed38e android: bump version code
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry 634431055b android: bump version code
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry 4102b6a40a android: bump version code
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry f2e89244a9 build.gradle: increment build number.
Built on another branch.

Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry aafa3432dc android: bump version code
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry 4f17005954 android: bump version code
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry f225992d28 android: bump version code
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry 6eca3897f8 build.gradle: spaces -> tabs
Only changes whitespace.

Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry 283dd77bcc Add a unit test for DnsConfig.intToInetString
adds JUnit dependencies and basic gradle support to run unit tests,
and a test for DnsConfig.intToInetString().

Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry db31496a24 android: bump version code
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago