|
@@ -1,13 +1,30 @@
|
|
|
package com.sirekanian.spacetime.data
|
|
package com.sirekanian.spacetime.data
|
|
|
|
|
|
|
|
|
|
+import android.content.res.Resources
|
|
|
import androidx.room.RoomDatabase
|
|
import androidx.room.RoomDatabase
|
|
|
import androidx.sqlite.db.SupportSQLiteDatabase
|
|
import androidx.sqlite.db.SupportSQLiteDatabase
|
|
|
|
|
+import com.sirekanian.spacetime.R
|
|
|
|
|
+import com.sirekanian.spacetime.model.ImagePage
|
|
|
|
|
+import com.sirekanian.spacetime.model.createImagePage
|
|
|
|
|
+import com.sirekanian.spacetime.ui.DateField
|
|
|
|
|
+
|
|
|
|
|
+class DefaultDataCallback(resources: Resources) : RoomDatabase.Callback() {
|
|
|
|
|
+
|
|
|
|
|
+ private val defaultPages: List<ImagePage>
|
|
|
|
|
+
|
|
|
|
|
+ init {
|
|
|
|
|
+ val names = resources.getStringArray(R.array.default_page_names)
|
|
|
|
|
+ val dates = resources.getStringArray(R.array.default_page_dates)
|
|
|
|
|
+ defaultPages = names.zip(URLS).zip(dates) { (name, url), date ->
|
|
|
|
|
+ createImagePage(name, url, DateField(date))
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
-class DefaultDataCallback : RoomDatabase.Callback() {
|
|
|
|
|
override fun onCreate(db: SupportSQLiteDatabase) {
|
|
override fun onCreate(db: SupportSQLiteDatabase) {
|
|
|
- URLS.take(2).forEach {
|
|
|
|
|
- val args = arrayOf("", it, "")
|
|
|
|
|
|
|
+ defaultPages.forEach { page ->
|
|
|
|
|
+ val args = arrayOf(page.name, page.url, page.date.value)
|
|
|
db.execSQL("INSERT INTO PageEntity (name, url, date) VALUES (?, ?, ?)", args)
|
|
db.execSQL("INSERT INTO PageEntity (name, url, date) VALUES (?, ?, ?)", args)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
}
|
|
}
|