class MainActivity : BaseActivity<ActivityMainBinding, MainViewModel>
애플리케이션의 중심이 되는 MainActivity 입니다. 툴 바와 프래그먼트, 기본적인 Progress Indicator 등을 가지며 전체 앱을 통제하는 기능을 수행합니다.
MainActivity()
애플리케이션의 중심이 되는 MainActivity 입니다. 툴 바와 프래그먼트, 기본적인 Progress Indicator 등을 가지며 전체 앱을 통제하는 기능을 수행합니다. |
var mAppTerminateConfirmFlag: Boolean
애플리케이션 종료 확인 요청이 있었는지 확인하는 Boolean 입니다. |
|
val mAppTerminateConfirmHandler: Handler
애플리케이션 종료를 시간차를 두고 진행하기 위핸 Handler 객체입니다. |
|
var mBackButtonEnabledFromDetail: Boolean
이미지 상세정보 프래그먼트에서 BackButton 을 허용하는지 여부를 지정하는 Boolean 입니다. |
|
lateinit var mFragmentManager: FragmentManager
프래그먼트 전환을 관리하는 객체입니다. |
|
val mImageDownloadCompleteNotificationChannelId: String
이미지 다운로드 완료 Notification 의 채널 Id 입니다. |
|
val mImageDownloadCompleteNotificationChannelName: String
이미지 다운로드 완료 Notification 의 채널 명입니다. |
|
val mImageDownloadCompleteNotificationId: Int
이미지 다운로드 완료 Notification 의 Id 입니다. |
|
val mImageDownloadCompleteNotificationReqCode: Int
이미지 다운로드 완료 Notification 의 요청 코드입니다. |
|
lateinit var mImageListFragment: ImageListFragment
이미지 리스트 프래그먼트입니다. |
|
val mImageOperationController: ImageOperationController
이미지 공유/다운로드 제어기 객체입니다. |
|
var mIsOnMultipleSelectionMode: Boolean
현재 이미지 선택 모드가 다중 선택 모드인지 확인하는 Boolean 입니다. |
|
var mIsSearchViewShownAtFirstTime: Boolean
처음 앱 시작시 서치 뷰에 focus 가 가해졌는지 확인하는 Boolean 입니다. |
|
val mMainBroadcastReceiver: <no name provided>
메인 액티비티에서 사용하는 방송 수신자입니다. |
|
lateinit var mMainFragmentState: MainFragmentState
현재 프래그먼트 상태입니다. |
|
val mMainViewModel: MainViewModel
메인 액티비티의 뷰 모델입니다. |
|
lateinit var mNotificationManager: NotificationManager
Notification 수행 객체입니다. |
|
val mPreferenceUtils: PreferenceUtils
사용자 설정 정보 Utility 객체입니다. |
|
lateinit var mScaleGestureDetector: ScaleGestureDetector
Pinch 이벤트를 처리하는 디텍터 객체입니다. |
|
lateinit var mSearchView: SearchView
이미지 검색 쿼리를 관리하는 서치 뷰입니다. |
lateinit var mViewDataBinding: T
데이터바인딩 객체입니다. |
fun dismissMultiSelectionMode(): Unit
다중 선택 모드를 해제합니다. |
|
fun dispatchTouchEvent(ev: MotionEvent?): Boolean
Activity dispatchTouchEvent 에 다음의 내용을 실행합니다. 사설 제스쳐 디텍터가 정의된 경우 디텍터에 터치 이벤트를 전달합니다. |
|
fun finishApplication(): Unit
애플리케이션을 종료하는 메소드입니다. 단, 뒤로가기 버튼을 눌렀다고 바로 종료되지는 않고, 3초 정도 대기시간을 부여한 후에 한 번 더 눌릴 경우 종료합니다. |
|
fun getBindingVariable(): Int
BR 에서 viewModel 로 옵션을 잡아 반환하는 추상 메소드입니다. |
|
fun getLayoutId(): Int
액티비티와 연결할 Layout 의 Id를 반환하는 추상 메소드입니다. |
|
fun getViewModel(): MainViewModel
|
|
fun onBackPressed(): Unit
Activity onBackPressed 에 다음의 내용을 실행합니다. |
|
fun onCreateOptionsMenu(: Menu?): Boolean
Activity onCreateOptionsMenu 에 다음의 내용을 실행합니다. 서치 뷰를 Inflate 하고 리스너를 등록합니다. 또한 제출된 Query 를 Suggestion 에 저장하고 ImageList Fragment 에 전달합니다. |
|
fun onDestroy(): Unit
Activity 생명주기 onDestroy 에 다음의 내용을 실행합니다. 앞서 등록한 방송수신자를 제거합니다. |
|
fun onOptionsItemSelected(item: MenuItem): Boolean
Activity onOptionsItemSelected 에 다음의 내용을 실행합니다. 선택된 Id 값을 기반으로 Image List 프래그먼트에 그에 맞는 정보를 Broadcast 로 전달합니다. |
|
fun onPrepareOptionsMenu(: Menu?): Boolean
Activity onPrepareOptionsMenu 에 다음의 내용을 실행합니다. PreferenceUtils 로 부터 환경설정 정보를 읽어와 정렬 기준과 표시 갯수를 설정합니다. |
|
fun onResume(): Unit
Activity 생명주기 onResume 에 다음의 내용을 실행합니다. 이미지 공유/다운로드 제어 객체에 임시 공유 파일과 Disposable 을 제거하라고 명령합니다. |
|
fun setBroadcastReceiver(): Unit
방송 수신자를 등록합니다. |
|
fun setFragmentManager(): Unit
프래그먼트 매니져를 설정합니다. ImageList 프래그먼트는 애플리케이션 특성상 여러개가 생성될 일이 없으므로 Activity 의 Property 로 지정하고 바로 Show 해줍니다. |
|
fun setImageOperationIndicator(): Unit
이미지 파일이 다운 혹은 공유 작업 중일 때 Indicator 를 보여줍니다. |
|
fun setNotificationChannel(): Unit
알림 채널을 설정합니다. |
|
fun setScaleGestureDetector(): Unit
사설 제스쳐 디텍터인 ScaleGestureDetector 를 선언합니다. ScaleGestureDetector 는 사용자가 화면을 Pinch 한 이벤트를 Catch 하여 Image List 프래그먼트로 전달합니다. 단, 현재 프래그먼트가 Image Detail 인 경우에는 전달하지 않습니다. |
|
fun setToolBar(): Unit
앱 툴 바를 사설 Layout Component 로 교체합니다. 또한 아이콘은 앱 런쳐로, 타이틀은 개발자 이름으로 지정합니다. |
|
fun setUp(): Unit
onCreate 작업 이후에 실행되는 추상 메소드입니다. 액티비티가 모든 작동준비를 마친 후에 실행됩니다. |
|
fun showImageDetailFragment(imageModel: KakaoImageModel): Unit
프래그먼트를 Image Detail 로 변경합니다. 이 때는 Image Detail 프래그먼트를 새로이 생성하고 화면을 전환합니다. |
|
fun showImageDownloadCompleteNotification(): Unit
다운로드가 완료된 경우 해당 채널에 Notification 을 보냅니다. |
open fun onCreate(savedInstanceState: Bundle?): Unit
Activity 생명주기 onCreate 에 다음의 내용을 실행합니다. 데이터 바인딩에 Binding 변수와 뷰 모델을 지정하고 생명주기 관리자를 본 액티비티 지정합니다. |