From 32dfb23df69cf2e0631238c510e733875348242f Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 20 Mar 2026 08:33:50 +0000 Subject: [PATCH] Do not start Tor or notifications for offline flavor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Skip `TorManager.init()` and `stats.createNotificationChannel()` in Amber.onCreate() for the offline flavor — no relay connections means no need for notification channels or Tor initialisation - Guard `stats.updateNotification()` in `reconnect()` behind the same offline check to avoid accessing uninitialised lateinit vars - Add an early-return guard in `AmberRelayStats.updateNotification()` so any call path that reaches it from relay listeners is also safe https://claude.ai/code/session_014Zqb1AEPPF2RrzmEyPnmei --- app/src/main/java/com/greenart7c3/nostrsigner/Amber.kt | 10 +++++++--- .../greenart7c3/nostrsigner/relays/AmberRelayStat.kt | 2 ++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/greenart7c3/nostrsigner/Amber.kt b/app/src/main/java/com/greenart7c3/nostrsigner/Amber.kt index 2618ac8e..9249622c 100644 --- a/app/src/main/java/com/greenart7c3/nostrsigner/Amber.kt +++ b/app/src/main/java/com/greenart7c3/nostrsigner/Amber.kt @@ -227,8 +227,10 @@ class Amber : instance = this - stats.createNotificationChannel() - TorManager.init(this) + if (!BuildFlavorChecker.isOfflineFlavor()) { + stats.createNotificationChannel() + TorManager.init(this) + } isStartingAppState.value = true isStartingApp.value = true @@ -371,7 +373,9 @@ class Amber : client.connect() } client.reconnect(wasActive) - stats.updateNotification() + if (!BuildFlavorChecker.isOfflineFlavor()) { + stats.updateNotification() + } } fun getDatabase(npub: String): AppDatabase { diff --git a/app/src/main/java/com/greenart7c3/nostrsigner/relays/AmberRelayStat.kt b/app/src/main/java/com/greenart7c3/nostrsigner/relays/AmberRelayStat.kt index afdd7db1..9011b40e 100644 --- a/app/src/main/java/com/greenart7c3/nostrsigner/relays/AmberRelayStat.kt +++ b/app/src/main/java/com/greenart7c3/nostrsigner/relays/AmberRelayStat.kt @@ -15,6 +15,7 @@ import androidx.core.app.NotificationChannelGroupCompat import androidx.core.app.NotificationCompat import androidx.core.app.NotificationManagerCompat import com.greenart7c3.nostrsigner.Amber +import com.greenart7c3.nostrsigner.BuildFlavorChecker import com.greenart7c3.nostrsigner.MainActivity import com.greenart7c3.nostrsigner.R import com.greenart7c3.nostrsigner.service.KillSwitchReceiver @@ -215,6 +216,7 @@ class AmberRelayStats( } fun updateNotification() { + if (BuildFlavorChecker.isOfflineFlavor()) return val notificationManager = NotificationManagerCompat.from(appContext) if (ActivityCompat.checkSelfPermission(appContext, Manifest.permission.POST_NOTIFICATIONS) == PackageManager.PERMISSION_GRANTED) { createNotification(