refactor: wrap with try finally

This commit is contained in:
2026-06-10 16:54:53 +02:00
parent 8be9d8ea43
commit f9ddebac8a
@@ -103,6 +103,7 @@ class NwcViewModel(
Timber.d("[$TAG] createConnection description='$description' permissions=$permissions") Timber.d("[$TAG] createConnection description='$description' permissions=$permissions")
viewModelScope.launch { viewModelScope.launch {
_isCreating.value = true _isCreating.value = true
try {
runCatching { runCatching {
val keypair = NwcKeyGenerator.generate() val keypair = NwcKeyGenerator.generate()
Timber.d("[$TAG] generated keypair pubkey=${keypair.pubKeyHex.take(16)}") Timber.d("[$TAG] generated keypair pubkey=${keypair.pubKeyHex.take(16)}")
@@ -114,7 +115,6 @@ class NwcViewModel(
} }
Timber.d("[$TAG] generated keypair pubkey=${keypair.pubKeyHex.take(16)}… (${keypair.pubKeyHex.length} chars)") Timber.d("[$TAG] generated keypair pubkey=${keypair.pubKeyHex.take(16)}… (${keypair.pubKeyHex.length} chars)")
Timber.d("[$TAG] REGISTERING pubkey=${keypair.pubKeyHex}") Timber.d("[$TAG] REGISTERING pubkey=${keypair.pubKeyHex}")
Timber.d("[$TAG] PAIRING secret=${keypair.privKeyHex}")
repo.registerNwcKey( repo.registerNwcKey(
pubkey = keypair.pubKeyHex, pubkey = keypair.pubKeyHex,
@@ -140,7 +140,9 @@ class NwcViewModel(
Timber.e(e, "[$TAG] createConnection failed") Timber.e(e, "[$TAG] createConnection failed")
_uiState.value = NwcUiState.Error(e.message ?: "Failed to create connection") _uiState.value = NwcUiState.Error(e.message ?: "Failed to create connection")
} }
.also { _isCreating.value = false } } finally {
_isCreating.value = false
}
} }
} }
@@ -154,12 +156,12 @@ class NwcViewModel(
fun deleteConnection(pubkey: String) { fun deleteConnection(pubkey: String) {
Timber.d("[$TAG] deleteConnection pubkey=${pubkey.take(16)}") Timber.d("[$TAG] deleteConnection pubkey=${pubkey.take(16)}")
_isDeleting.value = true
viewModelScope.launch { viewModelScope.launch {
_isDeleting.value = true
try {
runCatching { repo.deleteNwcKey(pubkey) } runCatching { repo.deleteNwcKey(pubkey) }
.onSuccess { .onSuccess {
Timber.i("[$TAG] deleted connection pubkey=${pubkey.take(16)}… ✓") Timber.i("[$TAG] deleted connection pubkey=${pubkey.take(16)}… ✓")
// Remove locally for instant feedback, then reload to sync
val current = _uiState.value val current = _uiState.value
if (current is NwcUiState.Success) { if (current is NwcUiState.Success) {
_uiState.value = NwcUiState.Success( _uiState.value = NwcUiState.Success(
@@ -174,9 +176,12 @@ class NwcViewModel(
e.message ?: "Failed to delete connection" e.message ?: "Failed to delete connection"
) )
} }
.also { _isDeleting.value = false } } finally {
_isDeleting.value = false
} }
} }
}
fun loadConnectionDetail(pubkey: String) { fun loadConnectionDetail(pubkey: String) {
Timber.d("[$TAG] loadConnectionDetail pubkey=${pubkey.take(16)}") Timber.d("[$TAG] loadConnectionDetail pubkey=${pubkey.take(16)}")