raychenon/gray-sky-weather

View on GitHub
app/src/main/java/io/betterapps/graysky/data/db/entities/LocationDatabase.kt

Summary

Maintainability
A
0 mins
Test Coverage
package io.betterapps.graysky.data.db.entities

import android.content.Context
import androidx.room.Database
import androidx.room.Room
import androidx.room.RoomDatabase

@Database(entities = arrayOf(LocationEntity::class), version = 1, exportSchema = true)
public abstract class LocationDatabase : RoomDatabase() {

    abstract fun locationDao(): LocationDao

    companion object {

        @Volatile
        private var INSTANCE: LocationDatabase? = null

        fun getDatabase(context: Context, dbName: String = "location_database"): LocationDatabase {
            val tempInstance = INSTANCE
            if (tempInstance != null) {
                return tempInstance
            }

            synchronized(this) {
                val instance = Room.databaseBuilder(
                    context.applicationContext,
                    LocationDatabase::class.java,
                    dbName
                ).build()
                INSTANCE = instance
                return instance
            }
        }
    }
}