MainViewModel

class MainViewModel @Inject constructor(repository: MessengerRepository, connectionManager: ConnectionManager, proxyManager: ProxyManager, invizibleHelper: InvizibleHelper) : ViewModel

Constructors

Link copied to clipboard
@Inject
constructor(repository: MessengerRepository, connectionManager: ConnectionManager, proxyManager: ProxyManager, invizibleHelper: InvizibleHelper)

Properties

Link copied to clipboard
val accounts: StateFlow<List<Account>>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val killswitchActive: StateFlow<Boolean>
Link copied to clipboard
val proxyStatus: StateFlow<ProxyStatus>

Functions

Link copied to clipboard
open fun addCloseable(closeable: AutoCloseable)
fun addCloseable(key: String, closeable: AutoCloseable)
Link copied to clipboard
fun cancelTelegramLogin(accountId: String)
Link copied to clipboard
fun closeConversation(conversationId: String, protocol: ProtocolId)
Link copied to clipboard
fun connectAccount(credentials: AccountCredentials, onResult: (ConnectionResult) -> Unit)
Link copied to clipboard
fun connectTelegram(phone: String, onResult: (ConnectionResult, String) -> Unit)
Link copied to clipboard
fun continueAuth(protocol: ProtocolId, fields: Map<String, String>, onResult: (ConnectionResult) -> Unit)
Link copied to clipboard
fun continueRegistration(protocol: ProtocolId, sessionId: String, fields: Map<String, String>, onResult: (RegistrationResult) -> Unit)
Link copied to clipboard
fun disconnectAccount(accountId: String, onResult: (Boolean) -> Unit = {})
Link copied to clipboard
Link copied to clipboard
suspend fun loadMessageHistory(conversationId: String, protocol: ProtocolId): HistoryLoadResult
Link copied to clipboard
fun messagesFor(conversationId: String): StateFlow<List<Message>>
Link copied to clipboard
Link copied to clipboard
fun pendingAuth(protocol: ProtocolId, onResult: (AuthStep?) -> Unit)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Reachable SOCKS host/port for the current proxy — used by the registration WebView fallback.

Link copied to clipboard
Link copied to clipboard
fun sendMessage(conversationId: String, protocol: ProtocolId, body: String, onResult: (Boolean) -> Unit)
Link copied to clipboard
fun startConversation(protocol: ProtocolId, remoteId: String, message: String?, accountId: String? = null, onResult: (String?) -> Unit)
Link copied to clipboard
Link copied to clipboard
fun testProxy(onResult: (Boolean) -> Unit)
Link copied to clipboard
Link copied to clipboard
fun waitForTelegramAuthStep(timeoutMs: Long, onResult: (AuthStep?) -> Unit)