Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class AccountRepository
- @Inject
- constructor(
- val openApiMainService: OpenApiMainService,
- val accountPropertiesDao: AccountPropertiesDao,
- val sessionManager: SessionManager
- )
- {
- private val TAG: String = "AppDebug"
- private var repositoryJob: Job? = null
- fun getAccountProperties(authToken: AuthToken): LiveData<DataState<AccountViewState>> {
- return object: NetworkBoundResource<AccountProperties, AccountViewState>(
- sessionManager.isConnectedToTheInternet(),
- true
- ){
- // if network is down, view the cache and return
- override suspend fun createCacheRequestAndReturn() {
- }
- override suspend fun handleApiSuccessResponse(response: ApiSuccessResponse<AccountProperties>) {
- }
- override fun createCall(): LiveData<GenericApiResponse<AccountProperties>> {
- return openApiMainService
- .getAccountProperties(
- "Token ${authToken.token!!}"
- )
- }
- override fun setJob(job: Job) {
- repositoryJob?.cancel()
- repositoryJob = job
- }
- }.asLiveData()
- }
- fun cancelActiveJobs(){
- Log.d(TAG, "AuthRepository: Cancelling on-going jobs...")
- repositoryJob?.cancel()
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement