add login and board_list #26

Manually merged
norangebit merged 38 commits from feature_integrate_login into develop 2020-01-14 19:53:09 +00:00
2 changed files with 23 additions and 4 deletions
Showing only changes of commit c06bd99fd0 - Show all commits

View File

@ -5,9 +5,10 @@ import okhttp3.OkHttpClient
import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory
object ServicesFactory {
class ServicesFactory private constructor(
reader: PreferenceReader
) {
private val retrofit: Retrofit
private lateinit var reader: PreferenceReader //TODO
init {
val httpClient = OkHttpClient.Builder()
@ -55,5 +56,23 @@ object ServicesFactory {
val userService by lazy {
retrofit.create(UserService::class.java)
}
companion object {
@Volatile
private var INSTANCE: ServicesFactory? = null
fun getInstance(reader: PreferenceReader): ServicesFactory {
val tempInstance = INSTANCE
if (tempInstance != null)
return tempInstance
synchronized(this) {
val instance = ServicesFactory(reader)
INSTANCE = instance
return instance
}
}
}
}

View File

@ -13,8 +13,8 @@ class BoardListViewModel(application: Application) : AndroidViewModel(applicatio
private val repository: BoardRepository = BoardRepository(
BoardDatabase.getDatabase(application).boardDao(),
ServicesFactory.boardService,
DumReader()
ServicesFactory.getInstance(TODO()).boardService,
TODO()
)
val allBoards: LiveData<List<Board>> = repository.allBoards