mirror of
https://github.com/openflocon/Flocon.git
synced 2026-05-07 16:03:18 +00:00
Feat log db query (#471)
Co-authored-by: Florent Champigny <florent@bere.al>
This commit is contained in:
parent
20b7b7b29c
commit
24bb623ebd
48 changed files with 8659 additions and 129 deletions
|
|
@ -2,20 +2,29 @@ package io.github.openflocon.flocon.myapplication.multi
|
|||
|
||||
import android.content.Context
|
||||
import androidx.room.Room
|
||||
import androidx.room.RoomDatabase
|
||||
import io.github.openflocon.flocon.myapplication.multi.database.DogDatabase
|
||||
import io.github.openflocon.flocon.myapplication.multi.database.FoodDatabase
|
||||
import io.github.openflocon.flocon.plugins.database.floconLogDatabaseQuery
|
||||
import java.util.concurrent.Executor
|
||||
import java.util.concurrent.Executors
|
||||
|
||||
object Databases {
|
||||
@Volatile
|
||||
private var dogDatabase: DogDatabase? = null
|
||||
|
||||
fun getDogDatabase(context: Context): DogDatabase {
|
||||
val dbName = "dogs_database"
|
||||
return dogDatabase ?: synchronized(this) {
|
||||
val instance = Room.databaseBuilder(
|
||||
context.applicationContext,
|
||||
DogDatabase::class.java,
|
||||
"dogs_database"
|
||||
).fallbackToDestructiveMigration().build()
|
||||
)
|
||||
.setQueryCallback({ sqlQuery, bindArgs -> floconLogDatabaseQuery(
|
||||
dbName = dbName, sqlQuery = sqlQuery, bindArgs = bindArgs
|
||||
) }, Executors.newSingleThreadExecutor())
|
||||
.fallbackToDestructiveMigration().build()
|
||||
dogDatabase = instance
|
||||
instance
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,10 +12,13 @@ import io.github.openflocon.flocon.myapplication.multi.Databases.getDogDatabase
|
|||
import io.github.openflocon.flocon.myapplication.multi.Databases.getFoodDatabase
|
||||
import io.github.openflocon.flocon.myapplication.multi.database.FoodDatabase
|
||||
import io.github.openflocon.flocon.myapplication.multi.database.initializeDatabases
|
||||
import io.github.openflocon.flocon.myapplication.multi.database.model.DogEntity
|
||||
import io.github.openflocon.flocon.myapplication.multi.sharedpreferences.initializeSharedPreferences
|
||||
import io.github.openflocon.flocon.myapplication.multi.ui.App
|
||||
import io.ktor.client.HttpClient
|
||||
import io.ktor.client.engine.okhttp.OkHttp
|
||||
import kotlinx.coroutines.GlobalScope
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
class MainActivity : ComponentActivity() {
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
|
|
@ -43,8 +46,11 @@ class MainActivity : ComponentActivity() {
|
|||
DummyHttpKtorCaller.initialize(ktorClient)
|
||||
|
||||
initializeSharedPreferences(applicationContext)
|
||||
|
||||
val dogDatabase = getDogDatabase(this)
|
||||
|
||||
initializeDatabases(
|
||||
dogDatabase = getDogDatabase(this),
|
||||
dogDatabase = dogDatabase,
|
||||
foodDatabase = getFoodDatabase(this),
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -16,11 +16,14 @@ import androidx.compose.ui.Modifier
|
|||
import androidx.compose.ui.unit.dp
|
||||
import io.github.openflocon.flocon.myapplication.multi.DummyHttpKtorCaller
|
||||
import io.github.openflocon.flocon.myapplication.multi.dashboard.initializeDashboard
|
||||
import io.github.openflocon.flocon.myapplication.multi.database.model.DogEntity
|
||||
import io.github.openflocon.flocon.plugins.analytics.floconAnalytics
|
||||
import io.github.openflocon.flocon.plugins.analytics.model.AnalyticsEvent
|
||||
import io.github.openflocon.flocon.plugins.analytics.model.analyticsProperty
|
||||
import io.github.openflocon.flocon.plugins.tables.floconTable
|
||||
import io.github.openflocon.flocon.plugins.tables.model.toParam
|
||||
import kotlinx.coroutines.GlobalScope
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlin.random.Random
|
||||
|
||||
@Composable
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue