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

58 lines
1.5 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.
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()