import android.content.Context import android.os.Parcelable import java.util.* open class DbProxy constructor(val context: Context) { private val db: PodcastDatabaseHelper init { db = PodcastDatabaseHelper(context) db.writableDatabase // call for first initialization } // ... @Synchronized fun insertOrUpdatePodcast(podcastItem: PodcastDatabaseItem, keepCurrentPlayProgress: Boolean) { val itemInDatabase = findByMp3Url(podcastItem.url) if (itemInDatabase != null) { updateItem(itemInDatabase, podcastItem, keepCurrentPlayProgress) } else { insertItem(podcastItem) } } // ... } data class PodcastDatabaseItem( val url: String, val publishedDate: Date, var title: String, var description: String, var progress: Int, var duration: Int, var speed: Float, var filePath: String) : Parcelable { // ... }