class ImageListViewModel : BaseViewModel
ImageListFragment 의 ViewModel 입니다.
ImageListViewModel(application: Application, mPreferenceUtils: PreferenceUtils)
ImageListFragment 의 ViewModel 입니다. |
val initialPageNumber: Int
최초 페이지 숫자입니다. 1로 고정된 값입니다. |
|
var mAbnormalResultMessage: MutableLiveData<CharSequence>
검색 결과에 문제가 생겼을 경우의 텍스트입니다. 기본 값은 검색 결과가 없음을 알리는 String 이 지정되어 있습니다. |
|
val mApplication: Application
애플리케이션 객체입니다. Resource 참조에 사용합니다. |
|
var mDisplayCount: Int
화면에 표시되는 이미지의 갯수 입니다. |
|
var mFilterMenuVisibility: ObservableField<Boolean>
Filter Menu 의 가시성 여부를 지정하는 Observable 객체입니다. |
|
var mNextPageButtonAvailability: ObservableField<Boolean>
다음 페이지로 이동하는 버튼의 활성화 여부인 Observable 객체입니다. |
|
var mNoSearchResult: ObservableField<Boolean>
검색 결과가 없을 경우를 확인하는 Observable 객체입니다. |
|
var mPageButtonVisibility: ObservableField<Boolean>
페이지 버튼 전체의 가시성 여부를 지정하는 Observable 객체입니다. |
|
var mPageNumber: Int
현재 페이지 번호입니다. |
|
var mPageNumberText: MutableLiveData<CharSequence>
페이지 넘버를 보여주는 텍스틍비니다. |
|
var mPrevPageButtonAvailability: ObservableField<Boolean>
전 페이지로 이동하는 버튼의 활성화 여부인 Observable 객체입니다. |
|
lateinit var mRecentQueryKeyword: String
최근에 입력된 검색어입니다. |
|
var mSearchResultTitle: MutableLiveData<CharSequence>
검색 결과의 제목입니다. 기본값은 검색을 유도하는 String 이 지정되어 있습니다. |
|
var mSortOption: KakaoImageSortOption
검색 정렬 기준입니다. |
|
val maxPageNumber: Int
최대 페이지 숫자입니다. 50으로 고정된 값입니다. |
|
lateinit var onQueryChangedListener: (queryKeyword: String, sortOption: KakaoImageSortOption, pageNumber: Int, displayCount: Int) -> Unit
ImageListFragment 에서 설정하는 값으로, 검색 값이(쿼리 단어나 정렬 기준 등) 변경되었을 때 콜 백 해줍니다. |
fun boundOnNextPageButtonClick(): Unit
다음 페이지로 이동합니다. |
|
fun boundOnPrevPageButtonClick(): Unit
이전 페이지로 이동합니다. |
|
fun changeDisplayCount(displayCount: Int): Unit
한 페이지당 표시 이미지 갯수가 변경 된 경우 이를 저장하고 리스너를 통해 검색 절차를 재 수행합니다. 단, 이 때 기존 페이지 수와 표시 갯수를 기반으로 페이지 번호 역시 변경해줍니다. 가령 30개씩 보고있는 상태에서 2페이지를 보고 있을 때 표시 갯수를 80개로 변경할 경우 1페이지로 바꿔줍니다. |
|
fun changeSortOption(sortOption: KakaoImageSortOption): Unit
검색 정렬 옵션이 변결될 경우 이를 저장하고 리스너를 통해 검색 절차를 재 수행합니다. |
|
fun hideFilterMenu(): Unit
필터 메뉴가 보이지 않게 설정합니다. |
|
fun inputNewKeyword(queryKeyword: String): Unit
새로운 검색어가 입력된 경우 검색어를 저장하고 타이틀을 검색중으로 표시합니다. 실제 검색 절차는 Fragment 에서 등록한 리스너로 처리합니다. |
|
fun refresh(): Unit
단순 Refresh 요청. 현재 저장된 값들을 기반으로 검색을 다시 수행합니다. |
|
fun setSearchResult(isError: Boolean, errorMessage: String?, pageNumber: Int, isEmpty: Boolean, isEnd: Boolean): Unit
검색된 결과를 받아와 해당 내용을 바탕으로 전체 뷰의 값들을 그에 맞춰 변경해줍니다. |
|
fun showFilterMenu(): Unit
필터 메뉴가 보이게 설정합니다. |