From 007e68f4c5f83c983d4b3ff751c59656a645e718 Mon Sep 17 00:00:00 2001 From: Mitch Tabian Date: Fri, 4 Oct 2019 10:09:56 -0700 Subject: [PATCH 1/4] Remove CacheObject --- .../openapi/repository/NetworkBoundResource.kt | 2 +- .../openapi/repository/auth/AuthRepository.kt | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) 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 ){ From 8f96bc9e1a655fc19280b41d8146d1c3bdedb0e2 Mon Sep 17 00:00:00 2001 From: Mitch Tabian Date: Fri, 4 Oct 2019 10:18:12 -0700 Subject: [PATCH 2/4] Account: ViewModel, State, Repository and ApiService --- .../openapi/repository/main/AccountRepository.kt | 11 +++++++++++ 1 file changed, 11 insertions(+) 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() + } } From ac9324dc263c1ca3624ba5de5165c2ebfc6701fc Mon Sep 17 00:00:00 2001 From: Mitch Tabian Date: Fri, 4 Oct 2019 10:36:24 -0700 Subject: [PATCH 3/4] set AccountProperties --- .../openapi/ui/main/account/AccountViewModel.kt | 10 ++++++++++ 1 file changed, 10 insertions(+) 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() } From 5dd05935f4eb7b6971fb8dbba8dffc482f69f878 Mon Sep 17 00:00:00 2001 From: Mitch Tabian Date: Fri, 4 Oct 2019 10:36:24 -0700 Subject: [PATCH 4/4] set AccountProperties --- .../openapi/ui/main/account/AccountViewModel.kt | 10 ++++++++++ 1 file changed, 10 insertions(+) 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() }