Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- object DependencyContainer {
- val jobRepository: JobRepository
- init {
- val retrofit = Retrofit.Builder()
- // ...
- .build()
- val stuartApi = retrofit.create(StuartApi::class.java)
- val apiJobRepository = ApiJobRepository(stuartApi)
- val jobCache: JobCache = SomeJobCacheImpl()
- val cachedJobRepository = CachedJobRepository(
- apiJobRepository, jobCache)
- val webSocketPushUpdates = WebSocketPushUpdates(getContext())
- val pushUpdates = MergePushUpdates(listOf(
- webSocketPushUpdates, FirebasePushUpdates))
- val subscribedJobRepository = SubscribedJobRepository(
- cachedJobRepository, pushUpdates)
- jobRepository = subscribedJobRepository
- }
- private fun getContext(): Context {
- // ...
- }
- }
- class MainActivity : Activity() {
- private val disposables = CompositeDisposable()
- fun onResume() {
- super.onResume()
- val jobRepository: = DependencyContainer.jobRepository
- val disposable = jobRepository.getJob("001").subscribe({
- Log.d("Got a Job #${it.id}")
- })
- disposables.add(disposable)
- }
- fun onPause() {
- super.onPause()
- disposables.clear()
- }
- }
Add Comment
Please, Sign In to add comment