Files
Nekosu/app/src/main/java/ru/risdeveau/pixeldragon/Common.kt
T

50 lines
1.2 KiB
Kotlin
Raw Normal View History

2025-02-21 14:44:48 +03:00
/*
2025-03-03 18:42:57 +03:00
* Created by sweetbread
2025-02-21 14:44:48 +03:00
* Copyright (c) 2025. All rights reserved.
*/
package ru.risdeveau.pixeldragon
2025-02-22 18:45:55 +03:00
import android.util.Log
2025-02-21 14:44:48 +03:00
import io.ktor.client.HttpClient
import io.ktor.client.plugins.cache.HttpCache
2025-02-22 18:45:55 +03:00
import io.ktor.client.plugins.logging.LogLevel
import io.ktor.client.plugins.logging.Logger
import io.ktor.client.plugins.logging.Logging
2025-02-21 14:44:48 +03:00
import ru.risdeveau.pixeldragon.api.getMe
2025-11-04 00:05:23 +03:00
import splitties.preferences.Preferences
2025-02-21 14:44:48 +03:00
2025-02-22 18:45:55 +03:00
val client = HttpClient {
install(Logging) {
logger = object : Logger {
override fun log(message: String) {
Log.i("Ktor", message)
}
2025-02-21 14:44:48 +03:00
}
2025-02-22 18:45:55 +03:00
level = LogLevel.ALL
2025-02-21 14:44:48 +03:00
}
install(HttpCache)
}
2025-02-22 18:45:55 +03:00
lateinit var homeserver: String
lateinit var baseUrl: String
2025-02-21 14:44:48 +03:00
lateinit var token: String
2025-11-04 00:05:23 +03:00
object AccountData : Preferences("settings") {
var token by stringPref("token", "")
var homeserver by stringPref("homeserver", "")
}
2025-02-21 14:44:48 +03:00
suspend fun initCheck(): Boolean {
2025-02-22 18:45:55 +03:00
Log.d("initCheck", "checking...")
2025-11-04 00:05:23 +03:00
token = AccountData.token
homeserver = AccountData.homeserver
2025-02-21 14:44:48 +03:00
2025-11-04 00:05:23 +03:00
if (token.isEmpty() or homeserver.isEmpty()) return false
2025-03-03 18:42:57 +03:00
baseUrl = "$homeserver/_matrix/client/v3"
2025-02-21 14:44:48 +03:00
return getMe() != null
2025-11-04 20:30:22 +03:00
}