2018-08-03 21:50:21 +02:00
|
|
|
package org.moire.ultrasonic.di
|
|
|
|
|
2020-09-18 09:37:19 +02:00
|
|
|
import androidx.room.Room
|
|
|
|
import org.koin.android.ext.koin.androidContext
|
2021-05-27 12:15:56 +02:00
|
|
|
import org.koin.androidx.viewmodel.dsl.viewModel
|
2020-09-18 09:37:19 +02:00
|
|
|
import org.koin.core.qualifier.named
|
|
|
|
import org.koin.dsl.module
|
|
|
|
import org.moire.ultrasonic.data.AppDatabase
|
2020-10-13 21:41:01 +02:00
|
|
|
import org.moire.ultrasonic.data.MIGRATION_1_2
|
2021-12-24 18:36:23 +01:00
|
|
|
import org.moire.ultrasonic.data.MIGRATION_2_1
|
2021-05-24 23:25:12 +02:00
|
|
|
import org.moire.ultrasonic.data.MIGRATION_2_3
|
2021-12-24 18:36:23 +01:00
|
|
|
import org.moire.ultrasonic.data.MIGRATION_3_2
|
2021-10-14 17:17:32 +02:00
|
|
|
import org.moire.ultrasonic.data.MIGRATION_3_4
|
2021-12-24 18:36:23 +01:00
|
|
|
import org.moire.ultrasonic.data.MIGRATION_4_3
|
2021-11-23 20:38:26 +01:00
|
|
|
import org.moire.ultrasonic.model.ServerSettingsModel
|
2021-09-24 18:20:53 +02:00
|
|
|
import org.moire.ultrasonic.util.Settings
|
2018-08-03 21:50:21 +02:00
|
|
|
|
|
|
|
const val SP_NAME = "Default_SP"
|
2021-06-10 13:43:28 +02:00
|
|
|
const val DB_FILENAME = "ultrasonic-database"
|
2018-08-03 21:50:21 +02:00
|
|
|
|
2021-03-01 17:24:25 +01:00
|
|
|
/**
|
|
|
|
* This Koin module contains registration of classes related to permanent storage
|
|
|
|
*/
|
2018-08-03 21:50:21 +02:00
|
|
|
val appPermanentStorage = module {
|
2021-09-24 18:20:53 +02:00
|
|
|
single(named(SP_NAME)) { Settings.preferences }
|
2020-09-18 09:37:19 +02:00
|
|
|
|
|
|
|
single {
|
|
|
|
Room.databaseBuilder(
|
|
|
|
androidContext(),
|
|
|
|
AppDatabase::class.java,
|
2021-06-10 13:43:28 +02:00
|
|
|
DB_FILENAME
|
2020-10-13 21:41:01 +02:00
|
|
|
)
|
2021-05-25 18:51:00 +02:00
|
|
|
.addMigrations(MIGRATION_1_2)
|
2021-12-24 18:36:23 +01:00
|
|
|
.addMigrations(MIGRATION_2_1)
|
2021-05-25 18:51:00 +02:00
|
|
|
.addMigrations(MIGRATION_2_3)
|
2021-12-24 18:36:23 +01:00
|
|
|
.addMigrations(MIGRATION_3_2)
|
2021-10-14 17:17:32 +02:00
|
|
|
.addMigrations(MIGRATION_3_4)
|
2021-12-24 18:36:23 +01:00
|
|
|
.addMigrations(MIGRATION_4_3)
|
2020-10-13 21:41:01 +02:00
|
|
|
.build()
|
2020-09-18 09:37:19 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
single { get<AppDatabase>().serverSettingDao() }
|
|
|
|
|
2021-04-21 23:01:59 +02:00
|
|
|
viewModel { ServerSettingsModel(get(), get(), get()) }
|
2018-08-03 22:08:30 +02:00
|
|
|
}
|