├── .DS_Store ├── .gitattributes ├── .gitignore ├── .idea ├── codeStyles │ └── Project.xml ├── misc.xml ├── modules.xml ├── runConfigurations.xml └── vcs.xml ├── MVP-Architecture ├── .DS_Store ├── .idea │ ├── caches │ │ └── build_file_checksums.ser │ ├── codeStyles │ │ └── Project.xml │ ├── gradle.xml │ ├── libraries │ │ ├── Gradle__android_arch_core_common_1_1_0_jar.xml │ │ ├── Gradle__android_arch_core_runtime_1_1_0.xml │ │ ├── Gradle__android_arch_lifecycle_common_1_1_0_jar.xml │ │ ├── Gradle__android_arch_lifecycle_livedata_core_1_1_0.xml │ │ ├── Gradle__android_arch_lifecycle_runtime_1_1_0.xml │ │ ├── Gradle__android_arch_lifecycle_viewmodel_1_1_0.xml │ │ ├── Gradle__com_android_support_animated_vector_drawable_27_1_1.xml │ │ ├── Gradle__com_android_support_appcompat_v7_27_1_1.xml │ │ ├── Gradle__com_android_support_cardview_v7_27_1_1.xml │ │ ├── Gradle__com_android_support_constraint_constraint_layout_1_1_2.xml │ │ ├── Gradle__com_android_support_constraint_constraint_layout_solver_1_1_2_jar.xml │ │ ├── Gradle__com_android_support_design_27_1_1.xml │ │ ├── Gradle__com_android_support_recyclerview_v7_27_1_1.xml │ │ ├── Gradle__com_android_support_support_annotations_27_1_1_jar.xml │ │ ├── Gradle__com_android_support_support_compat_27_1_1.xml │ │ ├── Gradle__com_android_support_support_core_ui_27_1_1.xml │ │ ├── Gradle__com_android_support_support_core_utils_27_1_1.xml │ │ ├── Gradle__com_android_support_support_fragment_27_1_1.xml │ │ ├── Gradle__com_android_support_support_media_compat_27_1_1.xml │ │ ├── Gradle__com_android_support_support_v4_27_1_1.xml │ │ ├── Gradle__com_android_support_support_vector_drawable_27_1_1.xml │ │ ├── Gradle__com_android_support_test_espresso_espresso_core_3_0_2.xml │ │ ├── Gradle__com_android_support_test_espresso_espresso_idling_resource_3_0_2.xml │ │ ├── Gradle__com_android_support_test_monitor_1_0_2.xml │ │ ├── Gradle__com_android_support_test_runner_1_0_2.xml │ │ ├── Gradle__com_android_support_transition_27_1_1.xml │ │ ├── Gradle__com_google_android_gms_play_services_ads_identifier_15_0_1.xml │ │ ├── Gradle__com_google_android_gms_play_services_base_15_0_1.xml │ │ ├── Gradle__com_google_android_gms_play_services_basement_15_0_1.xml │ │ ├── Gradle__com_google_android_gms_play_services_flags_15_0_1.xml │ │ ├── Gradle__com_google_android_gms_play_services_measurement_base_15_0_4.xml │ │ ├── Gradle__com_google_android_gms_play_services_stats_15_0_1.xml │ │ ├── Gradle__com_google_android_gms_play_services_tasks_15_0_1.xml │ │ ├── Gradle__com_google_code_findbugs_jsr305_3_0_1_jar.xml │ │ ├── Gradle__com_google_code_gson_gson_2_7_jar.xml │ │ ├── Gradle__com_google_dagger_dagger_2_13_jar.xml │ │ ├── Gradle__com_google_dagger_dagger_android_2_13.xml │ │ ├── Gradle__com_google_dagger_dagger_android_support_2_13.xml │ │ ├── Gradle__com_google_firebase_firebase_analytics_16_0_0.xml │ │ ├── Gradle__com_google_firebase_firebase_analytics_impl_16_0_0.xml │ │ ├── Gradle__com_google_firebase_firebase_auth_15_0_0.xml │ │ ├── Gradle__com_google_firebase_firebase_common_16_0_0.xml │ │ ├── Gradle__com_google_firebase_firebase_core_16_0_0.xml │ │ ├── Gradle__com_google_firebase_firebase_iid_16_0_0.xml │ │ ├── Gradle__com_google_firebase_firebase_iid_interop_16_0_0.xml │ │ ├── Gradle__com_google_firebase_firebase_measurement_connector_16_0_0.xml │ │ ├── Gradle__com_google_firebase_firebase_measurement_connector_impl_16_0_0.xml │ │ ├── Gradle__com_jakewharton_rxbinding_rxbinding_0_3_0.xml │ │ ├── Gradle__com_squareup_javawriter_2_1_1_jar.xml │ │ ├── Gradle__com_squareup_okhttp3_logging_interceptor_3_4_2_jar.xml │ │ ├── Gradle__com_squareup_okhttp3_okhttp_3_8_1_jar.xml │ │ ├── Gradle__com_squareup_okio_okio_1_13_0_jar.xml │ │ ├── Gradle__com_squareup_picasso_picasso_2_3_3_jar.xml │ │ ├── Gradle__com_squareup_retrofit2_adapter_rxjava2_2_2_0_jar.xml │ │ ├── Gradle__com_squareup_retrofit2_converter_gson_2_2_0_jar.xml │ │ ├── Gradle__com_squareup_retrofit2_retrofit_2_2_0_jar.xml │ │ ├── Gradle__io_reactivex_rxjava2_rxandroid_2_0_0_RC1.xml │ │ ├── Gradle__io_reactivex_rxjava2_rxjava_2_0_0_jar.xml │ │ ├── Gradle__io_reactivex_rxjava_1_0_14_jar.xml │ │ ├── Gradle__javax_annotation_jsr250_api_1_0_jar.xml │ │ ├── Gradle__javax_inject_javax_inject_1_jar.xml │ │ ├── Gradle__junit_junit_4_12_jar.xml │ │ ├── Gradle__net_sf_kxml_kxml2_2_3_0_jar.xml │ │ ├── Gradle__org_hamcrest_hamcrest_core_1_3_jar.xml │ │ ├── Gradle__org_hamcrest_hamcrest_integration_1_3_jar.xml │ │ ├── Gradle__org_hamcrest_hamcrest_library_1_3_jar.xml │ │ ├── Gradle__org_jetbrains_annotations_13_0_jar.xml │ │ ├── Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_2_30_jar.xml │ │ ├── Gradle__org_jetbrains_kotlin_kotlin_stdlib_jre7_1_2_30_jar.xml │ │ └── Gradle__org_reactivestreams_reactive_streams_1_0_0_jar.xml │ ├── misc.xml │ ├── modules.xml │ ├── runConfigurations.xml │ └── workspace.xml ├── README.md ├── app │ ├── .gitignore │ ├── .idea │ │ ├── caches │ │ │ └── build_file_checksums.ser │ │ ├── codeStyles │ │ │ └── Project.xml │ │ ├── gradle.xml │ │ ├── libraries │ │ │ ├── Gradle__android_arch_core_common_1_1_0_jar.xml │ │ │ ├── Gradle__android_arch_core_runtime_1_1_0.xml │ │ │ ├── Gradle__android_arch_lifecycle_common_1_1_0_jar.xml │ │ │ ├── Gradle__android_arch_lifecycle_livedata_core_1_1_0.xml │ │ │ ├── Gradle__android_arch_lifecycle_runtime_1_1_0.xml │ │ │ ├── Gradle__android_arch_lifecycle_viewmodel_1_1_0.xml │ │ │ ├── Gradle__com_android_support_animated_vector_drawable_27_1_1.xml │ │ │ ├── Gradle__com_android_support_appcompat_v7_27_1_1.xml │ │ │ ├── Gradle__com_android_support_cardview_v7_27_1_1.xml │ │ │ ├── Gradle__com_android_support_constraint_constraint_layout_1_1_2.xml │ │ │ ├── Gradle__com_android_support_constraint_constraint_layout_solver_1_1_2_jar.xml │ │ │ ├── Gradle__com_android_support_design_27_1_1.xml │ │ │ ├── Gradle__com_android_support_recyclerview_v7_27_1_1.xml │ │ │ ├── Gradle__com_android_support_support_annotations_27_1_1_jar.xml │ │ │ ├── Gradle__com_android_support_support_compat_27_1_1.xml │ │ │ ├── Gradle__com_android_support_support_core_ui_27_1_1.xml │ │ │ ├── Gradle__com_android_support_support_core_utils_27_1_1.xml │ │ │ ├── Gradle__com_android_support_support_fragment_27_1_1.xml │ │ │ ├── Gradle__com_android_support_support_media_compat_27_1_1.xml │ │ │ ├── Gradle__com_android_support_support_v4_27_1_1.xml │ │ │ ├── Gradle__com_android_support_support_vector_drawable_27_1_1.xml │ │ │ ├── Gradle__com_android_support_test_espresso_espresso_core_3_0_2.xml │ │ │ ├── Gradle__com_android_support_test_espresso_espresso_idling_resource_3_0_2.xml │ │ │ ├── Gradle__com_android_support_test_monitor_1_0_2.xml │ │ │ ├── Gradle__com_android_support_test_runner_1_0_2.xml │ │ │ ├── Gradle__com_android_support_transition_27_1_1.xml │ │ │ ├── Gradle__com_google_android_gms_play_services_ads_identifier_15_0_1.xml │ │ │ ├── Gradle__com_google_android_gms_play_services_base_15_0_1.xml │ │ │ ├── Gradle__com_google_android_gms_play_services_basement_15_0_1.xml │ │ │ ├── Gradle__com_google_android_gms_play_services_flags_15_0_1.xml │ │ │ ├── Gradle__com_google_android_gms_play_services_measurement_base_15_0_4.xml │ │ │ ├── Gradle__com_google_android_gms_play_services_stats_15_0_1.xml │ │ │ ├── Gradle__com_google_android_gms_play_services_tasks_15_0_1.xml │ │ │ ├── Gradle__com_google_code_findbugs_jsr305_3_0_1_jar.xml │ │ │ ├── Gradle__com_google_code_gson_gson_2_7_jar.xml │ │ │ ├── Gradle__com_google_dagger_dagger_2_13_jar.xml │ │ │ ├── Gradle__com_google_dagger_dagger_android_2_13.xml │ │ │ ├── Gradle__com_google_dagger_dagger_android_support_2_13.xml │ │ │ ├── Gradle__com_google_firebase_firebase_analytics_16_0_0.xml │ │ │ ├── Gradle__com_google_firebase_firebase_analytics_impl_16_0_0.xml │ │ │ ├── Gradle__com_google_firebase_firebase_auth_15_0_0.xml │ │ │ ├── Gradle__com_google_firebase_firebase_common_16_0_0.xml │ │ │ ├── Gradle__com_google_firebase_firebase_core_16_0_0.xml │ │ │ ├── Gradle__com_google_firebase_firebase_iid_16_0_0.xml │ │ │ ├── Gradle__com_google_firebase_firebase_iid_interop_16_0_0.xml │ │ │ ├── Gradle__com_google_firebase_firebase_measurement_connector_16_0_0.xml │ │ │ ├── Gradle__com_google_firebase_firebase_measurement_connector_impl_16_0_0.xml │ │ │ ├── Gradle__com_jakewharton_rxbinding_rxbinding_0_3_0.xml │ │ │ ├── Gradle__com_squareup_javawriter_2_1_1_jar.xml │ │ │ ├── Gradle__com_squareup_okhttp3_logging_interceptor_3_4_2_jar.xml │ │ │ ├── Gradle__com_squareup_okhttp3_okhttp_3_8_1_jar.xml │ │ │ ├── Gradle__com_squareup_okio_okio_1_13_0_jar.xml │ │ │ ├── Gradle__com_squareup_picasso_picasso_2_3_3_jar.xml │ │ │ ├── Gradle__com_squareup_retrofit2_adapter_rxjava2_2_2_0_jar.xml │ │ │ ├── Gradle__com_squareup_retrofit2_converter_gson_2_2_0_jar.xml │ │ │ ├── Gradle__com_squareup_retrofit2_retrofit_2_2_0_jar.xml │ │ │ ├── Gradle__io_reactivex_rxjava2_rxandroid_2_0_0_RC1.xml │ │ │ ├── Gradle__io_reactivex_rxjava2_rxjava_2_0_0_jar.xml │ │ │ ├── Gradle__io_reactivex_rxjava_1_0_14_jar.xml │ │ │ ├── Gradle__javax_annotation_jsr250_api_1_0_jar.xml │ │ │ ├── Gradle__javax_inject_javax_inject_1_jar.xml │ │ │ ├── Gradle__junit_junit_4_12_jar.xml │ │ │ ├── Gradle__net_sf_kxml_kxml2_2_3_0_jar.xml │ │ │ ├── Gradle__org_hamcrest_hamcrest_core_1_3_jar.xml │ │ │ ├── Gradle__org_hamcrest_hamcrest_integration_1_3_jar.xml │ │ │ ├── Gradle__org_hamcrest_hamcrest_library_1_3_jar.xml │ │ │ ├── Gradle__org_jetbrains_annotations_13_0_jar.xml │ │ │ ├── Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_2_30_jar.xml │ │ │ ├── Gradle__org_jetbrains_kotlin_kotlin_stdlib_jre7_1_2_30_jar.xml │ │ │ └── Gradle__org_reactivestreams_reactive_streams_1_0_0_jar.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ ├── runConfigurations.xml │ │ └── workspace.xml │ ├── build.gradle │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── yjh │ │ │ └── project │ │ │ └── commitprogress │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── yjh │ │ │ │ └── project │ │ │ │ └── commitprogress │ │ │ │ ├── di │ │ │ │ ├── app │ │ │ │ │ └── App.kt │ │ │ │ ├── component │ │ │ │ │ └── AppComponent.kt │ │ │ │ └── module │ │ │ │ │ ├── ActivityModule.kt │ │ │ │ │ ├── AppModule.kt │ │ │ │ │ ├── NetworkModule.kt │ │ │ │ │ └── TestNetworkModule.kt │ │ │ │ ├── domain │ │ │ │ ├── Repository │ │ │ │ │ ├── UserDataNetworkRepository.kt │ │ │ │ │ ├── UserDataRepository.kt │ │ │ │ │ ├── UserTokenNetworkRepository.kt │ │ │ │ │ └── UserTokenRepository.kt │ │ │ │ └── model │ │ │ │ │ ├── AccessToken.kt │ │ │ │ │ ├── Person.kt │ │ │ │ │ └── Repo.kt │ │ │ │ ├── network │ │ │ │ ├── GithubApi.kt │ │ │ │ ├── GithubApiClient.kt │ │ │ │ ├── GithubTokenApi.kt │ │ │ │ └── GithubTokenApiClient.kt │ │ │ │ ├── presenter │ │ │ │ ├── base │ │ │ │ │ ├── BasePresenter.kt │ │ │ │ │ ├── BaseView.kt │ │ │ │ │ └── Presenter.kt │ │ │ │ ├── login │ │ │ │ │ ├── LoginContract.kt │ │ │ │ │ └── LoginPresenter.kt │ │ │ │ ├── main │ │ │ │ │ ├── MainContract.kt │ │ │ │ │ └── MainPresenter.kt │ │ │ │ ├── ownerRepo │ │ │ │ │ ├── OwnerRepoContract.kt │ │ │ │ │ └── OwnerRepoPresenter.kt │ │ │ │ └── teamRepo │ │ │ │ │ ├── TeamRepoContract.kt │ │ │ │ │ └── TeamRepoPresenter.kt │ │ │ │ └── ui │ │ │ │ ├── activity │ │ │ │ ├── LoginActivity.kt │ │ │ │ ├── MainActivity.kt │ │ │ │ ├── OwnerRepositoryDetailActivity.kt │ │ │ │ └── RedirectedActivity.kt │ │ │ │ ├── adapter │ │ │ │ ├── OwnerRepoRecyclerViewAdapter.kt │ │ │ │ └── OwnerStarRecyclerViewAdapter.kt │ │ │ │ ├── base │ │ │ │ ├── BaseActivity.kt │ │ │ │ └── BaseFragment.kt │ │ │ │ ├── fragment │ │ │ │ ├── OwnerRepoFragment.kt │ │ │ │ ├── SettingFragment.kt │ │ │ │ └── TeamRepoFragment.kt │ │ │ │ └── viewholder │ │ │ │ ├── BaseViewHolder.kt │ │ │ │ ├── OwnerRepoVIewHolder.kt │ │ │ │ ├── OwnerStargazerViewHolder.kt │ │ │ │ └── OwnerStargazersViewHolder.kt │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ ├── ic_email_black_24dp.xml │ │ │ ├── ic_launcher_background.xml │ │ │ ├── ic_location_on_black_24dp.xml │ │ │ ├── ic_menu_black_24dp.xml │ │ │ ├── ic_people_black_24dp.xml │ │ │ ├── ic_star_black_24dp.xml │ │ │ └── language_icon.xml │ │ │ ├── layout │ │ │ ├── activity_login.xml │ │ │ ├── activity_main.xml │ │ │ ├── activity_owner_repository_detail.xml │ │ │ ├── fragment_owner.xml │ │ │ ├── fragment_setting.xml │ │ │ ├── fragment_team.xml │ │ │ ├── item_owner_repo.xml │ │ │ ├── item_owner_stargzer.xml │ │ │ └── item_owner_stargzers.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── yjh │ │ └── project │ │ └── commitprogress │ │ ├── ExampleUnitTest.kt │ │ └── UserDataNetworkRepositoryTest.kt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle ├── MVVM-Architecture ├── .DS_Store ├── .idea │ ├── codeStyles │ │ └── Project.xml │ ├── gradle.xml │ ├── misc.xml │ └── workspace.xml ├── app │ ├── .DS_Store │ ├── .gitignore │ ├── .idea │ │ ├── caches │ │ │ └── build_file_checksums.ser │ │ ├── codeStyles │ │ │ └── Project.xml │ │ ├── gradle.xml │ │ ├── libraries │ │ │ ├── Gradle__android_arch_core_common_1_1_1_jar.xml │ │ │ ├── Gradle__android_arch_core_runtime_1_1_1.xml │ │ │ ├── Gradle__android_arch_lifecycle_common_1_1_1_jar.xml │ │ │ ├── Gradle__android_arch_lifecycle_extensions_1_1_0.xml │ │ │ ├── Gradle__android_arch_lifecycle_livedata_1_1_1.xml │ │ │ ├── Gradle__android_arch_lifecycle_livedata_core_1_1_1.xml │ │ │ ├── Gradle__android_arch_lifecycle_runtime_1_1_1.xml │ │ │ ├── Gradle__android_arch_lifecycle_viewmodel_1_1_1.xml │ │ │ ├── Gradle__android_arch_paging_common_1_0_0_jar.xml │ │ │ ├── Gradle__android_arch_paging_runtime_1_0_0.xml │ │ │ ├── Gradle__android_arch_paging_rxjava2_1_0_0_rc1.xml │ │ │ ├── Gradle__com_android_support_animated_vector_drawable_28_0_0_alpha1.xml │ │ │ ├── Gradle__com_android_support_appcompat_v7_28_0_0_alpha1.xml │ │ │ ├── Gradle__com_android_support_asynclayoutinflater_28_0_0_rc02.xml │ │ │ ├── Gradle__com_android_support_cardview_v7_28_0_0_rc02.xml │ │ │ ├── Gradle__com_android_support_collections_28_0_0_rc02_jar.xml │ │ │ ├── Gradle__com_android_support_constraint_constraint_layout_1_1_2.xml │ │ │ ├── Gradle__com_android_support_constraint_constraint_layout_solver_1_1_2_jar.xml │ │ │ ├── Gradle__com_android_support_coordinatorlayout_28_0_0_rc02.xml │ │ │ ├── Gradle__com_android_support_cursoradapter_28_0_0_rc02.xml │ │ │ ├── Gradle__com_android_support_customview_28_0_0_rc02.xml │ │ │ ├── Gradle__com_android_support_documentfile_28_0_0_rc02.xml │ │ │ ├── Gradle__com_android_support_drawerlayout_28_0_0_rc02.xml │ │ │ ├── Gradle__com_android_support_interpolator_28_0_0_rc02.xml │ │ │ ├── Gradle__com_android_support_loader_28_0_0_rc02.xml │ │ │ ├── Gradle__com_android_support_localbroadcastmanager_28_0_0_rc02.xml │ │ │ ├── Gradle__com_android_support_print_28_0_0_rc02.xml │ │ │ ├── Gradle__com_android_support_recyclerview_v7_28_0_0_rc02.xml │ │ │ ├── Gradle__com_android_support_slidingpanelayout_28_0_0_rc02.xml │ │ │ ├── Gradle__com_android_support_support_annotations_28_0_0_rc02_jar.xml │ │ │ ├── Gradle__com_android_support_support_compat_28_0_0_rc02.xml │ │ │ ├── Gradle__com_android_support_support_core_ui_28_0_0_rc02.xml │ │ │ ├── Gradle__com_android_support_support_core_utils_28_0_0_rc02.xml │ │ │ ├── Gradle__com_android_support_support_fragment_28_0_0_alpha1.xml │ │ │ ├── Gradle__com_android_support_support_media_compat_26_1_0.xml │ │ │ ├── Gradle__com_android_support_support_v4_26_1_0.xml │ │ │ ├── Gradle__com_android_support_support_vector_drawable_28_0_0_alpha1.xml │ │ │ ├── Gradle__com_android_support_swiperefreshlayout_28_0_0_rc02.xml │ │ │ ├── Gradle__com_android_support_test_espresso_espresso_core_3_0_2.xml │ │ │ ├── Gradle__com_android_support_test_espresso_espresso_idling_resource_3_0_2.xml │ │ │ ├── Gradle__com_android_support_test_monitor_1_0_2.xml │ │ │ ├── Gradle__com_android_support_test_runner_1_0_2.xml │ │ │ ├── Gradle__com_android_support_versionedparcelable_28_0_0_rc02.xml │ │ │ ├── Gradle__com_android_support_viewpager_28_0_0_rc02.xml │ │ │ ├── Gradle__com_google_android_gms_play_services_ads_identifier_15_0_1.xml │ │ │ ├── Gradle__com_google_android_gms_play_services_base_15_0_1.xml │ │ │ ├── Gradle__com_google_android_gms_play_services_basement_15_0_1.xml │ │ │ ├── Gradle__com_google_android_gms_play_services_flags_15_0_1.xml │ │ │ ├── Gradle__com_google_android_gms_play_services_measurement_base_15_0_4.xml │ │ │ ├── Gradle__com_google_android_gms_play_services_stats_15_0_1.xml │ │ │ ├── Gradle__com_google_android_gms_play_services_tasks_15_0_1.xml │ │ │ ├── Gradle__com_google_code_findbugs_jsr305_3_0_1_jar.xml │ │ │ ├── Gradle__com_google_code_gson_gson_2_7_jar.xml │ │ │ ├── Gradle__com_google_dagger_dagger_2_13_jar.xml │ │ │ ├── Gradle__com_google_dagger_dagger_android_2_13.xml │ │ │ ├── Gradle__com_google_dagger_dagger_android_support_2_13.xml │ │ │ ├── Gradle__com_google_firebase_firebase_analytics_16_0_0.xml │ │ │ ├── Gradle__com_google_firebase_firebase_analytics_impl_16_0_0.xml │ │ │ ├── Gradle__com_google_firebase_firebase_auth_15_0_0.xml │ │ │ ├── Gradle__com_google_firebase_firebase_common_16_0_0.xml │ │ │ ├── Gradle__com_google_firebase_firebase_core_16_0_0.xml │ │ │ ├── Gradle__com_google_firebase_firebase_iid_16_0_0.xml │ │ │ ├── Gradle__com_google_firebase_firebase_iid_interop_16_0_0.xml │ │ │ ├── Gradle__com_google_firebase_firebase_measurement_connector_16_0_0.xml │ │ │ ├── Gradle__com_google_firebase_firebase_measurement_connector_impl_16_0_0.xml │ │ │ ├── Gradle__com_jakewharton_rxbinding_rxbinding_0_3_0.xml │ │ │ ├── Gradle__com_squareup_javawriter_2_1_1_jar.xml │ │ │ ├── Gradle__com_squareup_okhttp3_logging_interceptor_3_4_2_jar.xml │ │ │ ├── Gradle__com_squareup_okhttp3_okhttp_3_8_1_jar.xml │ │ │ ├── Gradle__com_squareup_okio_okio_1_13_0_jar.xml │ │ │ ├── Gradle__com_squareup_picasso_picasso_2_3_3_jar.xml │ │ │ ├── Gradle__com_squareup_retrofit2_adapter_rxjava2_2_2_0_jar.xml │ │ │ ├── Gradle__com_squareup_retrofit2_converter_gson_2_2_0_jar.xml │ │ │ ├── Gradle__com_squareup_retrofit2_retrofit_2_2_0_jar.xml │ │ │ ├── Gradle__io_reactivex_rxjava2_rxandroid_2_0_0_RC1.xml │ │ │ ├── Gradle__io_reactivex_rxjava2_rxjava_2_0_6_jar.xml │ │ │ ├── Gradle__io_reactivex_rxjava_1_0_14_jar.xml │ │ │ ├── Gradle__javax_annotation_jsr250_api_1_0_jar.xml │ │ │ ├── Gradle__javax_inject_javax_inject_1_jar.xml │ │ │ ├── Gradle__junit_junit_4_12_jar.xml │ │ │ ├── Gradle__net_sf_kxml_kxml2_2_3_0_jar.xml │ │ │ ├── Gradle__org_hamcrest_hamcrest_core_1_3_jar.xml │ │ │ ├── Gradle__org_hamcrest_hamcrest_integration_1_3_jar.xml │ │ │ ├── Gradle__org_hamcrest_hamcrest_library_1_3_jar.xml │ │ │ ├── Gradle__org_jetbrains_annotations_13_0_jar.xml │ │ │ ├── Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_2_61_jar.xml │ │ │ ├── Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_2_61_jar.xml │ │ │ ├── Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_2_61_jar.xml │ │ │ └── Gradle__org_reactivestreams_reactive_streams_1_0_0_jar.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ ├── runConfigurations.xml │ │ └── workspace.xml │ ├── build.gradle │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── yunjunghyeon │ │ │ └── demoapp_mvvm │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── yunjunghyeon │ │ │ │ └── demoapp_mvvm │ │ │ │ ├── ViewModelFactory.kt │ │ │ │ ├── base │ │ │ │ └── BaseViewModel.kt │ │ │ │ ├── di │ │ │ │ ├── app │ │ │ │ │ └── BaseApp.kt │ │ │ │ ├── component │ │ │ │ │ ├── AppComponent.kt │ │ │ │ │ └── MainComponent.kt │ │ │ │ └── module │ │ │ │ │ ├── AppModule.kt │ │ │ │ │ ├── GithubApiModule.kt │ │ │ │ │ ├── GithubTokenApiModule.kt │ │ │ │ │ └── NetworkModule.kt │ │ │ │ ├── domain │ │ │ │ ├── Repository │ │ │ │ │ ├── UserDataRepository.kt │ │ │ │ │ ├── UserDataRepositoryImpl.kt │ │ │ │ │ ├── UserTokenRepository.kt │ │ │ │ │ └── UserTokenRepositoryImpl.kt │ │ │ │ └── model │ │ │ │ │ ├── AccessToken.kt │ │ │ │ │ ├── Person.kt │ │ │ │ │ ├── Repo.kt │ │ │ │ │ └── Respons.kt │ │ │ │ ├── network │ │ │ │ ├── GithubApi.kt │ │ │ │ ├── GithubApiClient.kt │ │ │ │ ├── GithubTokenApi.kt │ │ │ │ └── GithubTokenApiClient.kt │ │ │ │ └── ui │ │ │ │ ├── BaseActivity.kt │ │ │ │ ├── main │ │ │ │ ├── MainActivity.kt │ │ │ │ ├── MainRecyclerAdapter.kt │ │ │ │ ├── MainViewHolder.kt │ │ │ │ └── MainViewModel.kt │ │ │ │ └── setting │ │ │ │ └── SettingViewModel.kt │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ ├── ic_email_black_24dp.xml │ │ │ ├── ic_launcher_background.xml │ │ │ ├── ic_launcher_foreground.xml │ │ │ ├── ic_location_on_black_24dp.xml │ │ │ ├── ic_menu_black_24dp.xml │ │ │ ├── ic_people_black_24dp.xml │ │ │ ├── ic_star_black_24dp.xml │ │ │ └── language_icon.xml │ │ │ ├── layout │ │ │ ├── activity_main.xml │ │ │ └── item_main.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── example │ │ └── yunjunghyeon │ │ └── demoapp_mvvm │ │ └── ExampleUnitTest.kt ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle └── README.md /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yjh5424/GithubApp-android-architecture/3159efa6e023c06dd0f35ae40d4a921136f4f811/.DS_Store -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /MVP-Architecture/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yjh5424/GithubApp-android-architecture/3159efa6e023c06dd0f35ae40d4a921136f4f811/MVP-Architecture/.DS_Store -------------------------------------------------------------------------------- /MVP-Architecture/.idea/caches/build_file_checksums.ser: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yjh5424/GithubApp-android-architecture/3159efa6e023c06dd0f35ae40d4a921136f4f811/MVP-Architecture/.idea/caches/build_file_checksums.ser -------------------------------------------------------------------------------- /MVP-Architecture/.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 17 | 18 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__android_arch_core_common_1_1_0_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__android_arch_core_runtime_1_1_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__android_arch_lifecycle_common_1_1_0_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__android_arch_lifecycle_livedata_core_1_1_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__android_arch_lifecycle_runtime_1_1_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__android_arch_lifecycle_viewmodel_1_1_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_android_support_appcompat_v7_27_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_android_support_cardview_v7_27_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_android_support_constraint_constraint_layout_1_1_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_android_support_constraint_constraint_layout_solver_1_1_2_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_android_support_design_27_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_android_support_recyclerview_v7_27_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_android_support_support_annotations_27_1_1_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_android_support_support_compat_27_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_android_support_support_core_ui_27_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_android_support_support_fragment_27_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_android_support_support_v4_27_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_android_support_test_monitor_1_0_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_android_support_test_runner_1_0_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_android_support_transition_27_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_google_android_gms_play_services_ads_identifier_15_0_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_google_android_gms_play_services_base_15_0_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_google_android_gms_play_services_basement_15_0_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_google_android_gms_play_services_flags_15_0_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_google_android_gms_play_services_measurement_base_15_0_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_google_android_gms_play_services_stats_15_0_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_google_android_gms_play_services_tasks_15_0_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_3_0_1_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_google_code_gson_gson_2_7_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_google_dagger_dagger_2_13_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_google_dagger_dagger_android_2_13.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_google_firebase_firebase_analytics_16_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_google_firebase_firebase_analytics_impl_16_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_google_firebase_firebase_auth_15_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_google_firebase_firebase_common_16_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_google_firebase_firebase_core_16_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_google_firebase_firebase_iid_16_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_google_firebase_firebase_iid_interop_16_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_google_firebase_firebase_measurement_connector_16_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_google_firebase_firebase_measurement_connector_impl_16_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_jakewharton_rxbinding_rxbinding_0_3_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_squareup_javawriter_2_1_1_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_squareup_okhttp3_logging_interceptor_3_4_2_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_8_1_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_squareup_okio_okio_1_13_0_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_squareup_picasso_picasso_2_3_3_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_squareup_retrofit2_adapter_rxjava2_2_2_0_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_squareup_retrofit2_converter_gson_2_2_0_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__com_squareup_retrofit2_retrofit_2_2_0_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__io_reactivex_rxjava2_rxandroid_2_0_0_RC1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__io_reactivex_rxjava2_rxjava_2_0_0_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__io_reactivex_rxjava_1_0_14_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__javax_annotation_jsr250_api_1_0_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__javax_inject_javax_inject_1_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__junit_junit_4_12_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__net_sf_kxml_kxml2_2_3_0_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__org_hamcrest_hamcrest_integration_1_3_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__org_jetbrains_annotations_13_0_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_2_30_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jre7_1_2_30_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/libraries/Gradle__org_reactivestreams_reactive_streams_1_0_0_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /MVP-Architecture/.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /MVP-Architecture/README.md: -------------------------------------------------------------------------------- 1 | # MVP-Architecture 2 | 3 | **Dagger2 + MVP + Retrofit2 + RxJava2 (JUnit4 , Espress를 이용한 Ui, 단위 테스트 까지)** . 4 | 5 | 6 | Github api를 사용하여 간단한 프로젝트를 만듭니다! 7 | 이 프로젝트는 누구나 보기좋고 이쁜 코드를 작성하고 8 | 다른사람들이 안드로이드를 공부할 때 참고 할 만큼의 코드를 만드는 것이 목적입니다! 9 | 아직 공부하고 있는 고등학생이라 미흡한 부분이 많은데 이유와 함께 PR 작성해주시면 감사하겠습니다 :) 10 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/caches/build_file_checksums.ser: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yjh5424/GithubApp-android-architecture/3159efa6e023c06dd0f35ae40d4a921136f4f811/MVP-Architecture/app/.idea/caches/build_file_checksums.ser -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 17 | 18 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__android_arch_core_common_1_1_0_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__android_arch_core_runtime_1_1_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__android_arch_lifecycle_common_1_1_0_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__android_arch_lifecycle_livedata_core_1_1_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__android_arch_lifecycle_runtime_1_1_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__android_arch_lifecycle_viewmodel_1_1_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_android_support_appcompat_v7_27_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_android_support_cardview_v7_27_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_android_support_constraint_constraint_layout_1_1_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_android_support_constraint_constraint_layout_solver_1_1_2_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_android_support_design_27_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_android_support_recyclerview_v7_27_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_android_support_support_annotations_27_1_1_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_android_support_support_compat_27_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_android_support_support_core_ui_27_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_android_support_support_v4_27_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_android_support_test_monitor_1_0_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_android_support_test_runner_1_0_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_android_support_transition_27_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_google_android_gms_play_services_ads_identifier_15_0_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_google_android_gms_play_services_base_15_0_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_google_android_gms_play_services_basement_15_0_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_google_android_gms_play_services_flags_15_0_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_google_android_gms_play_services_measurement_base_15_0_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_google_android_gms_play_services_stats_15_0_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_google_android_gms_play_services_tasks_15_0_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_3_0_1_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_google_code_gson_gson_2_7_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_google_dagger_dagger_2_13_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_google_dagger_dagger_android_2_13.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_google_firebase_firebase_analytics_16_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_google_firebase_firebase_analytics_impl_16_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_google_firebase_firebase_auth_15_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_google_firebase_firebase_common_16_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_google_firebase_firebase_core_16_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_google_firebase_firebase_iid_16_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_google_firebase_firebase_iid_interop_16_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_google_firebase_firebase_measurement_connector_16_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_google_firebase_firebase_measurement_connector_impl_16_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_jakewharton_rxbinding_rxbinding_0_3_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_squareup_javawriter_2_1_1_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_squareup_okhttp3_logging_interceptor_3_4_2_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_8_1_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_squareup_okio_okio_1_13_0_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_squareup_picasso_picasso_2_3_3_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_squareup_retrofit2_adapter_rxjava2_2_2_0_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_squareup_retrofit2_converter_gson_2_2_0_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__com_squareup_retrofit2_retrofit_2_2_0_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__io_reactivex_rxjava2_rxandroid_2_0_0_RC1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__io_reactivex_rxjava2_rxjava_2_0_0_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__io_reactivex_rxjava_1_0_14_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__javax_annotation_jsr250_api_1_0_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__javax_inject_javax_inject_1_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__junit_junit_4_12_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__net_sf_kxml_kxml2_2_3_0_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__org_hamcrest_hamcrest_integration_1_3_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__org_jetbrains_annotations_13_0_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_2_30_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jre7_1_2_30_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/libraries/Gradle__org_reactivestreams_reactive_streams_1_0_0_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /MVP-Architecture/app/.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /MVP-Architecture/app/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yjh5424/GithubApp-android-architecture/3159efa6e023c06dd0f35ae40d4a921136f4f811/MVP-Architecture/app/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /MVP-Architecture/app/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Aug 26 22:27:50 KST 2018 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip 7 | -------------------------------------------------------------------------------- /MVP-Architecture/app/src/main/java/com/yjh/project/commitprogress/di/module/ActivityModule.kt: -------------------------------------------------------------------------------- 1 | package com.yjh.project.commitprogress.di.module 2 | 3 | import android.app.Activity 4 | import android.content.SharedPreferences 5 | import com.yjh.project.commitprogress.domain.Repository.UserTokenNetworkRepository 6 | import com.yjh.project.commitprogress.presenter.login.LoginPresenter 7 | import dagger.Module 8 | import dagger.Provides 9 | import io.reactivex.disposables.CompositeDisposable 10 | import javax.inject.Singleton 11 | 12 | @Module 13 | class ActivityModule(private val activity: Activity) { 14 | 15 | @Provides 16 | fun provideActivity() = activity 17 | 18 | @Provides 19 | @Singleton 20 | fun provideContext() = this 21 | 22 | } -------------------------------------------------------------------------------- /MVP-Architecture/app/src/main/java/com/yjh/project/commitprogress/domain/Repository/UserDataRepository.kt: -------------------------------------------------------------------------------- 1 | package com.yjh.project.commitprogress.domain.Repository 2 | 3 | import com.omjoonkim.project.interviewtask.model.Person 4 | import com.omjoonkim.project.interviewtask.model.Repo 5 | import io.reactivex.Single 6 | 7 | interface UserDataRepository{ 8 | fun getUserProfile(userName : String) : Single 9 | fun getRepositories(userName: String) : Single>>> 10 | } -------------------------------------------------------------------------------- /MVP-Architecture/app/src/main/java/com/yjh/project/commitprogress/domain/Repository/UserTokenNetworkRepository.kt: -------------------------------------------------------------------------------- 1 | package com.yjh.project.commitprogress.domain.Repository 2 | 3 | import com.yjh.project.commitprogress.domain.model.AccessToken 4 | import com.yjh.project.commitprogress.network.GithubTokenApiClient 5 | import io.reactivex.Single 6 | 7 | class UserTokenNetworkRepository(val githubTokenApiClient: GithubTokenApiClient) : UserTokenRepository{ 8 | 9 | override fun getAccessToken(clientId : String,clientSecret : String,code : String,redirectUri : String,state : String) : Single = githubTokenApiClient.getAccessToken( 10 | clientId, 11 | clientSecret, 12 | code, 13 | redirectUri, 14 | state 15 | ) 16 | } -------------------------------------------------------------------------------- /MVP-Architecture/app/src/main/java/com/yjh/project/commitprogress/domain/Repository/UserTokenRepository.kt: -------------------------------------------------------------------------------- 1 | package com.yjh.project.commitprogress.domain.Repository 2 | 3 | import com.yjh.project.commitprogress.domain.model.AccessToken 4 | import io.reactivex.Single 5 | 6 | interface UserTokenRepository{ 7 | fun getAccessToken(clientId : String,clientSecret : String,code : String,redirectUri : String,state : String) : Single 8 | } -------------------------------------------------------------------------------- /MVP-Architecture/app/src/main/java/com/yjh/project/commitprogress/domain/model/AccessToken.kt: -------------------------------------------------------------------------------- 1 | package com.yjh.project.commitprogress.domain.model 2 | 3 | import com.google.gson.annotations.SerializedName 4 | 5 | data class AccessToken( 6 | @SerializedName("access_token") val accessToken : String, 7 | @SerializedName("token_type") val tokenType : String 8 | ) -------------------------------------------------------------------------------- /MVP-Architecture/app/src/main/java/com/yjh/project/commitprogress/domain/model/Person.kt: -------------------------------------------------------------------------------- 1 | package com.omjoonkim.project.interviewtask.model 2 | 3 | import com.google.gson.annotations.SerializedName 4 | 5 | data class Person( 6 | val id: Long, 7 | val name: String?, 8 | val company : String?, 9 | val login : String, 10 | val location : String?, 11 | val email : String?, 12 | @SerializedName("avatar_url")val avatar: String 13 | ) -------------------------------------------------------------------------------- /MVP-Architecture/app/src/main/java/com/yjh/project/commitprogress/domain/model/Repo.kt: -------------------------------------------------------------------------------- 1 | package com.omjoonkim.project.interviewtask.model 2 | 3 | import com.google.gson.annotations.SerializedName 4 | 5 | data class Repo( 6 | val id: Long, 7 | val name: String, 8 | val description: String? = null, 9 | @SerializedName("stargazers_count") val stargazersCount: Int, 10 | val language : String?, 11 | val owner: Person 12 | ) -------------------------------------------------------------------------------- /MVP-Architecture/app/src/main/java/com/yjh/project/commitprogress/network/GithubTokenApiClient.kt: -------------------------------------------------------------------------------- 1 | package com.yjh.project.commitprogress.network 2 | 3 | import com.yjh.project.commitprogress.domain.model.AccessToken 4 | import io.reactivex.Single 5 | import io.reactivex.android.schedulers.AndroidSchedulers 6 | import io.reactivex.schedulers.Schedulers 7 | 8 | class GithubTokenApiClient(val githubTokenApi: GithubTokenApi) { 9 | 10 | 11 | fun getAccessToken(clientId: String, clientSercret: String, code: String, redirectUri: String, state: String): Single = 12 | githubTokenApi.getAccessToken(clientId, clientSercret, code, redirectUri, state) 13 | .subscribeOn(Schedulers.io()) 14 | .observeOn(AndroidSchedulers.mainThread()) 15 | } -------------------------------------------------------------------------------- /MVP-Architecture/app/src/main/java/com/yjh/project/commitprogress/presenter/base/BasePresenter.kt: -------------------------------------------------------------------------------- 1 | package com.yjh.project.commitprogress.presenter.base 2 | 3 | import io.reactivex.disposables.CompositeDisposable 4 | import java.lang.ref.WeakReference 5 | 6 | 7 | open class BasePresenter(var disposable: CompositeDisposable) : Presenter { 8 | 9 | var weakReference: WeakReference? = null 10 | 11 | val view: V? 12 | get() = weakReference?.get() 13 | 14 | override fun attachView(view: V) { 15 | weakReference = WeakReference(view) 16 | view.setPresenter(this) 17 | } 18 | 19 | override fun detachView() { 20 | weakReference?.clear() 21 | weakReference = null 22 | disposable.clear() 23 | } 24 | } -------------------------------------------------------------------------------- /MVP-Architecture/app/src/main/java/com/yjh/project/commitprogress/presenter/base/BaseView.kt: -------------------------------------------------------------------------------- 1 | package com.yjh.project.commitprogress.presenter.base 2 | 3 | interface BaseView{ 4 | fun onError() 5 | fun setPresenter(presenter: BasePresenter<*>) 6 | } -------------------------------------------------------------------------------- /MVP-Architecture/app/src/main/java/com/yjh/project/commitprogress/presenter/base/Presenter.kt: -------------------------------------------------------------------------------- 1 | package com.yjh.project.commitprogress.presenter.base 2 | 3 | import io.reactivex.disposables.CompositeDisposable 4 | 5 | 6 | interface Presenter{ 7 | 8 | fun attachView(view: V) 9 | 10 | fun detachView() 11 | } -------------------------------------------------------------------------------- /MVP-Architecture/app/src/main/java/com/yjh/project/commitprogress/presenter/main/MainContract.kt: -------------------------------------------------------------------------------- 1 | package com.yjh.project.commitprogress.presenter.main 2 | 3 | import com.yjh.project.commitprogress.presenter.base.BasePresenter 4 | import com.yjh.project.commitprogress.presenter.base.BaseView 5 | 6 | interface MainContract { 7 | interface View : BaseView { 8 | 9 | } 10 | 11 | 12 | interface UserActionsListener { 13 | 14 | } 15 | } -------------------------------------------------------------------------------- /MVP-Architecture/app/src/main/java/com/yjh/project/commitprogress/presenter/main/MainPresenter.kt: -------------------------------------------------------------------------------- 1 | package com.yjh.project.commitprogress.presenter.main 2 | 3 | 4 | 5 | 6 | class MainPresenter : MainContract.UserActionsListener { 7 | 8 | 9 | } 10 | -------------------------------------------------------------------------------- /MVP-Architecture/app/src/main/java/com/yjh/project/commitprogress/presenter/teamRepo/TeamRepoContract.kt: -------------------------------------------------------------------------------- 1 | package com.yjh.project.commitprogress.presenter.teamRepo 2 | 3 | import com.yjh.project.commitprogress.presenter.base.BasePresenter 4 | import com.yjh.project.commitprogress.presenter.base.BaseView 5 | 6 | interface TeamRepoContract{ 7 | 8 | interface View : BaseView{ 9 | 10 | } 11 | 12 | interface UserActionsListener { 13 | 14 | } 15 | } -------------------------------------------------------------------------------- /MVP-Architecture/app/src/main/java/com/yjh/project/commitprogress/presenter/teamRepo/TeamRepoPresenter.kt: -------------------------------------------------------------------------------- 1 | package com.yjh.project.commitprogress.presenter.teamRepo 2 | 3 | 4 | 5 | class TeamRepoPresenter : TeamRepoContract.UserActionsListener{ 6 | 7 | } -------------------------------------------------------------------------------- /MVP-Architecture/app/src/main/java/com/yjh/project/commitprogress/ui/activity/OwnerRepositoryDetailActivity.kt: -------------------------------------------------------------------------------- 1 | package com.yjh.project.commitprogress.ui.activity 2 | 3 | import android.support.v7.app.AppCompatActivity 4 | import android.os.Bundle 5 | import android.webkit.WebViewClient 6 | import com.yjh.project.commitprogress.R 7 | import kotlinx.android.synthetic.main.activity_owner_repository_detail.* 8 | 9 | class OwnerRepositoryDetailActivity : AppCompatActivity() { 10 | 11 | override fun onCreate(savedInstanceState: Bundle?) { 12 | super.onCreate(savedInstanceState) 13 | setContentView(R.layout.activity_owner_repository_detail) 14 | 15 | repo_web_view.loadUrl("https://github.com/yjh5424/CommitProgress") 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /MVP-Architecture/app/src/main/java/com/yjh/project/commitprogress/ui/viewholder/BaseViewHolder.kt: -------------------------------------------------------------------------------- 1 | package com.yjh.project.commitprogress.ui.viewholder 2 | 3 | import android.net.Uri 4 | import android.support.v7.widget.RecyclerView 5 | import android.view.View 6 | 7 | open class BaseViewHolder(rootView : View) : RecyclerView.ViewHolder(rootView){ 8 | fun stringToUri(str: String) : Uri = Uri.parse(str) 9 | } 10 | -------------------------------------------------------------------------------- /MVP-Architecture/app/src/main/res/drawable/ic_email_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /MVP-Architecture/app/src/main/res/drawable/ic_location_on_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /MVP-Architecture/app/src/main/res/drawable/ic_menu_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /MVP-Architecture/app/src/main/res/drawable/ic_people_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /MVP-Architecture/app/src/main/res/drawable/ic_star_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /MVP-Architecture/app/src/main/res/drawable/language_icon.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 7 | 8 | 14 | 15 | 17 | -------------------------------------------------------------------------------- /MVP-Architecture/app/src/main/res/layout/activity_owner_repository_detail.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 14 | -------------------------------------------------------------------------------- /MVP-Architecture/app/src/main/res/layout/fragment_setting.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 13 | 14 | -------------------------------------------------------------------------------- /MVP-Architecture/app/src/main/res/layout/fragment_team.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 13 | 14 | -------------------------------------------------------------------------------- /MVP-Architecture/app/src/main/res/layout/item_owner_stargzers.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 12 | 13 | 20 | 21 | -------------------------------------------------------------------------------- /MVP-Architecture/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /MVP-Architecture/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /MVP-Architecture/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yjh5424/GithubApp-android-architecture/3159efa6e023c06dd0f35ae40d4a921136f4f811/MVP-Architecture/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /MVP-Architecture/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yjh5424/GithubApp-android-architecture/3159efa6e023c06dd0f35ae40d4a921136f4f811/MVP-Architecture/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /MVP-Architecture/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yjh5424/GithubApp-android-architecture/3159efa6e023c06dd0f35ae40d4a921136f4f811/MVP-Architecture/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /MVP-Architecture/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yjh5424/GithubApp-android-architecture/3159efa6e023c06dd0f35ae40d4a921136f4f811/MVP-Architecture/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /MVP-Architecture/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yjh5424/GithubApp-android-architecture/3159efa6e023c06dd0f35ae40d4a921136f4f811/MVP-Architecture/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /MVP-Architecture/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yjh5424/GithubApp-android-architecture/3159efa6e023c06dd0f35ae40d4a921136f4f811/MVP-Architecture/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /MVP-Architecture/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yjh5424/GithubApp-android-architecture/3159efa6e023c06dd0f35ae40d4a921136f4f811/MVP-Architecture/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /MVP-Architecture/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yjh5424/GithubApp-android-architecture/3159efa6e023c06dd0f35ae40d4a921136f4f811/MVP-Architecture/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /MVP-Architecture/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yjh5424/GithubApp-android-architecture/3159efa6e023c06dd0f35ae40d4a921136f4f811/MVP-Architecture/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /MVP-Architecture/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yjh5424/GithubApp-android-architecture/3159efa6e023c06dd0f35ae40d4a921136f4f811/MVP-Architecture/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /MVP-Architecture/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | #388E3C 8 | #1565C0 9 | #000000 10 | #F44336 11 | #ffffff 12 | 13 | -------------------------------------------------------------------------------- /MVP-Architecture/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | CommitProgress 3 | 4 | 5 | Hello blank fragment 6 | 37bc54f3e519696e6481 7 | commitprogress.firebaseapp.com/__/auth/handler 8 | 9 | -------------------------------------------------------------------------------- /MVP-Architecture/app/src/test/java/com/yjh/project/commitprogress/ExampleUnitTest.kt: -------------------------------------------------------------------------------- 1 | package com.yjh.project.commitprogress 2 | 3 | import org.junit.Test 4 | 5 | import org.junit.Assert.* 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * See [testing documentation](http://d.android.com/tools/testing). 11 | */ 12 | class ExampleUnitTest { 13 | @Test 14 | fun addition_isCorrect() { 15 | assertEquals(4, 2 + 2) 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /MVP-Architecture/app/src/test/java/com/yjh/project/commitprogress/UserDataNetworkRepositoryTest.kt: -------------------------------------------------------------------------------- 1 | package com.yjh.project.commitprogress 2 | 3 | import com.yjh.project.commitprogress.di.app.App 4 | import com.yjh.project.commitprogress.di.component.DaggerAppComponent 5 | import com.yjh.project.commitprogress.di.module.AppModule 6 | import com.yjh.project.commitprogress.di.module.NetworkModule 7 | import com.yjh.project.commitprogress.domain.Repository.UserDataNetworkRepository 8 | import org.junit.Before 9 | import javax.inject.Inject 10 | 11 | class UserDataNetworkRepositoryTest{ 12 | 13 | 14 | @Inject 15 | lateinit var userDataNetworkRepository: UserDataNetworkRepository 16 | 17 | @Before 18 | fun setup(){ 19 | DaggerAppComponent.builder() 20 | .build() 21 | } 22 | } -------------------------------------------------------------------------------- /MVP-Architecture/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | # IDE (e.g. Android Studio) users: 3 | # Gradle settings configured through the IDE *will override* 4 | # any settings specified in this file. 5 | # For more details on how to configure your build environment visit 6 | # http://www.gradle.org/docs/current/userguide/build_environment.html 7 | # Specifies the JVM arguments used for the daemon process. 8 | # The setting is particularly useful for tweaking memory settings. 9 | org.gradle.jvmargs=-Xmx1536m 10 | # When configured, Gradle will run in incubating parallel mode. 11 | # This option should only be used with decoupled projects. More details, visit 12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 13 | # org.gradle.parallel=true 14 | -------------------------------------------------------------------------------- /MVP-Architecture/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yjh5424/GithubApp-android-architecture/3159efa6e023c06dd0f35ae40d4a921136f4f811/MVP-Architecture/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /MVP-Architecture/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed Jun 27 14:01:47 KST 2018 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip 7 | -------------------------------------------------------------------------------- /MVP-Architecture/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /MVVM-Architecture/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yjh5424/GithubApp-android-architecture/3159efa6e023c06dd0f35ae40d4a921136f4f811/MVVM-Architecture/.DS_Store -------------------------------------------------------------------------------- /MVVM-Architecture/.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 17 | 18 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yjh5424/GithubApp-android-architecture/3159efa6e023c06dd0f35ae40d4a921136f4f811/MVVM-Architecture/app/.DS_Store -------------------------------------------------------------------------------- /MVVM-Architecture/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/caches/build_file_checksums.ser: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yjh5424/GithubApp-android-architecture/3159efa6e023c06dd0f35ae40d4a921136f4f811/MVVM-Architecture/app/.idea/caches/build_file_checksums.ser -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 17 | 18 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__android_arch_core_common_1_1_1_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__android_arch_core_runtime_1_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__android_arch_lifecycle_common_1_1_1_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__android_arch_lifecycle_extensions_1_1_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__android_arch_lifecycle_livedata_1_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__android_arch_lifecycle_livedata_core_1_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__android_arch_lifecycle_runtime_1_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__android_arch_lifecycle_viewmodel_1_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__android_arch_paging_common_1_0_0_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__android_arch_paging_runtime_1_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__android_arch_paging_rxjava2_1_0_0_rc1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_android_support_asynclayoutinflater_28_0_0_rc02.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_android_support_cardview_v7_28_0_0_rc02.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_android_support_collections_28_0_0_rc02_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_android_support_constraint_constraint_layout_1_1_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_android_support_constraint_constraint_layout_solver_1_1_2_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_android_support_coordinatorlayout_28_0_0_rc02.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_android_support_cursoradapter_28_0_0_rc02.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_android_support_customview_28_0_0_rc02.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_android_support_documentfile_28_0_0_rc02.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_android_support_drawerlayout_28_0_0_rc02.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_android_support_interpolator_28_0_0_rc02.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_android_support_loader_28_0_0_rc02.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_android_support_localbroadcastmanager_28_0_0_rc02.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_android_support_print_28_0_0_rc02.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_android_support_recyclerview_v7_28_0_0_rc02.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_android_support_slidingpanelayout_28_0_0_rc02.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_android_support_support_annotations_28_0_0_rc02_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_android_support_support_compat_28_0_0_rc02.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_android_support_support_core_ui_28_0_0_rc02.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_android_support_support_core_utils_28_0_0_rc02.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_android_support_support_v4_26_1_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_android_support_swiperefreshlayout_28_0_0_rc02.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_android_support_test_monitor_1_0_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_android_support_test_runner_1_0_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_android_support_versionedparcelable_28_0_0_rc02.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_android_support_viewpager_28_0_0_rc02.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_google_android_gms_play_services_ads_identifier_15_0_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_google_android_gms_play_services_base_15_0_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_google_android_gms_play_services_basement_15_0_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_google_android_gms_play_services_flags_15_0_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_google_android_gms_play_services_measurement_base_15_0_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_google_android_gms_play_services_stats_15_0_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_google_android_gms_play_services_tasks_15_0_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_3_0_1_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_google_code_gson_gson_2_7_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_google_dagger_dagger_2_13_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_google_dagger_dagger_android_2_13.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_google_firebase_firebase_analytics_16_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_google_firebase_firebase_analytics_impl_16_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_google_firebase_firebase_auth_15_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_google_firebase_firebase_common_16_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_google_firebase_firebase_core_16_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_google_firebase_firebase_iid_16_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_google_firebase_firebase_iid_interop_16_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_google_firebase_firebase_measurement_connector_16_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_google_firebase_firebase_measurement_connector_impl_16_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_jakewharton_rxbinding_rxbinding_0_3_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_squareup_javawriter_2_1_1_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_squareup_okhttp3_logging_interceptor_3_4_2_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_8_1_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_squareup_okio_okio_1_13_0_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_squareup_picasso_picasso_2_3_3_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_squareup_retrofit2_adapter_rxjava2_2_2_0_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_squareup_retrofit2_converter_gson_2_2_0_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__com_squareup_retrofit2_retrofit_2_2_0_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__io_reactivex_rxjava2_rxandroid_2_0_0_RC1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__io_reactivex_rxjava2_rxjava_2_0_6_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__io_reactivex_rxjava_1_0_14_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__javax_annotation_jsr250_api_1_0_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__javax_inject_javax_inject_1_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__junit_junit_4_12_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__net_sf_kxml_kxml2_2_3_0_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__org_hamcrest_hamcrest_integration_1_3_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__org_jetbrains_annotations_13_0_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_2_61_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_2_61_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_2_61_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/libraries/Gradle__org_reactivestreams_reactive_streams_1_0_0_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yjh5424/GithubApp-android-architecture/3159efa6e023c06dd0f35ae40d4a921136f4f811/MVVM-Architecture/app/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /MVVM-Architecture/app/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Aug 26 22:26:45 KST 2018 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip 7 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/src/main/java/com/example/yunjunghyeon/demoapp_mvvm/base/BaseViewModel.kt: -------------------------------------------------------------------------------- 1 | package com.example.yunjunghyeon.demoapp_mvvm.base 2 | 3 | import android.arch.lifecycle.ViewModel 4 | import io.reactivex.disposables.CompositeDisposable 5 | 6 | 7 | abstract class BaseViewModel : ViewModel(){ 8 | 9 | val composite = CompositeDisposable() 10 | 11 | override fun onCleared() { 12 | composite.clear() 13 | super.onCleared() 14 | } 15 | } 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/src/main/java/com/example/yunjunghyeon/demoapp_mvvm/di/component/AppComponent.kt: -------------------------------------------------------------------------------- 1 | package com.example.yunjunghyeon.demoapp_mvvm.di.module 2 | 3 | import com.example.yunjunghyeon.demoapp_mvvm.di.app.BaseApp 4 | import com.example.yunjunghyeon.demoapp_mvvm.ui.main.MainActivity 5 | import dagger.Component 6 | import javax.inject.Singleton 7 | 8 | @Singleton 9 | @Component( 10 | modules = [(AppModule::class),(NetworkModule::class),(GithubApiModule::class)] 11 | ) 12 | interface AppComponent{ 13 | fun inject(baseApp : BaseApp) 14 | fun inject(mainActivity: MainActivity) 15 | } -------------------------------------------------------------------------------- /MVVM-Architecture/app/src/main/java/com/example/yunjunghyeon/demoapp_mvvm/di/component/MainComponent.kt: -------------------------------------------------------------------------------- 1 | package com.example.yunjunghyeon.demoapp_mvvm.di.component 2 | 3 | import com.example.yunjunghyeon.demoapp_mvvm.di.module.AppModule 4 | import com.example.yunjunghyeon.demoapp_mvvm.di.module.GithubApiModule 5 | import com.example.yunjunghyeon.demoapp_mvvm.di.module.NetworkModule 6 | import com.example.yunjunghyeon.demoapp_mvvm.ui.main.MainActivity 7 | import dagger.Component 8 | import javax.inject.Singleton 9 | 10 | 11 | //@Singleton 12 | //@Component( 13 | // modules = [(AppModule::class),(NetworkModule::class),(GithubApiModule::class)] 14 | //) 15 | //interface MainComponent{ 16 | // fun inject(mainActivity: MainActivity) 17 | //} -------------------------------------------------------------------------------- /MVVM-Architecture/app/src/main/java/com/example/yunjunghyeon/demoapp_mvvm/domain/Repository/UserDataRepository.kt: -------------------------------------------------------------------------------- 1 | package com.example.yunjunghyeon.demoapp_mvvm.network 2 | 3 | 4 | import com.example.yunjunghyeon.demoapp_mvvm.domain.model.Person 5 | import com.example.yunjunghyeon.demoapp_mvvm.domain.model.Repo 6 | import io.reactivex.Observable 7 | import io.reactivex.Single 8 | 9 | interface UserDataRepository{ 10 | fun getUserProfile(userName : String) : Single 11 | fun getRepositories(userName: String) : Observable>>> 12 | } -------------------------------------------------------------------------------- /MVVM-Architecture/app/src/main/java/com/example/yunjunghyeon/demoapp_mvvm/domain/Repository/UserTokenRepository.kt: -------------------------------------------------------------------------------- 1 | package com.example.yunjunghyeon.demoapp_mvvm.network 2 | 3 | import com.example.yunjunghyeon.demoapp_mvvm.domain.model.AccessToken 4 | import io.reactivex.Single 5 | 6 | interface UserTokenRepository{ 7 | fun getAccessToken(clientId : String,clientSecret : String,code : String,redirectUri : String,state : String) : Single 8 | } -------------------------------------------------------------------------------- /MVVM-Architecture/app/src/main/java/com/example/yunjunghyeon/demoapp_mvvm/domain/Repository/UserTokenRepositoryImpl.kt: -------------------------------------------------------------------------------- 1 | package com.example.yunjunghyeon.demoapp_mvvm.network 2 | 3 | 4 | import com.example.yunjunghyeon.demoapp_mvvm.domain.model.AccessToken 5 | import io.reactivex.Single 6 | import javax.inject.Inject 7 | 8 | class UserTokenRepositoryImpl(val githubTokenApiClient: GithubTokenApiClient) : UserTokenRepository { 9 | 10 | override fun getAccessToken(clientId : String,clientSecret : String,code : String,redirectUri : String,state : String) : Single = githubTokenApiClient.getAccessToken( 11 | clientId, 12 | clientSecret, 13 | code, 14 | redirectUri, 15 | state 16 | ) 17 | } -------------------------------------------------------------------------------- /MVVM-Architecture/app/src/main/java/com/example/yunjunghyeon/demoapp_mvvm/domain/model/AccessToken.kt: -------------------------------------------------------------------------------- 1 | package com.example.yunjunghyeon.demoapp_mvvm.domain.model 2 | 3 | import com.google.gson.annotations.SerializedName 4 | 5 | data class AccessToken( 6 | @SerializedName("access_token") val accessToken : String, 7 | @SerializedName("token_type") val tokenType : String 8 | ) -------------------------------------------------------------------------------- /MVVM-Architecture/app/src/main/java/com/example/yunjunghyeon/demoapp_mvvm/domain/model/Person.kt: -------------------------------------------------------------------------------- 1 | package com.example.yunjunghyeon.demoapp_mvvm.domain.model 2 | import com.google.gson.annotations.SerializedName 3 | 4 | data class Person( 5 | val id: Long, 6 | val name: String?, 7 | val company : String?, 8 | val login : String, 9 | val location : String?, 10 | val email : String?, 11 | @SerializedName("avatar_url")val avatar: String 12 | ) -------------------------------------------------------------------------------- /MVVM-Architecture/app/src/main/java/com/example/yunjunghyeon/demoapp_mvvm/domain/model/Repo.kt: -------------------------------------------------------------------------------- 1 | package com.example.yunjunghyeon.demoapp_mvvm.domain.model 2 | 3 | import com.google.gson.annotations.SerializedName 4 | 5 | data class Repo( 6 | val id: Long, 7 | val name: String, 8 | val description: String? = null, 9 | @SerializedName("stargazers_count") val stargazersCount: Int, 10 | val language : String?, 11 | val owner: Person 12 | ) -------------------------------------------------------------------------------- /MVVM-Architecture/app/src/main/java/com/example/yunjunghyeon/demoapp_mvvm/domain/model/Respons.kt: -------------------------------------------------------------------------------- 1 | package com.example.yunjunghyeon.demoapp_mvvm.domain.model 2 | 3 | 4 | class Response constructor( 5 | val status: Status, 6 | val data: T?, 7 | val throwable: Throwable? 8 | ) { 9 | companion object { 10 | fun success(data: T?): Response = Response(Status.SUCCESS, data, null) 11 | fun error(throwable: Throwable?): Response = Response(Status.ERROR, null, throwable) 12 | fun loading(): Response = Response(Status.LOADING, null, null) 13 | } 14 | } 15 | 16 | 17 | enum class Status{ 18 | LOADING, 19 | SUCCESS, 20 | ERROR 21 | } 22 | 23 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/src/main/java/com/example/yunjunghyeon/demoapp_mvvm/network/GithubTokenApiClient.kt: -------------------------------------------------------------------------------- 1 | package com.example.yunjunghyeon.demoapp_mvvm.network 2 | 3 | import com.example.yunjunghyeon.demoapp_mvvm.domain.model.AccessToken 4 | import io.reactivex.Single 5 | import io.reactivex.android.schedulers.AndroidSchedulers 6 | import io.reactivex.schedulers.Schedulers 7 | 8 | class GithubTokenApiClient(val githubTokenApi: GithubTokenApi) { 9 | 10 | 11 | fun getAccessToken(clientId: String, clientSercret: String, code: String, redirectUri: String, state: String): Single = 12 | githubTokenApi.getAccessToken(clientId, clientSercret, code, redirectUri, state) 13 | .subscribeOn(Schedulers.io()) 14 | .observeOn(AndroidSchedulers.mainThread()) 15 | } -------------------------------------------------------------------------------- /MVVM-Architecture/app/src/main/java/com/example/yunjunghyeon/demoapp_mvvm/ui/BaseActivity.kt: -------------------------------------------------------------------------------- 1 | package com.example.yunjunghyeon.demoapp_mvvm.ui 2 | 3 | import android.arch.lifecycle.ViewModel 4 | import android.os.Bundle 5 | import android.support.v7.app.AppCompatActivity 6 | 7 | 8 | abstract class BaseActivity : AppCompatActivity(){ 9 | 10 | abstract fun inject() 11 | 12 | override fun onCreate(savedInstanceState: Bundle?) { 13 | super.onCreate(savedInstanceState) 14 | inject() 15 | } 16 | } -------------------------------------------------------------------------------- /MVVM-Architecture/app/src/main/java/com/example/yunjunghyeon/demoapp_mvvm/ui/setting/SettingViewModel.kt: -------------------------------------------------------------------------------- 1 | package com.example.yunjunghyeon.demoapp_mvvm.ui.setting 2 | 3 | import android.arch.lifecycle.ViewModel 4 | 5 | 6 | class SettingViewModel : ViewModel(){ 7 | 8 | } -------------------------------------------------------------------------------- /MVVM-Architecture/app/src/main/res/drawable/ic_email_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/src/main/res/drawable/ic_location_on_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/src/main/res/drawable/ic_menu_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/src/main/res/drawable/ic_people_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/src/main/res/drawable/ic_star_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/src/main/res/drawable/language_icon.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 7 | 8 | 14 | 15 | 17 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yjh5424/GithubApp-android-architecture/3159efa6e023c06dd0f35ae40d4a921136f4f811/MVVM-Architecture/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /MVVM-Architecture/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yjh5424/GithubApp-android-architecture/3159efa6e023c06dd0f35ae40d4a921136f4f811/MVVM-Architecture/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /MVVM-Architecture/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yjh5424/GithubApp-android-architecture/3159efa6e023c06dd0f35ae40d4a921136f4f811/MVVM-Architecture/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /MVVM-Architecture/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yjh5424/GithubApp-android-architecture/3159efa6e023c06dd0f35ae40d4a921136f4f811/MVVM-Architecture/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /MVVM-Architecture/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yjh5424/GithubApp-android-architecture/3159efa6e023c06dd0f35ae40d4a921136f4f811/MVVM-Architecture/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /MVVM-Architecture/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yjh5424/GithubApp-android-architecture/3159efa6e023c06dd0f35ae40d4a921136f4f811/MVVM-Architecture/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /MVVM-Architecture/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yjh5424/GithubApp-android-architecture/3159efa6e023c06dd0f35ae40d4a921136f4f811/MVVM-Architecture/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /MVVM-Architecture/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yjh5424/GithubApp-android-architecture/3159efa6e023c06dd0f35ae40d4a921136f4f811/MVVM-Architecture/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /MVVM-Architecture/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yjh5424/GithubApp-android-architecture/3159efa6e023c06dd0f35ae40d4a921136f4f811/MVVM-Architecture/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /MVVM-Architecture/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yjh5424/GithubApp-android-architecture/3159efa6e023c06dd0f35ae40d4a921136f4f811/MVVM-Architecture/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /MVVM-Architecture/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | #388E3C 8 | #1565C0 9 | #000000 10 | #F44336 11 | #ffffff 12 | 13 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | DemoApp-Mvvm 3 | 4 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MVVM-Architecture/app/src/test/java/com/example/yunjunghyeon/demoapp_mvvm/ExampleUnitTest.kt: -------------------------------------------------------------------------------- 1 | package com.example.yunjunghyeon.demoapp_mvvm 2 | 3 | import org.junit.Test 4 | 5 | import org.junit.Assert.* 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * See [testing documentation](http://d.android.com/tools/testing). 11 | */ 12 | class ExampleUnitTest { 13 | @Test 14 | fun addition_isCorrect() { 15 | assertEquals(4, 2 + 2) 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /MVVM-Architecture/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | # IDE (e.g. Android Studio) users: 3 | # Gradle settings configured through the IDE *will override* 4 | # any settings specified in this file. 5 | # For more details on how to configure your build environment visit 6 | # http://www.gradle.org/docs/current/userguide/build_environment.html 7 | # Specifies the JVM arguments used for the daemon process. 8 | # The setting is particularly useful for tweaking memory settings. 9 | org.gradle.jvmargs=-Xmx1536m 10 | # When configured, Gradle will run in incubating parallel mode. 11 | # This option should only be used with decoupled projects. More details, visit 12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 13 | # org.gradle.parallel=true 14 | -------------------------------------------------------------------------------- /MVVM-Architecture/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yjh5424/GithubApp-android-architecture/3159efa6e023c06dd0f35ae40d4a921136f4f811/MVVM-Architecture/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /MVVM-Architecture/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Aug 24 23:33:20 KST 2018 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip 7 | -------------------------------------------------------------------------------- /MVVM-Architecture/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | --------------------------------------------------------------------------------