refactor: wrap with try finally
This commit is contained in:
@@ -103,6 +103,7 @@ class NwcViewModel(
|
||||
Timber.d("[$TAG] createConnection description='$description' permissions=$permissions")
|
||||
viewModelScope.launch {
|
||||
_isCreating.value = true
|
||||
try {
|
||||
runCatching {
|
||||
val keypair = NwcKeyGenerator.generate()
|
||||
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] REGISTERING pubkey=${keypair.pubKeyHex}")
|
||||
Timber.d("[$TAG] PAIRING secret=${keypair.privKeyHex}")
|
||||
|
||||
repo.registerNwcKey(
|
||||
pubkey = keypair.pubKeyHex,
|
||||
@@ -140,7 +140,9 @@ class NwcViewModel(
|
||||
Timber.e(e, "[$TAG] createConnection failed")
|
||||
_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) {
|
||||
Timber.d("[$TAG] deleteConnection pubkey=${pubkey.take(16)}…")
|
||||
_isDeleting.value = true
|
||||
viewModelScope.launch {
|
||||
_isDeleting.value = true
|
||||
try {
|
||||
runCatching { repo.deleteNwcKey(pubkey) }
|
||||
.onSuccess {
|
||||
Timber.i("[$TAG] deleted connection pubkey=${pubkey.take(16)}… ✓")
|
||||
// Remove locally for instant feedback, then reload to sync
|
||||
val current = _uiState.value
|
||||
if (current is NwcUiState.Success) {
|
||||
_uiState.value = NwcUiState.Success(
|
||||
@@ -174,9 +176,12 @@ class NwcViewModel(
|
||||
e.message ?: "Failed to delete connection"
|
||||
)
|
||||
}
|
||||
.also { _isDeleting.value = false }
|
||||
} finally {
|
||||
_isDeleting.value = false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
fun loadConnectionDetail(pubkey: String) {
|
||||
Timber.d("[$TAG] loadConnectionDetail pubkey=${pubkey.take(16)}…")
|
||||
|
||||
Reference in New Issue
Block a user