diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/model/AccountSettings.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/model/AccountSettings.kt index b767838f8..412762969 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/model/AccountSettings.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/model/AccountSettings.kt @@ -20,7 +20,9 @@ */ package com.vitorpamplona.amethyst.model +import android.util.Log import androidx.compose.runtime.Stable +import com.vitorpamplona.amethyst.Amethyst import com.vitorpamplona.amethyst.service.Nip96MediaServers import com.vitorpamplona.amethyst.ui.tor.TorSettings import com.vitorpamplona.amethyst.ui.tor.TorSettingsFlow @@ -120,7 +122,6 @@ class AccountSettings( val pendingAttestations: MutableStateFlow> = MutableStateFlow>(mapOf()), ) { val saveable = MutableStateFlow(AccountSettingsUpdater(this)) - val syncedSettings: AccountSyncedSettings = backupSyncedSettings?.let { AccountSyncedSettings(it) } ?: AccountSyncedSettings(AccountSyncedSettingsInternal()) @@ -141,7 +142,19 @@ class AccountSettings( } else { when (val packageName = externalSignerPackageName) { null -> NostrSignerInternal(keyPair) - else -> NostrSignerExternal(keyPair.pubKey.toHexKey(), ExternalSignerLauncher(keyPair.pubKey.toHexKey(), packageName)) + else -> { + val externalSignerLauncher = ExternalSignerLauncher(keyPair.pubKey.toHexKey(), packageName) + // TODO: How to handle the launcher here? + try { + externalSignerLauncher.registerLauncher( + launcher = { }, + contentResolver = Amethyst.instance::contentResolverFn, + ) + } catch (e: Exception) { + Log.d("AccountSettings", "Failed to initialize external signer", e) + } + NostrSignerExternal(keyPair.pubKey.toHexKey(), externalSignerLauncher) + } } }