That fuck shit the fascists are using
1/*
2 * Copyright 2024 Signal Messenger, LLC
3 * SPDX-License-Identifier: AGPL-3.0-only
4 */
5
6package org.tm.archive.nicknames
7
8import androidx.compose.runtime.State
9import androidx.compose.runtime.mutableStateOf
10import androidx.lifecycle.ViewModel
11import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
12import io.reactivex.rxjava3.kotlin.subscribeBy
13import io.reactivex.rxjava3.schedulers.Schedulers
14import org.tm.archive.recipients.Recipient
15import org.tm.archive.recipients.RecipientId
16
17class ViewNoteSheetViewModel(
18 recipientId: RecipientId
19) : ViewModel() {
20 private val internalNote = mutableStateOf("")
21 val note: State<String> = internalNote
22
23 private val recipientDisposable = Recipient.observable(recipientId)
24 .map { it.note ?: "" }
25 .subscribeOn(Schedulers.io())
26 .observeOn(AndroidSchedulers.mainThread())
27 .subscribeBy { internalNote.value = it }
28
29 override fun onCleared() {
30 recipientDisposable.dispose()
31 }
32}