Skip to content

Instantly share code, notes, and snippets.

@markchristopherng
markchristopherng / AuspostDatabaseProvider.kt
Created April 11, 2018 04:45
AuspostDatabaseProvider
package au.com.auspost.android
import android.arch.persistence.db.SupportSQLiteDatabase
import android.arch.persistence.room.Room
import android.arch.persistence.room.migration.Migration
import android.content.Context
import android.support.annotation.VisibleForTesting
import io.reactivex.Observable
import timber.log.Timber
import toothpick.ProvidesSingletonInScope
package au.com.auspost.android.feature.postcode.service
import au.com.auspost.android.AuspostDatabase
import javax.inject.Inject
import javax.inject.Singleton
@Singleton
class BranchLocationManager {
@Inject
package au.com.auspost.android.feature.postcode.service
import android.arch.persistence.room.Dao
import android.arch.persistence.room.Insert
import android.arch.persistence.room.OnConflictStrategy
import android.arch.persistence.room.Query
import au.com.auspost.android.feature.postcode.model.BranchLocation
import io.reactivex.Single
@Dao
@markchristopherng
markchristopherng / BranchLocation.kt
Created April 11, 2018 01:54
Room Entity with Parceler
@Entity(tableName = "branch_location")
@SuppressLint("ParcelCreator")
data class BranchLocation @ParcelConstructor constructor (@PrimaryKey(autoGenerate = true) var id : Int,
@ColumnInfo(name = "postcode") var postcode : String?,
@ColumnInfo(name = "locality") var locality : String?,
@ColumnInfo(name = "state") var state : String?,
@ColumnInfo(name = "delivery") var delivery : String? = null,
@ColumnInfo(name = "category") var category : String?)
package au.com.auspost.android.feature.postcode.model
import android.arch.persistence.room.ColumnInfo
import android.arch.persistence.room.Entity
import android.arch.persistence.room.PrimaryKey
@Entity(tableName = "branch_location")
data class BranchLocation(@PrimaryKey(autoGenerate = true) var id : Int,
@ColumnInfo(name = "postcode") var postcode : String?,
@ColumnInfo(name = "locality") var locality : String?,