feat: migrate to navigation3 #7

Merged
reya merged 3 commits from feat/navigation3 into master 2026-05-31 01:28:10 +00:00
2 changed files with 21 additions and 15 deletions
Showing only changes of commit 9293d0f76f - Show all commits

View File

@@ -30,9 +30,10 @@ class NostrForegroundService : Service() {
return ProcessLifecycleOwner.get().lifecycle.currentState.isAtLeast(Lifecycle.State.STARTED) return ProcessLifecycleOwner.get().lifecycle.currentState.isAtLeast(Lifecycle.State.STARTED)
} }
@RequiresApi(Build.VERSION_CODES.O)
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int { override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
createNotificationChannel() if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
createNotificationChannel()
}
val notification = createNotification() val notification = createNotification()
startForeground(1, notification) startForeground(1, notification)
@@ -78,7 +79,7 @@ class NostrForegroundService : Service() {
val manager = getSystemService(NotificationManager::class.java) val manager = getSystemService(NotificationManager::class.java)
val serviceChannel = NotificationChannel( val serviceChannel = NotificationChannel(
"nostr_service_silent", "nostr_service",
"Nostr Background Status", "Nostr Background Status",
NotificationManager.IMPORTANCE_MIN NotificationManager.IMPORTANCE_MIN
).apply { ).apply {

View File

@@ -202,19 +202,24 @@ class NostrViewModel(
private fun login() { private fun login() {
viewModelScope.launch { viewModelScope.launch {
val secret = secretStore.get("user_signer") try {
val secret = secretStore.get("user_signer")
if (secret == null) { if (secret == null) {
_signerRequired.value = true _signerRequired.value = true
return@launch return@launch
} }
runCatching { runCatching {
val signer = createSigner(secret) val signer = createSigner(secret)
nostr.setSigner(signer) nostr.setSigner(signer)
}.onSuccess { }.onSuccess {
_signerRequired.value = false _signerRequired.value = false
}.onFailure { e -> }.onFailure { e ->
showError("Login failed: ${e.message}")
_signerRequired.value = true
}
} catch (e: Exception) {
showError("Login failed: ${e.message}") showError("Login failed: ${e.message}")
_signerRequired.value = true _signerRequired.value = true
} }