diff --git a/app/src/main/java/com/codingwithmitch/openapi/repository/NetworkBoundResource.kt b/app/src/main/java/com/codingwithmitch/openapi/repository/NetworkBoundResource.kt index 44cb4088..791223d8 100644 --- a/app/src/main/java/com/codingwithmitch/openapi/repository/NetworkBoundResource.kt +++ b/app/src/main/java/com/codingwithmitch/openapi/repository/NetworkBoundResource.kt @@ -16,7 +16,7 @@ import kotlinx.coroutines.* import kotlinx.coroutines.Dispatchers.IO import kotlinx.coroutines.Dispatchers.Main -abstract class NetworkBoundResource +abstract class NetworkBoundResource ( isNetworkAvailable: Boolean, // is their a network connection? isNetworkRequest: Boolean // is this a network request? diff --git a/app/src/main/java/com/codingwithmitch/openapi/repository/auth/AuthRepository.kt b/app/src/main/java/com/codingwithmitch/openapi/repository/auth/AuthRepository.kt index 22dd4314..0cc8efd7 100644 --- a/app/src/main/java/com/codingwithmitch/openapi/repository/auth/AuthRepository.kt +++ b/app/src/main/java/com/codingwithmitch/openapi/repository/auth/AuthRepository.kt @@ -53,7 +53,7 @@ constructor( return returnErrorResponse(loginFieldErrors, ResponseType.Dialog()) } - return object: NetworkBoundResource( + return object: NetworkBoundResource( sessionManager.isConnectedToTheInternet(), true ){ @@ -129,7 +129,7 @@ constructor( return returnErrorResponse(registrationFieldErrors, ResponseType.Dialog()) } - return object: NetworkBoundResource( + return object: NetworkBoundResource( sessionManager.isConnectedToTheInternet(), true ){ @@ -209,7 +209,7 @@ constructor( return returnNoTokenFound() } else{ - return object: NetworkBoundResource( + return object: NetworkBoundResource( sessionManager.isConnectedToTheInternet(), false ){ diff --git a/app/src/main/java/com/codingwithmitch/openapi/repository/main/AccountRepository.kt b/app/src/main/java/com/codingwithmitch/openapi/repository/main/AccountRepository.kt index 39b011ae..d3d4c7f1 100644 --- a/app/src/main/java/com/codingwithmitch/openapi/repository/main/AccountRepository.kt +++ b/app/src/main/java/com/codingwithmitch/openapi/repository/main/AccountRepository.kt @@ -1,8 +1,10 @@ package com.codingwithmitch.openapi.repository.main +import android.util.Log import com.codingwithmitch.openapi.api.main.OpenApiMainService import com.codingwithmitch.openapi.persistence.AccountPropertiesDao import com.codingwithmitch.openapi.session.SessionManager +import kotlinx.coroutines.Job import javax.inject.Inject class AccountRepository @@ -14,6 +16,15 @@ constructor( ) { + private val TAG: String = "AppDebug" + + private var repositoryJob: Job? = null + + + fun cancelActiveJobs(){ + Log.d(TAG, "AuthRepository: Cancelling on-going jobs...") + repositoryJob?.cancel() + } } diff --git a/app/src/main/java/com/codingwithmitch/openapi/ui/main/account/AccountViewModel.kt b/app/src/main/java/com/codingwithmitch/openapi/ui/main/account/AccountViewModel.kt index 757d7583..3f6bc59b 100644 --- a/app/src/main/java/com/codingwithmitch/openapi/ui/main/account/AccountViewModel.kt +++ b/app/src/main/java/com/codingwithmitch/openapi/ui/main/account/AccountViewModel.kt @@ -1,6 +1,7 @@ package com.codingwithmitch.openapi.ui.main.account import androidx.lifecycle.LiveData +import com.codingwithmitch.openapi.models.AccountProperties import com.codingwithmitch.openapi.repository.main.AccountRepository import com.codingwithmitch.openapi.session.SessionManager import com.codingwithmitch.openapi.ui.BaseViewModel @@ -41,6 +42,15 @@ constructor( return AccountViewState() } + fun setAccountPropertiesData(accountProperties: AccountProperties){ + val update = getCurrentViewStateOrNew() + if(update.accountProperties == accountProperties){ + return + } + update.accountProperties = accountProperties + _viewState.value = update + } + fun logout(){ sessionManager.logout() }