app / com.gmail.ayteneve93.apex.kakaopay_preassignment.view.main.fragments.image_list.recycler / ImageListRecyclerAdapter

ImageListRecyclerAdapter

class ImageListRecyclerAdapter : Adapter<ImageListItemViewHolder>

ImageListFragmnet 의 Recycler View 에 등록되는 RecyclerAdpater 입니다.

Types

ImageListItemViewHolder

class ImageListItemViewHolder : ViewHolder

이미지 리스트 아이템의 뷰 홀더입니다. 일반 뷰 홀더와 달리 각각의 뷰의 viewModel 을 바인딩 해줍니다.

Constructors

<init>

ImageListRecyclerAdapter(application: Application, mKakaoImageModelManager: KakaoImageModelManager, mPreferenceUtils: PreferenceUtils, mImageOperationController: ImageOperationController)

ImageListFragmnet 의 Recycler View 에 등록되는 RecyclerAdpater 입니다.

Properties

application

val application: Application

애플리케이션 객체입니다. 시스템 서비스 호출, 리소스 조회 및 Broadcast 에 사용됩니다.

mAnimAppearMills

val mAnimAppearMills: Long

각각의 이미지 아이템이 생성될 때 애니메이션의 지속시간입니다.

mCompositeDisposable

val mCompositeDisposable: CompositeDisposable

Rx 작업 종료 후 Disposable 객체를 모아두었다 한 번에 처리하기 위한 CompositeDisposable 입니다.

mDiasbleAppearAnimHandler

val mDiasbleAppearAnimHandler: Handler

이미지 아이템의 애니메이션 비활성화를 시간차를 두고 풀어주기 위한 Handler 객체입니다.

mDisableAppearAnim

var mDisableAppearAnim: Boolean

이미지 아이템의 애니메이션을 비활성화 할지 여부의 Boolean 입니다.

mImageListItemViewModelList

val mImageListItemViewModelList: ArrayList<ImageListItemViewModel>

카카오 이미지 검색 Api 에서 가져오는 전체 정보를 담는 데이터 리스트입니다.

mImageOperationController

val mImageOperationController: ImageOperationController

이미지 공유/다운로드 제어기 객체입니다.

mImageResizeOffset

val mImageResizeOffset: Float

한 번 Resize 를 수행할 때 Percent 간격입니다.

mImageSizePercentage

val mImageSizePercentage: ObservableField<Float>

사용자 정보에 저장된 이미지의 Percent 크기입니다.

mIsOnMultipleSelectionMode

val mIsOnMultipleSelectionMode: ObservableField<Boolean>

현재 다중선택 모드인지를 알려주는 Observable 객체입니다.

mKakaoImageModelManager

val mKakaoImageModelManager: KakaoImageModelManager

카카오 Api 에서 이미지 모델들을 추출하기 위한 관리자 객체입니다.

mMaxImageSizePercentage

val mMaxImageSizePercentage: Float

각각의 이미지가 가질 수 있는 최대한도의 Percent 크기입니다.

mMaxPortraitColumnCount

val mMaxPortraitColumnCount: Int

Portrait 상태의 화면에서 최대한도의 이미지 열의 갯수입니다.

mMinImageSizePercentage

val mMinImageSizePercentage: Float

각각의 이미지가 가질 수 있는 최소한도의 Percent 크기입니다.

mMinImageSizePixels

val mMinImageSizePixels: Int

각각의 이미지가 가질 수 있는 최소한도의 Pixel 크기입니다.

mMinPortraitColumnCount

val mMinPortraitColumnCount: Int

Portrait 상태의 화면에서 최소한도의 이미지 열의 갯수입니다.

mPreferenceUtils

val mPreferenceUtils: PreferenceUtils

사용자 설정 정보 Utility 객체입니다.

Functions

clear

fun clear(): Unit

리스트의 내용을 모두 정리하고 Disposable 객체를 Clear 해줍니다.

getItemCount

fun getItemCount(): Int

현재 총 몇 개의 아이템이 있는지 갯수를 확인합니다.

onBindViewHolder

fun onBindViewHolder(holder: ImageListItemViewHolder, position: Int): Unit

각각의 뷰 홀더를 Bind 해주고 Tag 설정 후 필요시 애니메이션을 출력합니다.

onCreateViewHolder

fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ImageListItemViewHolder

각가의 뷰 홀더를 Inflate 로 Layout과 함께 생성 해줍니다.

resizeOnPinch

fun resizeOnPinch(isZoomIn: Boolean, notifyColumnCountChanged: () -> Unit): Unit

Pinch 이벤트에 따라 이미지 크기와 열의 갯수를 조정해줍니다. 열의 갯수가 변할 때는 가벼운 진동도 발생시킵니다.

searchImage

fun searchImage(queryKeyword: String, sortOption: KakaoImageSortOption, pageNumber: Int, size: Int, onSearchResult: (isError: Boolean, errorMessage: String?, isEmpty: Boolean, isEnd: Boolean) -> Unit): Unit

이미지를 검색합니다.

setSelectionMode

fun setSelectionMode(selectionMode: Boolean): Unit

선택 모드를 일반 혹은 다중 선택으로 변경해줍니다.