Commit Graph

956 Commits (9a69bc3483c28fc602ebdf0bc387137424b6ff18)
 

Author SHA1 Message Date
Jonathan Nobels 9a69bc3483
android: update base builder image (#625)
Updating our base builder to eclipse-temurin:21 to
fix apt dependency errors.  Updating the default
toolchains to speed up the build.

Updates tailscale/tailscale#15210

Signed-off-by: Jonathan Nobels <jonathan@tailscale.com>
9 months ago
kari-ts 45d97105fb
android: intall zip (#624)
Add zip installation to Dockerfile and bump Docker image version

Updates tailscale/tailscale#15210
Signed-off-by: kari-ts <kari@tailscale.com>
9 months ago
Jonathan Nobels 599fa15104
android: bump OSS (#623)
OSS and Version updated to 1.81.169-tf0b395d85-g99712c14d

Signed-off-by: Jonathan Nobels <jonathan@tailscale.com>
9 months ago
kari-ts 99712c14da
android: enable search for TV (#620)
Updates tailscale/corp#18973

Signed-off-by: kari-ts <kari@tailscale.com>
9 months ago
kari-ts 141b1cff45
Makefile: make unstripped libtailscale and debug symbols (#619)
- Added Makefile targets to build an unstripped version of the libtailscale AAR.
- Extracted the native .so (libgojni.so) from the unstripped AAR.
- Generated a debug symbols file (libgojni.so.debug) using llvm-objcopy with --only-keep-debug.
- Stripped the native library (libgojni.so.stripped) with --strip-debug and repackaged the final AAR.

This allows the build chain to produce a stripped AAR for the app and a separate debug symbols file that can be uploaded to Google Play for crash deobfuscation.

Signed-off-by: kari-ts <kari@tailscale.com>
Updates tailscale/tailscale#15210
9 months ago
kari-ts 189de89466
android: check back stack before popping back (#618)
A possible cause for an IndexOutOfBounds exception is that when the intent is delivered, the back stack doesn't have enough entries for the operation. Condition popping back on if there is more than one entry in the back stack; otherwise, navigate directly to main to reset the back stack.

Updates tailscale/tailscale#15188

Signed-off-by: kari-ts <kari@tailscale.com>
9 months ago
kari-ts 10b2c61f5f
android: refine search (#611)
-improve transition
-clean up search input spacing to match other elements
-match search results page styling to machines page
-fix issue where search suggestions were propagating to main view
-flip new search flag On

Fixes tailscale/corp#18973

Signed-off-by: kari-ts <kari@tailscale.com>
9 months ago
Brad Fitzpatrick 6a3342e66d
go.mod, go.toolchain.rev: bump oss, bump Go to Go 1.24.0 (#615)
Updates tailscale/tailscale#15015

Signed-off-by: Brad Fitzpatrick <brad@danga.com>
9 months ago
kari-ts 2f91d068c7
Makefile: update -compat flag (#616)
Updates tailscale/tailscale#15015

Signed-off-by: kari-ts <kari@tailscale.com>
9 months ago
Nick Khyl c58a98931f
android: bump OSS (#612)
OSS and Version updated to 1.81.24-te19c01f5b-gfee71b410

Signed-off-by: Nick Khyl <nickk@tailscale.com>
10 months ago
Jonathan Nobels fee71b4107
android: bump OSS (#610)
OSS and Version updated to

Signed-off-by: Jonathan Nobels <jonathan@tailscale.com>
10 months ago
Jonathan Nobels 5015d9dba0
BumpOSS to v1.81 (#609)
Signed-off-by: Jonathan Nobels <jonathan@tailscale.com>
10 months ago
Andrea Gottardo 8d55951fb2
android: bump OSS (#607)
Signed-off-by: Andrea Gottardo <andrea@gottardo.me>
10 months ago
Jonathan Nobels 817121e213
android/tv: remove avatar padding in userView (#606)
updates tailscale/corp#26199

Removes the avatar padding when the avatar is not focusable.

Signed-off-by: Jonathan Nobels <jonathan@tailscale.com>
10 months ago
Jonathan Nobels 7f93377c2f
android/tv: fix focus highlighting on back buttons (#605)
updates tailscale/corp#26199

The back buttons would not highlight properly when
they are focussed on Android TV.  This pulls in what
was implemented for the Avatar.

Some small tweaks to the action animation so that it
has a nice radius instead of a square box.

Signed-off-by: Jonathan Nobels <jonathan@tailscale.com>
10 months ago
Andrea Gottardo 56d7be331e
ui: display error dialog when saving subnet routes fails (#604)
Fixes tailscale/corp#26175

When setting subnet routing settings, for a variety of reasons the Tailscale backend may reject an entered value with a 400 error. Here we handle such errors in a user-facing fashion:

- We display an ErrorDialog with title 'Failed to save' and whatever error message the backend request returned. To do so, we introduce a new initializer for ErrorDialog that accepts a runtime-generated String instead of a fixed string resource.
- We ask the backend to provide an updated value of AdvertiseRoutes whenever the error dialog is dismissed by the user, and set it as the UI state, to ensure consistency between UI and backend upon a failed save.

Signed-off-by: Andrea Gottardo <andrea@gottardo.me>
10 months ago
Keli 0ed18a2b0a
android: fix typo in subnet menu (#603)
android: update typo in subnet menu
Updates a typo in the subnet router "add route" menu from "a IPv4" to "an IPv4"

Fixes tailscale/corp#26167

Signed-off-by: Keli Velazquez <keli@tailscale.com>
10 months ago
Keli 73333bc13e
android: bump OSS (#602)
OSS and Version updated to 1.79.134-tc79b736a8-g0f6059dfc

Signed-off-by: Keli Velazquez <keli@tailscale.com>
10 months ago
Andrea Gottardo 0f6059dfc0
android: bump OSS (#599)
Bump OSS to 20250117225247 and versionCode to 350

Signed-off-by: Andrea Gottardo <andrea@gottardo.me>
11 months ago
Andrea Gottardo 61895c47a1
mdm: define Hostname syspolicy on Android (#598)
Updates tailscale/corp#25936

Adds a definition for the Hostname syspolicy which we are adding in OSS: https://github.com/tailscale/tailscale/pull/14676

Also adds it to the app_restrictions.xml file so that MDM solutions can pick it up.

Signed-off-by: Andrea Gottardo <andrea@gottardo.me>
11 months ago
Andrea Gottardo 9c3378d7eb
ui: add ability to advertise Android device as subnet router (#595) 11 months ago
Jarne Demeulemeester a2850b1078
android: mark Quick Settings tile as toggleable (#594)
Signed-off-by: Jarne Demeulemeester <jarnedemeulemeester@gmail.com>
11 months ago
Andrea Gottardo b1bc451d76
android: bump OSS, set versionCode to 346 (#596)
OSS bumped to v1.79.116-t6364b5f1e-g34a06be19

Signed-off-by: Andrea Gottardo <andrea@gottardo.me>
11 months ago
Nick Khyl 34a06be19a
github/workflows/{android,go_mod_tidy}: run on all PRs and on pushes to {main,release-branch/*} (#591)
Previously, using * in branch filters prevented PR CI actions from running on prefixed branches such as release-branch/* because * only matches characters except for forward slashes. In this PR, we remove the branch filter to ensure that Android builds and go mod tidy checks are executed on all PRs, regardless of the target branch. Additionally, these checks will now run on pushes to release-branch/*.

Fixes tailscale/corp#25313

Signed-off-by: Nick Khyl <nickk@tailscale.com>
12 months ago
kari-ts eb6d0c6c43
android: bump OSS (#588)
OSS and Version updated to 1.79.0-pre.0.20241209204210-06c5e83c204b

Signed-off-by: kari-ts <kari@tailscale.com>
12 months ago
kari-ts e500111fb9
android: put new search behind flag (#587)
Until the WIP feature is ready

Updates tailscale/corp#18973

Signed-off-by: kari-ts <kari@tailscale.com>
Signed-off-by: kari-ts <135075563+kari-ts@users.noreply.github.com>
12 months ago
kari-ts ebbc1b2f49
android: add logging to see what's spamming editPrefs (#586)
Updates tailscale/tailscale#14125

Signed-off-by: kari-ts <kari@tailscale.com>
12 months ago
kari-ts db6f9fe5c0
android: synchronize ipn state and UI (#585)
Pass in intended state to toggleVpn and keep track of progress to avoid redundant updates and ensure that the action taken reflects the user's intent.
This fixes a possible recomposition loop caused by the ipn state and the vpn toggle state getting out of sync.

Updates tailscale/tailscale#14125

Signed-off-by: kari-ts <kari@tailscale.com>
12 months ago
kari-ts 45ddef1a90
android: add SearchView (#584)
-Material3 search bar opens up search suggestions/results view under the bar, but we want it to open up a full page, so create SearchView and use placeholder search bar on MainView that navigates to SearchView
-Tapping on suggestions/results should open up PeerDetails, so fix PeerDetails navigation to use backstack instead of always going back to Main view

Next up: ensuring search filtering adheres to MDM requirements, and UI polish

Updates tailscale/corp#18973

Signed-off-by: kari-ts <kari@tailscale.com>
1 year ago
kari-ts bbe3270c51
android: hide allow LAN access if feature not enabled (#583)
excludeRoute is only supported on API 33+, so we are not supporting allow LAN access for older versions. To avoid confusion, don't show the option if the feature is not enabled.

Updates tailscale/corp#25083

Signed-off-by: kari-ts <kari@tailscale.com>
1 year ago
Jonathan Nobels 205aeaed86
android: omit excludedRoutes for API<33 (#582)
updates tailscale/corp#25083

excludedRoutes is only supported on API 33 and up so
it needs a version check.

Signed-off-by: Jonathan Nobels <jonathan@tailscale.com>
1 year ago
Keli 4e9cceb073
android: bump OSS (#581)
OSS and Version updated to 1.77.157-t8d0c690f8-ge29cfc541

Signed-off-by: Keli Velazquez <keli@tailscale.com>
1 year ago
kari-ts e29cfc5411
android: fix android TV focus requester crash (#580)
Properly attach FocusRequester to the root column of TaildropView so that there is a focusable UI element available to receive the focus

Fixes tailscale/corp#25007

Signed-off-by: kari-ts <kari@tailscale.com>
1 year ago
kari-ts 38abb03168
android: specify whether or not receivers are exported (#579)
Per https://developer.android.com/about/versions/14/behavior-changes-14#runtime-receivers-exported, we need to register all receivers.

Fixes tailscale/corp#25021

Signed-off-by: kari-ts <kari@tailscale.com>
1 year ago
kari-ts f96b6328df
android: emphasize hex code in TV login (#578)
Add a rounded box around the hex code and emphasize the code with font/styling

Updates tailscale/corp#24837

Signed-off-by: kari-ts <kari@tailscale.com>
1 year ago
Keli 7fc51f5c58
android: bump OSS (#577)
OSS and Version updated to 1.77.139-t788121f47-g7857f81f9

Signed-off-by: Keli Velazquez <keli@tailscale.com>
1 year ago
Keli 7857f81f9f
android: update hex input code instructions for TV log in (#576)
Updates the login UI to provide the input code location in the admin console.

Fixes tailscale/corp#24837

Signed-off-by: Keli Velazquez <keli@tailscale.com>
1 year ago
Jonathan Nobels f35b3f9274
android: move node search to background and fix avatar padding (#574)
android: use background search and fix avatar padding

fixes tailscale/corp#24847
fixes tailsacle/corp#24848

Search jobs are moved to the default dispatcher so they
do not block the UI thread.

The avatar boxing is now used only conditionally on AndroidTV.

Signed-off-by: Jonathan Nobels <jonathan@tailscale.com>
1 year ago
Andrea Gottardo fda3820582
HealthNotifier: prevent and drop all warnings in the Stopped state (#575)
Updates tailscale/tailscale#12960

When the client is Stopped after running, a false positive DERP warnings was getting presented. This was not happening on Apple platforms because we never leave the client in a Stopped state, the extension instantly terminates. Since that's not the case on Android, this PR ensures that:

- we do not present any warnings when the client is Stopped (nothing should be broken when nothing is running)
- if we enter the Stopped state, any pre-existing warnings generated while the client was running are dropped

Signed-off-by: Andrea Gottardo <andrea@gottardo.me>
1 year ago
Andrea Gottardo 61c7c3c8c1
HealthNotifier: fix dependent messages handling (#573)
Fixes tailscale/corp#24582

Android port of tailscale/corp#24719. We were not clearing dependency warnings when a new warning was added which was listed as a dependency of a pre-existing warning. For instance, if `dns-read-os-config-failed` is added to the warnings before `network-status` is added, we were ignoring the dependency by not removing `dns-read-os-config-failed` upon adding `network-status`. This PR addresses that.

Signed-off-by: Andrea Gottardo <andrea@gottardo.me>
1 year ago
Jonathan Nobels 91a1316452
android: bump OSS (#572)
OSS and Version updated to 1.77.114-tbb3d0cae5-g0fe76a7d4

Signed-off-by: Jonathan Nobels <jonathan@tailscale.com>
1 year ago
kari-ts 0fe76a7d46
android: synchronize Notifier app initialization (#568)
@Synchronize Notifier.setApp and Notifier.start to make sure that app isn't being accessed while being set.

Updates tailscale/corp#24694

Signed-off-by: kari-ts <kari@tailscale.com>
1 year ago
Nick Khyl d512aeffd1
mdm: update MDMSettings (and syspolicy) when application restrictions change (#571)
In this PR, we update the Android app to register a broadcast receiver that listens
for android.content.Intent.ACTION_APPLICATION_RESTRICTIONS_CHANGED
and updates MDMSettings whenever a change occurs. This, in turn, notifies the
Go backend and causes it to reload syspolicy, ensuring it reflects the updated
MDM settings.

Updates tailscale/tailscale#12687

Signed-off-by: Nick Khyl <nickk@tailscale.com>
1 year ago
Brad Fitzpatrick 463c70df2a android: modify proguard rules to not mangle Tailscale app symbols
Updates tailscale/tailscale#14162

Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
1 year ago
kari-ts 788bb1dbcd
android: handle null query results in ShareActivity (#567)
If contentResolver.query returns null, or the URI is invalid, skip processing and log instead of crashing.
Also, use 'use' for the cursor instead of 'let' to automatically close the cursor after processing.

Fixes tailscale/corp#24293

Signed-off-by: kari-ts <kari@tailscale.com>
1 year ago
kari-ts c56420bbc1
android: lazily init app in Client (#563)
-Lazily init app in Client to ensure that we aren't trying to make any local API calls before app has been initialized.
-Add @Volatile to ensure that isInitialized is always visible across threads and uses the updated value

Updates tailscale/tailscale#14125

Signed-off-by: kari-ts <kari@tailscale.com>
1 year ago
kari-ts ed8a1b3573
android: initialize appInstance early (#561)
Also log if get() is still being accessed before onCreate initializes appInstance so we can understand if this is still happening.
Also remove a debug log that I forgot to delete.

Updates tailscale/tailscale#14125

Signed-off-by: kari-ts <kari@tailscale.com>
1 year ago
kari-ts ca2d161535
android: exclude Adaptive Connectivity Services (#569)
Default to excluding Adaptive Connectivity Services to fix issue where it is erroneously classifying wifi as broken

Fixes tailscale/tailscale#14128

Signed-off-by: kari-ts <kari@tailscale.com>
1 year ago
Jonathan Nobels f90967efae
Makefile: run version before attempting to build the apk/aab (#566)
Makefile: run version before any APK builds

updates tailscle/corp#24686

We must ensure the correct version file exists before
kicking off any of the apk or aab builds.  This also revs
the docker image so we're picking up the latest
toolchain.

Signed-off-by: Jonathan Nobels <jonathan@tailscale.com>
1 year ago
Jonathan Nobels 1538163b2d
android: bump OSS (#565)
OSS and Version updated to 1.77.113-t00517c818-ge95b7b7f6

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