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.
|
2025-03-03 18:42:57 +03:00
|
|
|
* Last modified 03.03.2025, 15:32
|
2025-02-21 14:44:48 +03:00
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
package ru.risdeveau.pixeldragon
|
|
|
|
|
|
|
|
|
|
import android.content.Context
|
2025-02-22 18:45:55 +03:00
|
|
|
import android.util.Log
|
|
|
|
|
import androidx.room.Room
|
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-02-22 18:45:55 +03:00
|
|
|
import ru.risdeveau.pixeldragon.db.AppDatabase
|
2025-02-21 14:44:48 +03:00
|
|
|
import splitties.init.appCtx
|
|
|
|
|
|
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)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
val accountData = appCtx.getSharedPreferences("settings", Context.MODE_PRIVATE)
|
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
|
|
|
|
|
|
|
|
|
|
suspend fun initCheck(): Boolean {
|
2025-02-22 18:45:55 +03:00
|
|
|
Log.d("initCheck", "checking...")
|
|
|
|
|
|
2025-02-21 14:44:48 +03:00
|
|
|
if (!accountData.contains("token")) return false
|
|
|
|
|
if (!accountData.contains("homeserver")) return false
|
|
|
|
|
|
2025-03-03 18:42:57 +03:00
|
|
|
|
2025-02-21 14:44:48 +03:00
|
|
|
token = accountData.getString("token", "").toString()
|
2025-02-22 18:45:55 +03:00
|
|
|
homeserver = accountData.getString("homeserver", "").toString()
|
2025-03-03 18:42:57 +03:00
|
|
|
baseUrl = "$homeserver/_matrix/client/v3"
|
|
|
|
|
|
|
|
|
|
Log.d("initCheck", "homeserver: $homeserver")
|
2025-02-21 14:44:48 +03:00
|
|
|
|
|
|
|
|
return getMe() != null
|
2025-02-22 18:45:55 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
val db = Room.databaseBuilder(
|
|
|
|
|
appCtx,
|
|
|
|
|
AppDatabase::class.java, "database"
|
|
|
|
|
).build()
|