diff --git a/app/src/main/java/com/dongyang/android/youdongknowme/ui/view/schedule/ScheduleFragment.kt b/app/src/main/java/com/dongyang/android/youdongknowme/ui/view/schedule/ScheduleFragment.kt index 340a84a7..2534b612 100644 --- a/app/src/main/java/com/dongyang/android/youdongknowme/ui/view/schedule/ScheduleFragment.kt +++ b/app/src/main/java/com/dongyang/android/youdongknowme/ui/view/schedule/ScheduleFragment.kt @@ -1,14 +1,7 @@ package com.dongyang.android.youdongknowme.ui.view.schedule import android.content.res.ColorStateList -import android.graphics.Bitmap -import android.graphics.Canvas -import android.graphics.PorterDuff -import android.graphics.drawable.BitmapDrawable -import android.graphics.drawable.Drawable import androidx.core.content.ContextCompat -import androidx.core.content.res.ResourcesCompat -import androidx.core.graphics.drawable.DrawableCompat import androidx.recyclerview.widget.DividerItemDecoration import androidx.recyclerview.widget.LinearLayoutManager import com.dongyang.android.youdongknowme.R @@ -75,10 +68,16 @@ class ScheduleFragment : BaseFragment() val pickMonth: LiveData = _pickMonth + private var _currentYear = MutableLiveData() + val currentYear: LiveData = _currentYear + fun setPickedDate(date: CalendarDay) { _pickYear.value = date.year _pickMonth.value = date.month } + fun setCurrentYear(date: LocalDate){ + _currentYear.value = date.year + } + fun getSchedules() { - // 로컬에 저장한 데이터가 없으면 네트워크에서 데이터를 받아와 로컬에 저장 및 화면에 출력 - if (scheduleRepository.getLocalSchedules() == NO_SCHEDULE) { - _isLoading.postValue(true) - viewModelScope.launch { - when (val result = scheduleRepository.fetchSchedules()) { - is NetworkResult.Success -> { - val scheduleList = result.data - - // 선택한 연월 조건에 따라 리스트 출력 - - _scheduleList.postValue(getSchedulesForPickDate(scheduleList)) - - scheduleRepository.setLocalSchedules(Gson().toJson(scheduleList)) - _isError.postValue(false) - _isLoading.postValue(false) - } - - is NetworkResult.Error -> { - handleError(result, _errorState) - _isError.postValue(true) - _isLoading.postValue(false) - } + _isLoading.postValue(true) + viewModelScope.launch { + when (val result = scheduleRepository.fetchSchedules()) { + is NetworkResult.Success -> { + val scheduleList = result.data + + // 선택한 연월 조건에 따라 리스트 출력 + _scheduleList.postValue(getSchedulesForPickDate(scheduleList)) + + _isError.postValue(false) + _isLoading.postValue(false) + } + + is NetworkResult.Error -> { + handleError(result, _errorState) + _isError.postValue(true) + _isLoading.postValue(false) } } - } else { - // 저장한 데이터가 있으면 로컬에서 곧바로 데이터를 받아와 화면에 출력 - val localSchedules = scheduleRepository.getLocalSchedules() - val scheduleList = getSchedulesForPickDate( - Gson().fromJson( - localSchedules, - object : TypeToken>() {}.type - ) - ) - _isError.postValue(false) - _scheduleList.postValue(scheduleList) } }