Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

주요 이슈들 해결 #78

Merged
merged 12 commits into from
Nov 29, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
✨ Implement result check in logout and withdraw in account settings v…
…iew model
  • Loading branch information
sukchan-0811 committed Nov 28, 2023
commit 8e2fc406ebb7e9c9cd21a93499f1a702fbbdeefa
Original file line number Diff line number Diff line change
Expand Up @@ -144,9 +144,10 @@ class AuthRepository @Inject constructor(
val refreshToken = sessionManager.cachedToken.value!!.refreshToken!!
val result =
authService.logout(getAuthHeader(), AuthRefreshRequest(refreshToken))
CoroutineScope(Dispatchers.IO).launch {
authTokenPrefsManager.clearAuthToken()
}
if (result.isSuccessful && result.code() == ResponseCode.SUCCESS.value)
CoroutineScope(Dispatchers.IO).launch {
authTokenPrefsManager.clearAuthToken()
}
emit(result)
} catch (e: Exception) {
emit(responseHandler.getConnectionErrorResponse())
Expand All @@ -159,9 +160,10 @@ class AuthRepository @Inject constructor(
val refreshToken = sessionManager.cachedToken.value!!.refreshToken!!
val result =
authService.withdraw(getAuthHeader(), AuthRefreshRequest(refreshToken))
CoroutineScope(Dispatchers.IO).launch {
authTokenPrefsManager.clearAuthToken()
}
if (result.isSuccessful && result.code() == ResponseCode.SUCCESS.value)
CoroutineScope(Dispatchers.IO).launch {
authTokenPrefsManager.clearAuthToken()
}
emit(result)
} catch (e: Exception) {
emit(responseHandler.getConnectionErrorResponse())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ import javax.inject.Singleton

@Singleton
class SettingsRepository @Inject constructor(
private val settingsPrefManager: SettingsPrefsManager,
private val settingsPrefsManager: SettingsPrefsManager,
private val backupService: BackupService,
private val responseHandler: ResponseHandler,
private val sessionManager: SessionManager,
Expand All @@ -36,62 +36,62 @@ class SettingsRepository @Inject constructor(
) {
suspend fun setDarkMode(value: Boolean) {
if (value) {
settingsPrefManager.saveDarkMode(true)
settingsPrefsManager.saveDarkMode(true)
} else {
settingsPrefManager.saveDarkMode(false)
settingsPrefsManager.saveDarkMode(false)
}
settingsPrefManager.saveDarkMode(value)
settingsPrefsManager.saveDarkMode(value)
}

suspend fun setInitialPage(page: InitialPage) {
if (page == InitialPage.SYMBOL_SELECTION) {
settingsPrefManager.saveInitialPage(true)
settingsPrefsManager.saveInitialPage(true)
} else {
settingsPrefManager.saveInitialPage(false)
settingsPrefsManager.saveInitialPage(false)
}
}

suspend fun setAutoBackup(value: Boolean) {
settingsPrefManager.saveAutoBackup(value)
settingsPrefsManager.saveAutoBackup(value)
}

suspend fun setLastBackupDate(value: String) {
settingsPrefManager.saveLastBackupDate(value)
settingsPrefsManager.saveLastBackupDate(value)
}

fun getDarkMode(): Flow<Resource<Boolean>> {
return settingsPrefManager.settingsPreferencesFlow.map { settingsPreferences ->
return settingsPrefsManager.settingsPreferencesFlow.map { settingsPreferences ->
Resource.success(settingsPreferences.darkMode)
}
}

fun getDarkModeForChange(): Flow<Boolean> {
return settingsPrefManager.settingsPreferencesFlow.map { settingsPreferences ->
return settingsPrefsManager.settingsPreferencesFlow.map { settingsPreferences ->
settingsPreferences.darkMode
}
}

fun getInitialPage(): Flow<Resource<Boolean>> {
return settingsPrefManager.settingsPreferencesFlow.map { settingsPreferences ->
return settingsPrefsManager.settingsPreferencesFlow.map { settingsPreferences ->
Resource.success(settingsPreferences.initialPage)
}
}

fun getAutoBackup(): Flow<Resource<Boolean>> {
return settingsPrefManager.settingsPreferencesFlow.map { settingsPreferences ->
return settingsPrefsManager.settingsPreferencesFlow.map { settingsPreferences ->
Resource.success(settingsPreferences.autoBackup)
}
}

fun getLastBackupDate(): Flow<Resource<String>> {
return settingsPrefManager.settingsPreferencesFlow.map { settingsPreferences ->
return settingsPrefsManager.settingsPreferencesFlow.map { settingsPreferences ->
Resource.success(settingsPreferences.lastBackupDate)
}
}

suspend fun resetSettings() {
CoroutineScope(Dispatchers.IO).launch {
settingsPrefManager.resetSettings()
settingsPrefsManager.resetSettings()
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,6 @@ class AccountSettingsViewModel @Inject internal constructor(
settingsRepository.displayBackup().collect { result ->
when (result.code()) {
ResponseCode.SUCCESS.value -> {}

ResponseCode.NO_INTERNET_CONNECTION.value -> {
handleNoInternetConnection()
}
Expand All @@ -139,7 +138,6 @@ class AccountSettingsViewModel @Inject internal constructor(
}

private fun symbolListBackup() {

viewModelScope.launch {
settingsRepository.symbolListBackup().collect { result ->
when (result.code()) {
Expand Down