Newer
Older
Endoscope / app / src / main / java / com / casic / endoscope / base / BaseApplication.kt
package com.casic.endoscope.base

import android.app.Application
import com.casic.endoscope.greendao.DaoMaster
import com.casic.endoscope.greendao.DaoSession
import com.casic.endoscope.utils.EndoscopeDevOpenHelper
import com.pengxh.kt.lite.utils.SaveKeyValues
import kotlin.properties.Delegates

class BaseApplication : Application() {

    private val kTag = "BaseApplication"

    companion object {
        private var application: BaseApplication by Delegates.notNull()

        fun get() = application

        private lateinit var daoSession: DaoSession
    }

    override fun onCreate() {
        super.onCreate()
        application = this
        SaveKeyValues.initSharedPreferences(this)
        initDataBase()
    }

    private fun initDataBase() {
        val devOpenHelper = EndoscopeDevOpenHelper(this, "Endoscope.db", null)
        val daoMaster = DaoMaster(devOpenHelper.writableDatabase)
        daoSession = daoMaster.newSession()
    }

    fun getDaoSession(): DaoSession {
        return daoSession
    }
}