insert the default shared theme only after the function has been activated

This commit is contained in:
tibbi 2017-11-29 17:55:00 +01:00
parent 3496de5d6a
commit 27cf585f24
1 changed files with 20 additions and 4 deletions

View File

@ -15,7 +15,7 @@ import com.simplemobiletools.commons.helpers.MyContentProvider.Companion.fillThe
import com.simplemobiletools.commons.models.SharedTheme
class MyContentProviderDbHelper private constructor(private val context: Context) : SQLiteOpenHelper(context, DB_NAME, null, DB_VERSION) {
private val mDb: SQLiteDatabase = writableDatabase
private val mDb = writableDatabase
companion object {
private val DB_NAME = "Commons.db"
@ -29,16 +29,15 @@ class MyContentProviderDbHelper private constructor(private val context: Context
override fun onCreate(db: SQLiteDatabase) {
db.execSQL("CREATE TABLE $TABLE_NAME ($COL_ID INTEGER PRIMARY KEY AUTOINCREMENT, $COL_TEXT_COLOR INTEGER DEFAULT 0, $COL_BACKGROUND_COLOR INTEGER DEFAULT 0," +
" $COL_PRIMARY_COLOR INTEGER DEFAULT 0, $COL_LAST_UPDATED_TS INTEGER DEFAULT 0)")
insertDefaultTheme(db)
}
override fun onUpgrade(db: SQLiteDatabase, oldVersion: Int, newVersion: Int) {}
private fun insertDefaultTheme(db: SQLiteDatabase) {
private fun insertDefaultTheme() {
val resources = context.resources
val theme = SharedTheme(resources.getColor(R.color.theme_dark_text_color), resources.getColor(R.color.theme_dark_background_color),
resources.getColor(R.color.color_primary))
insertTheme(theme, db)
insertTheme(theme, mDb)
}
private fun insertTheme(sharedTheme: SharedTheme, db: SQLiteDatabase) {
@ -52,7 +51,24 @@ class MyContentProviderDbHelper private constructor(private val context: Context
return mDb.update(TABLE_NAME, values, selection, selectionArgs)
}
fun isThemeAvailable(): Boolean {
val cols = arrayOf(COL_ID)
val selection = "$COL_ID = ?"
val selectionArgs = arrayOf(THEME_ID.toString())
var cursor: Cursor? = null
try {
cursor = mDb.query(TABLE_NAME, cols, selection, selectionArgs, null, null, null)
return cursor.moveToFirst()
} finally {
cursor?.close()
}
}
fun getSharedTheme(): Cursor? {
if (!isThemeAvailable()) {
insertDefaultTheme()
}
val cols = arrayOf(COL_TEXT_COLOR, COL_BACKGROUND_COLOR, COL_PRIMARY_COLOR, COL_LAST_UPDATED_TS)
val selection = "$COL_ID = ?"
val selectionArgs = arrayOf(THEME_ID.toString())