app / com.gmail.ayteneve93.apex.kakaopay_preassignment.view.main / MainActivity

MainActivity

class MainActivity : BaseActivity<ActivityMainBinding, MainViewModel>

애플리케이션의 중심이 되는 MainActivity 입니다. 툴 바와 프래그먼트, 기본적인 Progress Indicator 등을 가지며 전체 앱을 통제하는 기능을 수행합니다.

Constructors

<init>

MainActivity()

애플리케이션의 중심이 되는 MainActivity 입니다. 툴 바와 프래그먼트, 기본적인 Progress Indicator 등을 가지며 전체 앱을 통제하는 기능을 수행합니다.

Properties

mAppTerminateConfirmFlag

var mAppTerminateConfirmFlag: Boolean

애플리케이션 종료 확인 요청이 있었는지 확인하는 Boolean 입니다.

mAppTerminateConfirmHandler

val mAppTerminateConfirmHandler: Handler

애플리케이션 종료를 시간차를 두고 진행하기 위핸 Handler 객체입니다.

mBackButtonEnabledFromDetail

var mBackButtonEnabledFromDetail: Boolean

이미지 상세정보 프래그먼트에서 BackButton 을 허용하는지 여부를 지정하는 Boolean 입니다.

mFragmentManager

lateinit var mFragmentManager: FragmentManager

프래그먼트 전환을 관리하는 객체입니다.

mImageDownloadCompleteNotificationChannelId

val mImageDownloadCompleteNotificationChannelId: String

이미지 다운로드 완료 Notification 의 채널 Id 입니다.

mImageDownloadCompleteNotificationChannelName

val mImageDownloadCompleteNotificationChannelName: String

이미지 다운로드 완료 Notification 의 채널 명입니다.

mImageDownloadCompleteNotificationId

val mImageDownloadCompleteNotificationId: Int

이미지 다운로드 완료 Notification 의 Id 입니다.

mImageDownloadCompleteNotificationReqCode

val mImageDownloadCompleteNotificationReqCode: Int

이미지 다운로드 완료 Notification 의 요청 코드입니다.

mImageListFragment

lateinit var mImageListFragment: ImageListFragment

이미지 리스트 프래그먼트입니다.

mImageOperationController

val mImageOperationController: ImageOperationController

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

mIsOnMultipleSelectionMode

var mIsOnMultipleSelectionMode: Boolean

현재 이미지 선택 모드가 다중 선택 모드인지 확인하는 Boolean 입니다.

mIsSearchViewShownAtFirstTime

var mIsSearchViewShownAtFirstTime: Boolean

처음 앱 시작시 서치 뷰에 focus 가 가해졌는지 확인하는 Boolean 입니다.

mMainBroadcastReceiver

val mMainBroadcastReceiver: <no name provided>

메인 액티비티에서 사용하는 방송 수신자입니다.

mMainFragmentState

lateinit var mMainFragmentState: MainFragmentState

현재 프래그먼트 상태입니다.

mMainViewModel

val mMainViewModel: MainViewModel

메인 액티비티의 뷰 모델입니다.

mNotificationManager

lateinit var mNotificationManager: NotificationManager

Notification 수행 객체입니다.

mPreferenceUtils

val mPreferenceUtils: PreferenceUtils

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

mScaleGestureDetector

lateinit var mScaleGestureDetector: ScaleGestureDetector

Pinch 이벤트를 처리하는 디텍터 객체입니다.

mSearchView

lateinit var mSearchView: SearchView

이미지 검색 쿼리를 관리하는 서치 뷰입니다.

Inherited Properties

mViewDataBinding

lateinit var mViewDataBinding: T

데이터바인딩 객체입니다.

Functions

dismissMultiSelectionMode

fun dismissMultiSelectionMode(): Unit

다중 선택 모드를 해제합니다.

dispatchTouchEvent

fun dispatchTouchEvent(ev: MotionEvent?): Boolean

Activity dispatchTouchEvent 에 다음의 내용을 실행합니다. 사설 제스쳐 디텍터가 정의된 경우 디텍터에 터치 이벤트를 전달합니다.

finishApplication

fun finishApplication(): Unit

애플리케이션을 종료하는 메소드입니다. 단, 뒤로가기 버튼을 눌렀다고 바로 종료되지는 않고, 3초 정도 대기시간을 부여한 후에 한 번 더 눌릴 경우 종료합니다.

getBindingVariable

fun getBindingVariable(): Int

BR 에서 viewModel 로 옵션을 잡아 반환하는 추상 메소드입니다.

getLayoutId

fun getLayoutId(): Int

액티비티와 연결할 Layout 의 Id를 반환하는 추상 메소드입니다.

getViewModel

fun getViewModel(): MainViewModel
  • 뷰 모델을 가져오는 추상 메소드입니다.

onBackPressed

fun onBackPressed(): Unit

Activity onBackPressed 에 다음의 내용을 실행합니다.

onCreateOptionsMenu

fun onCreateOptionsMenu(menu: Menu?): Boolean

Activity onCreateOptionsMenu 에 다음의 내용을 실행합니다. 서치 뷰를 Inflate 하고 리스너를 등록합니다. 또한 제출된 Query 를 Suggestion 에 저장하고 ImageList Fragment 에 전달합니다.

onDestroy

fun onDestroy(): Unit

Activity 생명주기 onDestroy 에 다음의 내용을 실행합니다. 앞서 등록한 방송수신자를 제거합니다.

onOptionsItemSelected

fun onOptionsItemSelected(item: MenuItem): Boolean

Activity onOptionsItemSelected 에 다음의 내용을 실행합니다. 선택된 Id 값을 기반으로 Image List 프래그먼트에 그에 맞는 정보를 Broadcast 로 전달합니다.

onPrepareOptionsMenu

fun onPrepareOptionsMenu(menu: Menu?): Boolean

Activity onPrepareOptionsMenu 에 다음의 내용을 실행합니다. PreferenceUtils 로 부터 환경설정 정보를 읽어와 정렬 기준과 표시 갯수를 설정합니다.

onResume

fun onResume(): Unit

Activity 생명주기 onResume 에 다음의 내용을 실행합니다. 이미지 공유/다운로드 제어 객체에 임시 공유 파일과 Disposable 을 제거하라고 명령합니다.

setBroadcastReceiver

fun setBroadcastReceiver(): Unit

방송 수신자를 등록합니다.

setFragmentManager

fun setFragmentManager(): Unit

프래그먼트 매니져를 설정합니다. ImageList 프래그먼트는 애플리케이션 특성상 여러개가 생성될 일이 없으므로 Activity 의 Property 로 지정하고 바로 Show 해줍니다.

setImageOperationIndicator

fun setImageOperationIndicator(): Unit

이미지 파일이 다운 혹은 공유 작업 중일 때 Indicator 를 보여줍니다.

setNotificationChannel

fun setNotificationChannel(): Unit

알림 채널을 설정합니다.

setScaleGestureDetector

fun setScaleGestureDetector(): Unit

사설 제스쳐 디텍터인 ScaleGestureDetector 를 선언합니다. ScaleGestureDetector 는 사용자가 화면을 Pinch 한 이벤트를 Catch 하여 Image List 프래그먼트로 전달합니다. 단, 현재 프래그먼트가 Image Detail 인 경우에는 전달하지 않습니다.

setToolBar

fun setToolBar(): Unit

앱 툴 바를 사설 Layout Component 로 교체합니다. 또한 아이콘은 앱 런쳐로, 타이틀은 개발자 이름으로 지정합니다.

setUp

fun setUp(): Unit

onCreate 작업 이후에 실행되는 추상 메소드입니다. 액티비티가 모든 작동준비를 마친 후에 실행됩니다.

showImageDetailFragment

fun showImageDetailFragment(imageModel: KakaoImageModel): Unit

프래그먼트를 Image Detail 로 변경합니다. 이 때는 Image Detail 프래그먼트를 새로이 생성하고 화면을 전환합니다.

showImageDownloadCompleteNotification

fun showImageDownloadCompleteNotification(): Unit

다운로드가 완료된 경우 해당 채널에 Notification 을 보냅니다.

Inherited Functions

onCreate

open fun onCreate(savedInstanceState: Bundle?): Unit

Activity 생명주기 onCreate 에 다음의 내용을 실행합니다. 데이터 바인딩에 Binding 변수와 뷰 모델을 지정하고 생명주기 관리자를 본 액티비티 지정합니다.