This commit is contained in:
2026-05-31 08:27:38 +07:00
parent 31c2760b93
commit 9293d0f76f
2 changed files with 21 additions and 15 deletions

View File

@@ -30,9 +30,10 @@ class NostrForegroundService : Service() {
return ProcessLifecycleOwner.get().lifecycle.currentState.isAtLeast(Lifecycle.State.STARTED)
}
@RequiresApi(Build.VERSION_CODES.O)
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
createNotificationChannel()
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
createNotificationChannel()
}
val notification = createNotification()
startForeground(1, notification)
@@ -78,7 +79,7 @@ class NostrForegroundService : Service() {
val manager = getSystemService(NotificationManager::class.java)
val serviceChannel = NotificationChannel(
"nostr_service_silent",
"nostr_service",
"Nostr Background Status",
NotificationManager.IMPORTANCE_MIN
).apply {
@@ -127,7 +128,7 @@ class NostrForegroundService : Service() {
intent,
PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE
)
val notification = NotificationCompat.Builder(this, "nostr_messages")
.setSmallIcon(R.drawable.ic_notification)
.setContentTitle("You received a new message")

View File

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