Files
Nekosu/app/src/main/java/ru/risdeveau/pixeldragon/Common.kt
T
Sweetbread cab56d6329 feat: Delegate homeserver
Now if matrix homeserver on matrix.example.com, example.com will be correct too
2025-03-03 18:44:07 +03:00

58 lines
1.5 KiB
Kotlin
Executable File

/*
* Created by sweetbread
* Copyright (c) 2025. All rights reserved.
* Last modified 03.03.2025, 15:32
*/
package ru.risdeveau.pixeldragon
import android.content.Context
import android.util.Log
import androidx.room.Room
import io.ktor.client.HttpClient
import io.ktor.client.plugins.cache.HttpCache
import io.ktor.client.plugins.logging.LogLevel
import io.ktor.client.plugins.logging.Logger
import io.ktor.client.plugins.logging.Logging
import ru.risdeveau.pixeldragon.api.getMe
import ru.risdeveau.pixeldragon.db.AppDatabase
import splitties.init.appCtx
val client = HttpClient {
install(Logging) {
logger = object : Logger {
override fun log(message: String) {
Log.i("Ktor", message)
}
}
level = LogLevel.ALL
}
install(HttpCache)
}
val accountData = appCtx.getSharedPreferences("settings", Context.MODE_PRIVATE)
lateinit var homeserver: String
lateinit var baseUrl: String
lateinit var token: String
suspend fun initCheck(): Boolean {
Log.d("initCheck", "checking...")
if (!accountData.contains("token")) return false
if (!accountData.contains("homeserver")) return false
token = accountData.getString("token", "").toString()
homeserver = accountData.getString("homeserver", "").toString()
baseUrl = "$homeserver/_matrix/client/v3"
Log.d("initCheck", "homeserver: $homeserver")
return getMe() != null
}
val db = Room.databaseBuilder(
appCtx,
AppDatabase::class.java, "database"
).build()