From 4baec5ff80ffb3105b8a96984abeceaff9e5561a Mon Sep 17 00:00:00 2001 From: kari-ts <135075563+kari-ts@users.noreply.github.com> Date: Wed, 27 Mar 2024 13:53:56 -0700 Subject: [PATCH] App.kt: fix Quick tailscale (#256) -Once we edit prefs with wantRunning, also update QuickToggleService -Start Notifier in App so that we are observing tile status Closes #ENG-2869 Updates tailscale/corp#18202 Signed-off-by: kari-ts --- android/src/main/java/com/tailscale/ipn/App.kt | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/android/src/main/java/com/tailscale/ipn/App.kt b/android/src/main/java/com/tailscale/ipn/App.kt index 93cc6df..cac04d2 100644 --- a/android/src/main/java/com/tailscale/ipn/App.kt +++ b/android/src/main/java/com/tailscale/ipn/App.kt @@ -119,6 +119,7 @@ class App : Application(), libtailscale.AppContext { app = Libtailscale.start(dataDir, directFileDir.absolutePath, this) Request.setApp(app) Notifier.setApp(app) + Notifier.start(applicationScope) connectivityManager = this.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager setAndRegisterNetworkCallbacks() createNotificationChannel( @@ -141,9 +142,13 @@ class App : Application(), libtailscale.AppContext { fun setWantRunning(wantRunning: Boolean) { val callback: (Result) -> Unit = { result -> - result.exceptionOrNull()?.let { error -> - Log.e(TAG, "Set want running: failed to update preferences: ${error.message}") - } + result.fold( + onSuccess = { _ -> + setTileStatus(wantRunning) + }, + onFailure = { error -> + Log.d("TAG", "Set want running: failed to update preferences: ${error.message}") + }) } Client(applicationScope) .editPrefs(Ipn.MaskedPrefs().apply { WantRunning = wantRunning }, callback)