├── .gitignore ├── .idea ├── .gitignore ├── compiler.xml ├── gradle.xml ├── jarRepositories.xml ├── misc.xml └── vcs.xml ├── README.md ├── app ├── .gitignore ├── build.gradle ├── google-services.json ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── team │ │ └── bum │ │ └── ExampleInstrumentedTest.kt │ ├── main │ ├── AndroidManifest.xml │ ├── assets │ │ ├── bium_home_android.json │ │ └── bium_splash.json │ ├── ic_launcher-playstore.png │ ├── ic_logo-playstore.png │ ├── java │ │ └── team │ │ │ └── bum │ │ │ ├── api │ │ │ ├── BumService.kt │ │ │ ├── ServiceCreator.kt │ │ │ └── data │ │ │ │ ├── Category.kt │ │ │ │ ├── RequestCategory.kt │ │ │ │ ├── RequestPushToken.kt │ │ │ │ ├── RequestSignIn.kt │ │ │ │ ├── RequestUser.kt │ │ │ │ ├── RequestWriting.kt │ │ │ │ ├── ResponseCategory.kt │ │ │ │ ├── ResponseCategoryReward.kt │ │ │ │ ├── ResponseGift.kt │ │ │ │ ├── ResponsePushToken.kt │ │ │ │ ├── ResponseRewards.kt │ │ │ │ ├── ResponseStats.kt │ │ │ │ ├── ResponseToken.kt │ │ │ │ ├── ResponseTrashCans.kt │ │ │ │ ├── ResponseUserInfo.kt │ │ │ │ ├── ResponseWriting.kt │ │ │ │ ├── Stat.kt │ │ │ │ ├── Trashcan.kt │ │ │ │ └── Writing.kt │ │ │ ├── model │ │ │ ├── Category.kt │ │ │ └── Paper.kt │ │ │ ├── ui │ │ │ ├── base │ │ │ │ ├── BaseDialogFragment.kt │ │ │ │ └── BaseFragment.kt │ │ │ ├── dialog │ │ │ │ ├── CommonDialog.kt │ │ │ │ ├── RewardDialog.kt │ │ │ │ ├── StatsDialog.kt │ │ │ │ ├── WritingDialog.kt │ │ │ │ ├── adapter │ │ │ │ │ └── StatsDialogAdapter.kt │ │ │ │ └── data │ │ │ │ │ ├── StatsMonthInfo.kt │ │ │ │ │ └── StatsTotalInfo.kt │ │ │ ├── main │ │ │ │ ├── MainActivity.kt │ │ │ │ ├── archive │ │ │ │ │ ├── ArchiveFragment.kt │ │ │ │ │ ├── adapter │ │ │ │ │ │ ├── ArchiveBinAdapter.kt │ │ │ │ │ │ ├── ArchivePagerAdapter.kt │ │ │ │ │ │ ├── ArchiveRewardAdapter.kt │ │ │ │ │ │ └── ArchiveWritingAdapter.kt │ │ │ │ │ ├── bin │ │ │ │ │ │ ├── ArchiveBinDeleteFragment.kt │ │ │ │ │ │ └── ArchiveBinFragment.kt │ │ │ │ │ ├── data │ │ │ │ │ │ ├── ArchiveBinInfo.kt │ │ │ │ │ │ ├── ArchiveWritingFilterInfo.kt │ │ │ │ │ │ ├── ArchiveWritingInfo.kt │ │ │ │ │ │ ├── RewardInfo.kt │ │ │ │ │ │ └── WritingInfo.kt │ │ │ │ │ ├── reward │ │ │ │ │ │ └── ArchiveRewardFragment.kt │ │ │ │ │ └── writing │ │ │ │ │ │ ├── ArchiveWritingFragment.kt │ │ │ │ │ │ └── FilterSheetFragment.kt │ │ │ │ ├── collection │ │ │ │ │ ├── CollectionFragment.kt │ │ │ │ │ ├── adapter │ │ │ │ │ │ ├── CollectionAdapter.kt │ │ │ │ │ │ └── CollectionListAdapter.kt │ │ │ │ │ ├── data │ │ │ │ │ │ ├── CategoryInfo.kt │ │ │ │ │ │ └── CollectionListInfo.kt │ │ │ │ │ └── list │ │ │ │ │ │ └── CollectionListFragment.kt │ │ │ │ ├── home │ │ │ │ │ ├── HomeFragment.kt │ │ │ │ │ ├── drop │ │ │ │ │ │ └── HomeDropFragment.kt │ │ │ │ │ └── writing │ │ │ │ │ │ └── HomeWritingFragment.kt │ │ │ │ ├── push │ │ │ │ │ ├── PushActivity.kt │ │ │ │ │ ├── PushDialog.kt │ │ │ │ │ └── PushGiftDialog.kt │ │ │ │ └── setting │ │ │ │ │ ├── SettingFragment.kt │ │ │ │ │ ├── SheetFragment.kt │ │ │ │ │ ├── adapter │ │ │ │ │ └── SettingBinListAdapter.kt │ │ │ │ │ ├── bin │ │ │ │ │ └── SettingBinFragment.kt │ │ │ │ │ └── data │ │ │ │ │ └── BinListInfo.kt │ │ │ └── splash │ │ │ │ └── SplashActivity.kt │ │ │ └── util │ │ │ ├── ActivityExtension.kt │ │ │ ├── ContextExtension.kt │ │ │ ├── DateTime.kt │ │ │ ├── MyApplication.kt │ │ │ ├── MyFirebaseMessagingService.kt │ │ │ ├── MySharedPreferences.kt │ │ │ ├── ResourceExtension.kt │ │ │ ├── StatusBarUtil.kt │ │ │ ├── TypeExtension.kt │ │ │ └── ViewExtension.kt │ └── res │ │ ├── anim │ │ ├── enter_from_right.xml │ │ ├── exit_to_left.xml │ │ ├── fade_in.xml │ │ ├── layout_animation_fade_in.xml │ │ ├── pop_enter_from_left.xml │ │ ├── pop_exit_to_right.xml │ │ ├── slide_down.xml │ │ └── slide_up.xml │ │ ├── color │ │ ├── archive_chip_background_color.xml │ │ ├── archive_chip_stroke_color.xml │ │ ├── archive_chip_text_color.xml │ │ ├── home_chip_background_color.xml │ │ ├── home_chip_stroke_color.xml │ │ ├── home_chip_text_color.xml │ │ └── main_menu_color.xml │ │ ├── drawable-hdpi │ │ ├── area_collection_1.png │ │ ├── bg_home_collection.png │ │ ├── bg_home_delete.png │ │ ├── brn_edit.png │ │ ├── btn_back.png │ │ ├── btn_check.png │ │ ├── btn_circle_checked.png │ │ ├── btn_circle_unchecked.png │ │ ├── btn_close.png │ │ ├── btn_delete.png │ │ ├── btn_disable_collection_no.png │ │ ├── btn_disable_home_no.png │ │ ├── btn_disable_mywriting_no.png │ │ ├── btn_disable_setting_no.png │ │ ├── btn_graph.png │ │ ├── btn_left.png │ │ ├── btn_plus.png │ │ ├── btn_remove.png │ │ ├── btn_setting_black.png │ │ ├── btn_setting_white.png │ │ ├── category_circle_05.png │ │ ├── collection.png │ │ ├── group_174.png │ │ ├── group_192.png │ │ ├── home_area_trashbin.png │ │ ├── ic_arrow.png │ │ ├── icon_cancel.png │ │ ├── icon_check.png │ │ ├── icon_filter_checked.png │ │ ├── icon_filter_unchecked.png │ │ ├── icon_remove.png │ │ ├── img_air_1.png │ │ ├── img_deletepaper_1.png │ │ ├── img_gradient_mywriting.png │ │ ├── img_gradient_reward.png │ │ ├── img_gradient_trashbin.png │ │ ├── img_mywriting_trashbin.png │ │ ├── img_present.png │ │ ├── img_writing_paper.png │ │ ├── logo.png │ │ ├── presentmotiv_area.png │ │ ├── toast_paper_1.png │ │ └── trashbin_area.png │ │ ├── drawable-mdpi │ │ ├── area_collection_1.png │ │ ├── bg_home_collection.png │ │ ├── bg_home_delete.png │ │ ├── brn_edit.png │ │ ├── btn_back.png │ │ ├── btn_check.png │ │ ├── btn_circle_checked.png │ │ ├── btn_circle_unchecked.png │ │ ├── btn_close.png │ │ ├── btn_delete.png │ │ ├── btn_disable_collection_no.png │ │ ├── btn_disable_home_no.png │ │ ├── btn_disable_mywriting_no.png │ │ ├── btn_disable_setting_no.png │ │ ├── btn_graph.png │ │ ├── btn_left.png │ │ ├── btn_plus.png │ │ ├── btn_remove.png │ │ ├── btn_setting_black.png │ │ ├── btn_setting_white.png │ │ ├── category_circle_05.png │ │ ├── collection.png │ │ ├── group_174.png │ │ ├── group_192.png │ │ ├── home_area_trashbin.png │ │ ├── ic_arrow.png │ │ ├── icon_cancel.png │ │ ├── icon_check.png │ │ ├── icon_filter_checked.png │ │ ├── icon_filter_unchecked.png │ │ ├── icon_remove.png │ │ ├── img_air_1.png │ │ ├── img_deletepaper_1.png │ │ ├── img_gradient_mywriting.png │ │ ├── img_gradient_reward.png │ │ ├── img_gradient_trashbin.png │ │ ├── img_mywriting_trashbin.png │ │ ├── img_present.png │ │ ├── img_writing_paper.png │ │ ├── logo.png │ │ ├── presentmotiv_area.png │ │ ├── toast_paper_1.png │ │ └── trashbin_area.png │ │ ├── drawable-v24 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable-xhdpi │ │ ├── area_collection_1.png │ │ ├── bg_home_collection.png │ │ ├── bg_home_delete.png │ │ ├── brn_edit.png │ │ ├── btn_back.png │ │ ├── btn_check.png │ │ ├── btn_circle_checked.png │ │ ├── btn_circle_unchecked.png │ │ ├── btn_close.png │ │ ├── btn_delete.png │ │ ├── btn_disable_collection_no.png │ │ ├── btn_disable_home_no.png │ │ ├── btn_disable_mywriting_no.png │ │ ├── btn_disable_setting_no.png │ │ ├── btn_graph.png │ │ ├── btn_left.png │ │ ├── btn_plus.png │ │ ├── btn_remove.png │ │ ├── btn_setting_black.png │ │ ├── btn_setting_white.png │ │ ├── category_circle_05.png │ │ ├── collection.png │ │ ├── group_174.png │ │ ├── group_192.png │ │ ├── home_area_trashbin.png │ │ ├── ic_arrow.png │ │ ├── icon_cancel.png │ │ ├── icon_check.png │ │ ├── icon_filter_checked.png │ │ ├── icon_filter_unchecked.png │ │ ├── icon_remove.png │ │ ├── img_air_1.png │ │ ├── img_deletepaper_1.png │ │ ├── img_gradient_mywriting.png │ │ ├── img_gradient_reward.png │ │ ├── img_gradient_trashbin.png │ │ ├── img_mywriting_trashbin.png │ │ ├── img_present.png │ │ ├── img_writing_paper.png │ │ ├── logo.png │ │ ├── presentmotiv_area.png │ │ ├── toast_paper_1.png │ │ └── trashbin_area.png │ │ ├── drawable-xxhdpi │ │ ├── area_collection_1.png │ │ ├── bg_home_collection.png │ │ ├── bg_home_delete.png │ │ ├── brn_edit.png │ │ ├── btn_back.png │ │ ├── btn_check.png │ │ ├── btn_circle_checked.png │ │ ├── btn_circle_unchecked.png │ │ ├── btn_close.png │ │ ├── btn_delete.png │ │ ├── btn_disable_collection_no.png │ │ ├── btn_disable_home_no.png │ │ ├── btn_disable_mywriting_no.png │ │ ├── btn_disable_setting_no.png │ │ ├── btn_graph.png │ │ ├── btn_left.png │ │ ├── btn_plus.png │ │ ├── btn_remove.png │ │ ├── btn_setting_black.png │ │ ├── btn_setting_white.png │ │ ├── category_circle_05.png │ │ ├── collection.png │ │ ├── group_174.png │ │ ├── group_192.png │ │ ├── home_area_trashbin.png │ │ ├── ic_arrow.png │ │ ├── icon_cancel.png │ │ ├── icon_check.png │ │ ├── icon_filter_checked.png │ │ ├── icon_filter_unchecked.png │ │ ├── icon_remove.png │ │ ├── img_air_1.png │ │ ├── img_deletepaper_1.png │ │ ├── img_gradient_mywriting.png │ │ ├── img_gradient_reward.png │ │ ├── img_gradient_trashbin.png │ │ ├── img_mywriting_trashbin.png │ │ ├── img_present.png │ │ ├── img_writing_paper.png │ │ ├── logo.png │ │ ├── presentmotiv_area.png │ │ ├── toast_paper_1.png │ │ └── trashbin_area.png │ │ ├── drawable-xxxhdpi │ │ ├── area_collection_1.png │ │ ├── bg_home_collection.png │ │ ├── bg_home_delete.png │ │ ├── brn_edit.png │ │ ├── btn_back.png │ │ ├── btn_check.png │ │ ├── btn_circle_checked.png │ │ ├── btn_circle_unchecked.png │ │ ├── btn_close.png │ │ ├── btn_delete.png │ │ ├── btn_disable_collection_no.png │ │ ├── btn_disable_home_no.png │ │ ├── btn_disable_mywriting_no.png │ │ ├── btn_disable_setting_no.png │ │ ├── btn_graph.png │ │ ├── btn_left.png │ │ ├── btn_plus.png │ │ ├── btn_remove.png │ │ ├── btn_setting_black.png │ │ ├── btn_setting_white.png │ │ ├── category_circle_05.png │ │ ├── collection.png │ │ ├── group_174.png │ │ ├── group_192.png │ │ ├── home_area_trashbin.png │ │ ├── ic_arrow.png │ │ ├── icon_cancel.png │ │ ├── icon_check.png │ │ ├── icon_filter_checked.png │ │ ├── icon_filter_unchecked.png │ │ ├── icon_remove.png │ │ ├── img_air_1.png │ │ ├── img_deletepaper_1.png │ │ ├── img_gradient_mywriting.png │ │ ├── img_gradient_reward.png │ │ ├── img_gradient_trashbin.png │ │ ├── img_mywriting_trashbin.png │ │ ├── img_present.png │ │ ├── img_writing_paper.png │ │ ├── logo.png │ │ ├── presentmotiv_area.png │ │ ├── toast_paper_1.png │ │ └── trashbin_area.png │ │ ├── drawable │ │ ├── bg_bottom_navigation.xml │ │ ├── bg_dialog_common.xml │ │ ├── bg_dialog_reward.xml │ │ ├── bg_edit_border.xml │ │ ├── bg_edit_border_error.xml │ │ ├── bg_toast.xml │ │ ├── bg_white_radius_15.xml │ │ ├── gradient1.xml │ │ ├── gradient2.xml │ │ ├── gradient3.xml │ │ ├── gradient4.xml │ │ ├── gradient5.xml │ │ ├── gradient6.xml │ │ ├── gradient7.xml │ │ ├── gradient8.xml │ │ ├── switch_thumb.xml │ │ ├── switch_track_off.xml │ │ ├── switch_track_on.xml │ │ └── switch_track_selector.xml │ │ ├── font │ │ ├── nanum_square_bold.otf │ │ ├── nanum_square_extrabold.otf │ │ ├── nanum_square_light.otf │ │ ├── nanum_square_regular.otf │ │ └── sf_pro_display_regular.otf │ │ ├── layout │ │ ├── activity_main.xml │ │ ├── activity_push.xml │ │ ├── activity_splash.xml │ │ ├── dialog_common.xml │ │ ├── dialog_push.xml │ │ ├── dialog_push_gift.xml │ │ ├── dialog_reward.xml │ │ ├── dialog_stats.xml │ │ ├── dialog_writing.xml │ │ ├── fragment_archive.xml │ │ ├── fragment_archive_bin.xml │ │ ├── fragment_archive_reward.xml │ │ ├── fragment_archive_writing.xml │ │ ├── fragment_collection.xml │ │ ├── fragment_collection_list.xml │ │ ├── fragment_dialog_sheet.xml │ │ ├── fragment_filter_sheet.xml │ │ ├── fragment_home.xml │ │ ├── fragment_home_drop.xml │ │ ├── fragment_home_writing.xml │ │ ├── fragment_setting.xml │ │ ├── fragment_setting_bin.xml │ │ ├── item_card_bin.xml │ │ ├── item_card_collection.xml │ │ ├── item_card_mywriting.xml │ │ ├── item_card_reward.xml │ │ ├── item_category.xml │ │ ├── item_collection.xml │ │ ├── item_stats.xml │ │ └── view_chip.xml │ │ ├── menu │ │ └── main_menu.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.png │ │ ├── ic_launcher_foreground.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.png │ │ ├── ic_launcher_foreground.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.png │ │ ├── ic_launcher_foreground.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.png │ │ ├── ic_launcher_foreground.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.png │ │ ├── ic_launcher_foreground.png │ │ └── ic_launcher_round.png │ │ └── values │ │ ├── colors.xml │ │ ├── ic_launcher_background.xml │ │ ├── strings.xml │ │ └── themes.xml │ └── test │ └── java │ └── team │ └── bum │ └── ExampleUnitTest.kt ├── build.gradle ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | .cxx 15 | local.properties 16 | -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 19 | 20 | -------------------------------------------------------------------------------- /.idea/jarRepositories.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 9 | 10 | 14 | 15 | 19 | 20 | 24 | 25 | 29 | 30 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 34 | 35 | 36 | 37 | 38 | 39 | 41 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id 'com.android.application' 3 | id 'kotlin-android' 4 | id 'kotlin-kapt' 5 | } 6 | 7 | apply plugin: 'com.google.gms.google-services' 8 | 9 | android { 10 | compileSdkVersion 30 11 | buildToolsVersion "30.0.3" 12 | 13 | defaultConfig { 14 | applicationId "team.bum" 15 | minSdkVersion 28 16 | targetSdkVersion 30 17 | versionCode 1 18 | versionName "1.0" 19 | 20 | testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" 21 | } 22 | 23 | buildTypes { 24 | release { 25 | minifyEnabled false 26 | proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 27 | } 28 | } 29 | compileOptions { 30 | sourceCompatibility JavaVersion.VERSION_1_8 31 | targetCompatibility JavaVersion.VERSION_1_8 32 | } 33 | kotlinOptions { 34 | jvmTarget = '1.8' 35 | } 36 | buildFeatures { 37 | viewBinding true 38 | } 39 | } 40 | 41 | dependencies { 42 | 43 | implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" 44 | implementation "androidx.activity:activity-ktx:1.2.0-rc01" 45 | implementation "androidx.fragment:fragment-ktx:1.3.0-rc01" 46 | implementation 'androidx.core:core-ktx:1.5.0' 47 | implementation 'androidx.appcompat:appcompat:1.3.0' 48 | implementation 'com.google.android.material:material:1.3.0' 49 | implementation 'androidx.constraintlayout:constraintlayout:2.0.4' 50 | implementation 'androidx.legacy:legacy-support-v4:1.0.0' 51 | implementation 'com.google.firebase:firebase-database:19.2.1' 52 | implementation 'com.google.firebase:firebase-firestore-ktx:23.0.3' 53 | implementation 'com.google.firebase:firebase-messaging:22.0.0' 54 | testImplementation 'junit:junit:4.+' 55 | androidTestImplementation 'androidx.test.ext:junit:1.1.2' 56 | androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' 57 | 58 | // Retrofit and Gson 59 | implementation "com.squareup.retrofit2:retrofit:2.9.0" 60 | implementation "com.squareup.retrofit2:converter-gson:2.9.0" 61 | 62 | // glide 63 | implementation 'com.github.bumptech.glide:glide:4.12.0' 64 | annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0' 65 | 66 | // lottie 67 | implementation 'com.airbnb.android:lottie:3.5.0' 68 | 69 | //firebase 70 | implementation 'com.google.firebase:firebase-analytics-ktx' 71 | implementation platform('com.google.firebase:firebase-bom:28.3.1') 72 | implementation 'com.google.firebase:firebase-messaging-ktx' 73 | 74 | // JSON의 자바 오브젝트의 직렬화, 역직렬화 75 | implementation 'com.google.code.gson:gson:2.8.5' 76 | // okhttp3 77 | implementation 'com.squareup.okhttp3:okhttp:3.4.1' 78 | 79 | } 80 | 81 | -------------------------------------------------------------------------------- /app/google-services.json: -------------------------------------------------------------------------------- 1 | { 2 | "project_info": { 3 | "project_number": "615999608982", 4 | "project_id": "bium-sever", 5 | "storage_bucket": "bium-sever.appspot.com" 6 | }, 7 | "client": [ 8 | { 9 | "client_info": { 10 | "mobilesdk_app_id": "1:615999608982:android:f5d6b2f5b40f1f5167cab7", 11 | "android_client_info": { 12 | "package_name": "team.bum" 13 | } 14 | }, 15 | "oauth_client": [ 16 | { 17 | "client_id": "615999608982-rrsqhfm8b8s6i2fjsonq0feapamde915.apps.googleusercontent.com", 18 | "client_type": 1, 19 | "android_info": { 20 | "package_name": "team.bum", 21 | "certificate_hash": "327638004edc89b2395f7eaa2bdd3b7d9381da7d" 22 | } 23 | }, 24 | { 25 | "client_id": "615999608982-179cg00u7hnl37f1rb4qhfg77b49f8mg.apps.googleusercontent.com", 26 | "client_type": 3 27 | } 28 | ], 29 | "api_key": [ 30 | { 31 | "current_key": "AIzaSyAN9Zlek04I8s_2ApvwtnPW9wc9KRJyB98" 32 | } 33 | ], 34 | "services": { 35 | "appinvite_service": { 36 | "other_platform_oauth_client": [ 37 | { 38 | "client_id": "615999608982-179cg00u7hnl37f1rb4qhfg77b49f8mg.apps.googleusercontent.com", 39 | "client_type": 3 40 | }, 41 | { 42 | "client_id": "615999608982-vlj580ck7i9se225ol6qn75nmg7k4qt6.apps.googleusercontent.com", 43 | "client_type": 2, 44 | "ios_info": { 45 | "bundle_id": "com.codershigh.B-umiOS" 46 | } 47 | } 48 | ] 49 | } 50 | } 51 | } 52 | ], 53 | "configuration_version": "1" 54 | } -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile -------------------------------------------------------------------------------- /app/src/androidTest/java/team/bum/ExampleInstrumentedTest.kt: -------------------------------------------------------------------------------- 1 | package team.bum 2 | 3 | import androidx.test.platform.app.InstrumentationRegistry 4 | import androidx.test.ext.junit.runners.AndroidJUnit4 5 | 6 | import org.junit.Test 7 | import org.junit.runner.RunWith 8 | 9 | import org.junit.Assert.* 10 | 11 | /** 12 | * Instrumented test, which will execute on an Android device. 13 | * 14 | * See [testing documentation](http://d.android.com/tools/testing). 15 | */ 16 | @RunWith(AndroidJUnit4::class) 17 | class ExampleInstrumentedTest { 18 | @Test 19 | fun useAppContext() { 20 | // Context of the app under test. 21 | val appContext = InstrumentationRegistry.getInstrumentation().targetContext 22 | assertEquals("team.bum", appContext.packageName) 23 | } 24 | } -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 26 | 27 | 30 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /app/src/main/ic_launcher-playstore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/ic_launcher-playstore.png -------------------------------------------------------------------------------- /app/src/main/ic_logo-playstore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/ic_logo-playstore.png -------------------------------------------------------------------------------- /app/src/main/java/team/bum/api/BumService.kt: -------------------------------------------------------------------------------- 1 | package team.bum.api 2 | 3 | import retrofit2.http.* 4 | import team.bum.api.data.* 5 | import retrofit2.Call 6 | 7 | interface BumService { 8 | // USER 9 | @POST("users") 10 | fun getToken(@Body body: RequestSignIn): Call 11 | 12 | @GET("users") 13 | fun getUser( 14 | @Header("x-auth-token") token: String 15 | ): Call 16 | 17 | @PATCH("users") 18 | fun editUser( 19 | @Header("x-auth-token") token: String, 20 | @Body body: RequestUser 21 | ): Call 22 | 23 | // WRITING 24 | @POST("writings") 25 | fun postWriting( 26 | @Header("x-auth-token") token: String, 27 | @Body body: RequestWriting 28 | ): Call 29 | 30 | @GET("writings") 31 | fun getWriting( 32 | @Header("x-auth-token") token: String, 33 | @Query("start_date") start_date: String? = null, 34 | @Query("end_date") end_date: String? = null, 35 | @Query("category_ids") category_ids: String? = null 36 | ): Call 37 | 38 | @GET("writings/stat/graph") 39 | fun getStats( 40 | @Header("x-auth-token") token: String 41 | ): Call 42 | 43 | @DELETE("writings") 44 | fun deleteWriting( 45 | @Header("x-auth-token") token: String, 46 | @Query("ids") ids: List 47 | ): Call 48 | 49 | // TRASHCANS 50 | @GET("trashcans") 51 | fun getTrashCans( 52 | @Header("x-auth-token") token: String 53 | ): Call 54 | 55 | // CATEGORIES 56 | @GET("categories") 57 | fun getCategory( 58 | @Header("x-auth-token") token: String 59 | ): Call 60 | 61 | @GET("categories/{category_Id}/rewards") 62 | fun getCategoryRewards( 63 | @Header("x-auth-token") token: String, 64 | @Path("category_Id") categoryId: String 65 | ): Call 66 | 67 | @POST("categories") 68 | fun addCategory( 69 | @Header("x-auth-token") token: String, 70 | @Body body: RequestCategory 71 | ): Call 72 | 73 | @DELETE("categories/{category_id}") 74 | fun deleteCategory( 75 | @Header("x-auth-token") token: String, 76 | @Path("category_id") category_id: String 77 | ): Call 78 | 79 | @PATCH("categories/{category_id}") 80 | fun editCategory( 81 | @Header("x-auth-token") token: String, 82 | @Path("category_id") category_id: String, 83 | @Body body: RequestCategory 84 | ): Call 85 | 86 | // REWARDS 87 | @GET("rewards") 88 | fun getReward( 89 | @Header("x-auth-token") token: String 90 | ): Call 91 | 92 | @POST("pushtokens") 93 | fun getPushToken(@Body body: RequestPushToken): Call 94 | 95 | @GET("presents") 96 | fun getGift( 97 | @Header("x-auth-token") token: String 98 | ): Call 99 | } 100 | -------------------------------------------------------------------------------- /app/src/main/java/team/bum/api/ServiceCreator.kt: -------------------------------------------------------------------------------- 1 | package team.bum.api 2 | 3 | import retrofit2.Retrofit 4 | import retrofit2.converter.gson.GsonConverterFactory 5 | 6 | object ServiceCreator { 7 | private const val BASE_URL = "http://3.36.108.3:5000/" 8 | 9 | private val retrofit: Retrofit = Retrofit.Builder() 10 | .baseUrl(BASE_URL) 11 | .addConverterFactory(GsonConverterFactory.create()) 12 | .build() 13 | 14 | val bumService: BumService = retrofit.create(BumService::class.java) 15 | } -------------------------------------------------------------------------------- /app/src/main/java/team/bum/api/data/Category.kt: -------------------------------------------------------------------------------- 1 | package team.bum.api.data 2 | 3 | data class Category( 4 | val _id: String, 5 | val count: Int, 6 | val created_date: String, 7 | val img: String, 8 | val index: Int, 9 | val name: String 10 | ) -------------------------------------------------------------------------------- /app/src/main/java/team/bum/api/data/RequestCategory.kt: -------------------------------------------------------------------------------- 1 | package team.bum.api.data 2 | 3 | data class RequestCategory( 4 | val name: String 5 | ) 6 | -------------------------------------------------------------------------------- /app/src/main/java/team/bum/api/data/RequestPushToken.kt: -------------------------------------------------------------------------------- 1 | package team.bum.api.data 2 | 3 | import com.google.gson.annotations.SerializedName 4 | 5 | data class RequestPushToken( 6 | @SerializedName("pushtoken") val pushToken: String 7 | ) 8 | -------------------------------------------------------------------------------- /app/src/main/java/team/bum/api/data/RequestSignIn.kt: -------------------------------------------------------------------------------- 1 | package team.bum.api.data 2 | 3 | import com.google.gson.annotations.SerializedName 4 | 5 | data class RequestSignIn( 6 | @SerializedName("device_id") val uuid: String 7 | ) -------------------------------------------------------------------------------- /app/src/main/java/team/bum/api/data/RequestUser.kt: -------------------------------------------------------------------------------- 1 | package team.bum.api.data 2 | 3 | import com.google.gson.annotations.SerializedName 4 | 5 | data class RequestUser( 6 | @SerializedName("delperiod") val delPeriod: Int 7 | ) 8 | -------------------------------------------------------------------------------- /app/src/main/java/team/bum/api/data/RequestWriting.kt: -------------------------------------------------------------------------------- 1 | package team.bum.api.data 2 | 3 | import com.google.gson.annotations.SerializedName 4 | 5 | data class RequestWriting( 6 | val category_id: String, 7 | val title: String, 8 | val text: String, 9 | @SerializedName("iswriting") 10 | val drop_to: Boolean 11 | ) -------------------------------------------------------------------------------- /app/src/main/java/team/bum/api/data/ResponseCategory.kt: -------------------------------------------------------------------------------- 1 | package team.bum.api.data 2 | 3 | data class ResponseCategory( 4 | val data: Data, 5 | val success: Boolean 6 | ) { 7 | data class Data( 8 | val category: List 9 | ) 10 | } -------------------------------------------------------------------------------- /app/src/main/java/team/bum/api/data/ResponseCategoryReward.kt: -------------------------------------------------------------------------------- 1 | package team.bum.api.data 2 | 3 | import team.bum.ui.main.archive.data.RewardInfo 4 | 5 | data class ResponseCategoryReward( 6 | val data: Data, 7 | val message: String, 8 | val status: Int, 9 | val success: Boolean 10 | ) { 11 | data class Data( 12 | val reward: RewardInfo 13 | ) 14 | } -------------------------------------------------------------------------------- /app/src/main/java/team/bum/api/data/ResponseGift.kt: -------------------------------------------------------------------------------- 1 | package team.bum.api.data 2 | 3 | data class ResponseGift( 4 | val data: Data, 5 | val success: Boolean 6 | ) { 7 | data class Data( 8 | val present: Present 9 | ) { 10 | data class Present( 11 | val _id: String, 12 | val sentence: String 13 | ) 14 | } 15 | } -------------------------------------------------------------------------------- /app/src/main/java/team/bum/api/data/ResponsePushToken.kt: -------------------------------------------------------------------------------- 1 | package team.bum.api.data 2 | 3 | data class ResponsePushToken( 4 | val success: Boolean 5 | ) 6 | -------------------------------------------------------------------------------- /app/src/main/java/team/bum/api/data/ResponseRewards.kt: -------------------------------------------------------------------------------- 1 | package team.bum.api.data 2 | 3 | import team.bum.ui.main.archive.data.RewardInfo 4 | 5 | data class ResponseRewards( 6 | val data: Date, 7 | val status: Int, 8 | val success: Boolean 9 | ) { 10 | data class Date( 11 | val rewards: List 12 | ) 13 | } -------------------------------------------------------------------------------- /app/src/main/java/team/bum/api/data/ResponseStats.kt: -------------------------------------------------------------------------------- 1 | package team.bum.api.data 2 | 3 | import com.google.gson.annotations.SerializedName 4 | 5 | data class ResponseStats( 6 | val data: Data, 7 | val success: Boolean 8 | ) { 9 | data class Data( 10 | @SerializedName("allstat") val allStat: List, 11 | @SerializedName("monthstat") val stat: List 12 | ) 13 | } -------------------------------------------------------------------------------- /app/src/main/java/team/bum/api/data/ResponseToken.kt: -------------------------------------------------------------------------------- 1 | package team.bum.api.data 2 | 3 | data class ResponseToken( 4 | val status: Int, 5 | val success: Boolean, 6 | val data: Data 7 | ) { 8 | data class Data( 9 | val token: String 10 | ) 11 | } -------------------------------------------------------------------------------- /app/src/main/java/team/bum/api/data/ResponseTrashCans.kt: -------------------------------------------------------------------------------- 1 | package team.bum.api.data 2 | 3 | import com.google.gson.annotations.SerializedName 4 | 5 | data class ResponseTrashCans( 6 | val status: Int, 7 | val success: Boolean, 8 | val data: Data 9 | ) { 10 | data class Data( 11 | @SerializedName("trashresult") val trashResult: List 12 | ) 13 | } -------------------------------------------------------------------------------- /app/src/main/java/team/bum/api/data/ResponseUserInfo.kt: -------------------------------------------------------------------------------- 1 | package team.bum.api.data 2 | 3 | import com.google.gson.annotations.SerializedName 4 | 5 | data class ResponseUser( 6 | val data: Data, 7 | val success: Boolean 8 | ) { 9 | data class Data( 10 | val user: User 11 | ) { 12 | data class User( 13 | @SerializedName("ispush") val isPush: Boolean, 14 | @SerializedName("delperiod") val delPeriod: Int 15 | ) 16 | } 17 | } -------------------------------------------------------------------------------- /app/src/main/java/team/bum/api/data/ResponseWriting.kt: -------------------------------------------------------------------------------- 1 | package team.bum.api.data 2 | 3 | data class ResponseWriting( 4 | val data: Data, 5 | val success: Boolean 6 | ) { 7 | data class Data( 8 | val writing: List 9 | ) 10 | } -------------------------------------------------------------------------------- /app/src/main/java/team/bum/api/data/Stat.kt: -------------------------------------------------------------------------------- 1 | package team.bum.api.data 2 | 3 | data class Stat( 4 | val index: Int, 5 | val name: String, 6 | val percent: Int 7 | ) -------------------------------------------------------------------------------- /app/src/main/java/team/bum/api/data/Trashcan.kt: -------------------------------------------------------------------------------- 1 | package team.bum.api.data 2 | 3 | data class Trashcan( 4 | val _id: String, 5 | val category: Category, 6 | val d_day: Int, 7 | val text: String, 8 | val title: String 9 | ) { 10 | data class Category( 11 | val __v: Int, 12 | val _id: String, 13 | val count: Int, 14 | val created_date: String, 15 | val img: String, 16 | val index: Int, 17 | val name: String, 18 | val user_id: String 19 | ) 20 | } -------------------------------------------------------------------------------- /app/src/main/java/team/bum/api/data/Writing.kt: -------------------------------------------------------------------------------- 1 | package team.bum.api.data 2 | 3 | data class Writing( 4 | val _id: String, 5 | val category: Category, 6 | val created_date: String, 7 | val text: String, 8 | val title: String 9 | ) -------------------------------------------------------------------------------- /app/src/main/java/team/bum/model/Category.kt: -------------------------------------------------------------------------------- 1 | package team.bum.model 2 | 3 | import team.bum.R 4 | 5 | enum class Category( 6 | val id: Int, 7 | val textColor: Int, 8 | val background: Int, 9 | ) { 10 | CATEGORY_1( 11 | 0, 12 | R.color.blue_2_main, 13 | R.drawable.gradient1 14 | ), 15 | CATEGORY_2( 16 | 1, 17 | R.color.green_3, 18 | R.drawable.gradient5 19 | ), 20 | CATEGORY_3( 21 | 2, 22 | R.color.pink_3, 23 | R.drawable.gradient8 24 | ), 25 | CATEGORY_4( 26 | 3, 27 | R.color.blue_4, 28 | R.drawable.gradient3 29 | ), 30 | CATEGORY_5( 31 | 4, 32 | R.color.green_5, 33 | R.drawable.gradient6 34 | ), 35 | CATEGORY_6( 36 | 5, 37 | R.color.green_2_main, 38 | R.drawable.gradient4 39 | ), 40 | CATEGORY_7( 41 | 6, 42 | R.color.blue_3, 43 | R.drawable.gradient2 44 | ), 45 | CATEGORY_8( 46 | 7, 47 | R.color.pink_2_main, 48 | R.drawable.gradient7 49 | ), 50 | } -------------------------------------------------------------------------------- /app/src/main/java/team/bum/model/Paper.kt: -------------------------------------------------------------------------------- 1 | package team.bum.model 2 | 3 | import team.bum.R 4 | 5 | enum class Paper ( 6 | val id: Int, 7 | val backgroundColor: Int, 8 | val textColor: Int, 9 | val hintColor: Int, 10 | val dividerColor: Int, 11 | val img: Int, 12 | ) { 13 | PAPER_1( 14 | 1, 15 | R.color.paper_1, 16 | R.color.header, 17 | R.color.paper_3, 18 | R.color.text_grey, 19 | R.drawable.btn_setting_black, 20 | ), 21 | PAPER_2( 22 | 2, 23 | R.color.paper_2, 24 | R.color.header, 25 | R.color.paper_3, 26 | R.color.icon_grey, 27 | R.drawable.btn_setting_black, 28 | ), 29 | PAPER_3( 30 | 3, 31 | R.color.paper_3, 32 | R.color.white, 33 | R.color.paper_2, 34 | R.color.paper_2, 35 | R.drawable.btn_setting_white, 36 | ), 37 | PAPER_4( 38 | 4, 39 | R.color.paper_4, 40 | R.color.white, 41 | R.color.paper_2, 42 | R.color.paper_2, 43 | R.drawable.btn_setting_white, 44 | ), 45 | } 46 | -------------------------------------------------------------------------------- /app/src/main/java/team/bum/ui/base/BaseDialogFragment.kt: -------------------------------------------------------------------------------- 1 | package team.bum.ui.base 2 | 3 | import android.os.Bundle 4 | import android.view.LayoutInflater 5 | import android.view.View 6 | import android.view.ViewGroup 7 | import androidx.fragment.app.DialogFragment 8 | import androidx.viewbinding.ViewBinding 9 | 10 | abstract class BaseDialogFragment : DialogFragment() { 11 | private var _binding: T? = null 12 | val binding get() = _binding ?: error("View를 참조하기 위해 binding이 초기화되지 않았습니다.") 13 | 14 | override fun onCreateView( 15 | inflater: LayoutInflater, 16 | container: ViewGroup?, 17 | savedInstanceState: Bundle? 18 | ): View { 19 | _binding = initBinding(inflater, container) 20 | return binding.root 21 | } 22 | 23 | abstract fun initBinding(inflater: LayoutInflater, container: ViewGroup?): T 24 | 25 | override fun onDestroyView() { 26 | super.onDestroyView() 27 | _binding = null 28 | } 29 | } -------------------------------------------------------------------------------- /app/src/main/java/team/bum/ui/base/BaseFragment.kt: -------------------------------------------------------------------------------- 1 | package team.bum.ui.base 2 | 3 | import android.os.Bundle 4 | import android.view.LayoutInflater 5 | import android.view.View 6 | import android.view.ViewGroup 7 | import androidx.fragment.app.Fragment 8 | import androidx.viewbinding.ViewBinding 9 | 10 | abstract class BaseFragment : Fragment() { 11 | private var _binding: T? = null 12 | val binding get() = _binding ?: error("View를 참조하기 위해 binding이 초기화되지 않았습니다.") 13 | 14 | override fun onCreateView( 15 | inflater: LayoutInflater, 16 | container: ViewGroup?, 17 | savedInstanceState: Bundle? 18 | ): View { 19 | _binding = initBinding(inflater, container) 20 | return binding.root 21 | } 22 | 23 | abstract fun initBinding(inflater: LayoutInflater, container: ViewGroup?): T 24 | 25 | override fun onDestroyView() { 26 | super.onDestroyView() 27 | _binding = null 28 | } 29 | } -------------------------------------------------------------------------------- /app/src/main/java/team/bum/ui/dialog/RewardDialog.kt: -------------------------------------------------------------------------------- 1 | package team.bum.ui.dialog 2 | 3 | import android.content.res.Resources 4 | import android.os.Bundle 5 | import android.util.Log 6 | import android.view.LayoutInflater 7 | import android.view.View 8 | import android.view.ViewGroup 9 | import android.view.WindowManager 10 | import androidx.core.content.ContextCompat 11 | import team.bum.R 12 | import team.bum.databinding.DialogRewardBinding 13 | import team.bum.model.Category 14 | import team.bum.ui.base.BaseDialogFragment 15 | import team.bum.ui.main.archive.reward.ArchiveRewardFragment.Companion.author 16 | import team.bum.ui.main.archive.reward.ArchiveRewardFragment.Companion.bgColorIndex 17 | import team.bum.ui.main.archive.reward.ArchiveRewardFragment.Companion.content 18 | import team.bum.ui.main.archive.reward.ArchiveRewardFragment.Companion.date 19 | import team.bum.ui.main.archive.reward.ArchiveRewardFragment.Companion.sentence 20 | 21 | class RewardDialog : BaseDialogFragment() { 22 | 23 | override fun initBinding(inflater: LayoutInflater, container: ViewGroup?) = 24 | DialogRewardBinding.inflate(inflater, container, false) 25 | 26 | override fun onViewCreated(view: View, savedInstanceState: Bundle?) { 27 | setupDialogBackground() 28 | initRewardDialog() 29 | } 30 | 31 | private fun initRewardDialog() { 32 | binding.apply { 33 | binding.tvPopupDate.text = date 34 | binding.tvPopupContent.text = sentence 35 | binding.tvPopupAuthor.text = author 36 | binding.tvPopupComment.text = content 37 | binding.ivClose.setOnClickListener { dismiss() } 38 | Category.values().forEach { 39 | if (bgColorIndex == it.id) 40 | viewReward.setBackgroundResource(it.background) 41 | } 42 | } 43 | } 44 | 45 | private fun setupDialogBackground() { 46 | val deviceWidth = Resources.getSystem().displayMetrics.widthPixels 47 | val dialogHorizontalMargin = (Resources.getSystem().displayMetrics.density * 16) * 2 48 | dialog!!.window!!.apply { 49 | setLayout( 50 | (deviceWidth - dialogHorizontalMargin).toInt(), 51 | WindowManager.LayoutParams.WRAP_CONTENT 52 | ) 53 | setBackgroundDrawableResource(R.drawable.bg_dialog_reward) 54 | } 55 | } 56 | 57 | class CustomDialogBuilder { 58 | private val dialog = RewardDialog() 59 | 60 | fun create(): RewardDialog { 61 | return dialog 62 | } 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /app/src/main/java/team/bum/ui/dialog/StatsDialog.kt: -------------------------------------------------------------------------------- 1 | package team.bum.ui.dialog 2 | 3 | import android.content.res.Resources 4 | import android.os.Bundle 5 | import android.view.LayoutInflater 6 | import android.view.View 7 | import android.view.ViewGroup 8 | import android.view.WindowManager 9 | import team.bum.R 10 | import team.bum.api.data.Stat 11 | import team.bum.databinding.DialogStatsBinding 12 | import team.bum.ui.base.BaseDialogFragment 13 | import team.bum.ui.dialog.adapter.StatsDialogAdapter 14 | import team.bum.ui.main.collection.CollectionFragment.Companion.monthPercent 15 | import team.bum.ui.main.collection.CollectionFragment.Companion.statsItems 16 | import team.bum.ui.main.collection.CollectionFragment.Companion.allStatsItems 17 | import team.bum.ui.main.collection.CollectionFragment.Companion.totalPercent 18 | 19 | class StatsDialog : BaseDialogFragment() { 20 | private val statsDialogAdapter = StatsDialogAdapter() 21 | private val statsSecondDialogAdapter = StatsDialogAdapter() 22 | 23 | override fun initBinding(inflater: LayoutInflater, container: ViewGroup?) = 24 | DialogStatsBinding.inflate(inflater, container, false) 25 | 26 | override fun onViewCreated(view: View, savedInstanceState: Bundle?) { 27 | setupDialogBackground() 28 | setStatsList() 29 | 30 | binding.imageClose.setOnClickListener { dismiss() } 31 | binding.recyclerMonthStats.adapter = statsDialogAdapter 32 | binding.recyclerTotalStats.adapter = statsSecondDialogAdapter 33 | } 34 | 35 | private fun setStatsList() { 36 | statsDialogAdapter.setItems(statsItems) 37 | statsSecondDialogAdapter.setItems(allStatsItems) 38 | statsDialogAdapter.addItems( 39 | listOf( 40 | Stat( 41 | index = 9, 42 | name = "기타", 43 | percent = monthPercent 44 | ) 45 | ) 46 | ) 47 | statsSecondDialogAdapter.addItems( 48 | listOf( 49 | Stat( 50 | index = 9, 51 | name = "기타", 52 | percent = totalPercent 53 | ) 54 | ) 55 | ) 56 | } 57 | 58 | private fun setupDialogBackground() { 59 | val deviceWidth = Resources.getSystem().displayMetrics.widthPixels 60 | val dialogHorizontalMargin = (Resources.getSystem().displayMetrics.density * 16) * 2 61 | dialog!!.window!!.apply { 62 | setLayout( 63 | (deviceWidth - dialogHorizontalMargin).toInt(), 64 | WindowManager.LayoutParams.WRAP_CONTENT 65 | ) 66 | setBackgroundDrawableResource(R.drawable.bg_dialog_common) 67 | } 68 | } 69 | 70 | class CustomDialogBuilder { 71 | private val dialog = StatsDialog() 72 | 73 | fun create(): StatsDialog { 74 | return dialog 75 | } 76 | } 77 | } -------------------------------------------------------------------------------- /app/src/main/java/team/bum/ui/dialog/WritingDialog.kt: -------------------------------------------------------------------------------- 1 | package team.bum.ui.dialog 2 | 3 | import android.content.res.Resources 4 | import android.os.Bundle 5 | import android.view.LayoutInflater 6 | import android.view.View 7 | import android.view.ViewGroup 8 | import android.view.WindowManager 9 | import androidx.core.content.ContextCompat 10 | import team.bum.R 11 | import team.bum.databinding.DialogWritingBinding 12 | import team.bum.model.Category 13 | import team.bum.ui.base.BaseDialogFragment 14 | import team.bum.ui.main.archive.writing.ArchiveWritingFragment.Companion.category 15 | import team.bum.ui.main.archive.writing.ArchiveWritingFragment.Companion.colorIndex 16 | import team.bum.ui.main.archive.writing.ArchiveWritingFragment.Companion.content 17 | import team.bum.ui.main.archive.writing.ArchiveWritingFragment.Companion.date 18 | import team.bum.ui.main.archive.writing.ArchiveWritingFragment.Companion.title 19 | import team.bum.util.getColor 20 | 21 | class WritingDialog : BaseDialogFragment() { 22 | 23 | override fun initBinding(inflater: LayoutInflater, container: ViewGroup?) = 24 | DialogWritingBinding.inflate(inflater, container, false) 25 | 26 | override fun onViewCreated(view: View, savedInstanceState: Bundle?) { 27 | initWritingDialog() 28 | setupDialogBackground() 29 | } 30 | 31 | private fun initWritingDialog() { 32 | binding.apply { 33 | tvCategory.text = category 34 | tvTitle.text = title 35 | tvDate.text = date 36 | tvContent.text = content 37 | imageClose.setOnClickListener { dismiss() } 38 | Category.values().forEach { 39 | if (colorIndex == it.id) 40 | tvCategory.setTextColor(getColor(it.textColor)) 41 | } 42 | } 43 | } 44 | 45 | private fun setupDialogBackground() { 46 | val deviceWidth = Resources.getSystem().displayMetrics.widthPixels 47 | val dialogHorizontalMargin = (Resources.getSystem().displayMetrics.density * 16) * 2 48 | dialog!!.window!!.apply { 49 | setLayout( 50 | (deviceWidth - dialogHorizontalMargin).toInt(), 51 | WindowManager.LayoutParams.WRAP_CONTENT 52 | ) 53 | setBackgroundDrawableResource(R.drawable.bg_dialog_common) 54 | } 55 | } 56 | 57 | class CustomDialogBuilder { 58 | private val dialog = WritingDialog() 59 | 60 | fun create(): WritingDialog { 61 | return dialog 62 | } 63 | } 64 | } -------------------------------------------------------------------------------- /app/src/main/java/team/bum/ui/dialog/adapter/StatsDialogAdapter.kt: -------------------------------------------------------------------------------- 1 | package team.bum.ui.dialog.adapter 2 | 3 | import android.content.Context 4 | import android.view.LayoutInflater 5 | import android.view.ViewGroup 6 | import androidx.core.content.ContextCompat 7 | import androidx.recyclerview.widget.RecyclerView 8 | import team.bum.R 9 | import team.bum.api.data.Stat 10 | import team.bum.databinding.ItemStatsBinding 11 | import team.bum.model.Category 12 | import team.bum.ui.main.archive.writing.ArchiveWritingFragment 13 | import team.bum.util.getColor 14 | import team.bum.util.setInvisible 15 | import team.bum.util.setVisible 16 | 17 | class StatsDialogAdapter : RecyclerView.Adapter() { 18 | 19 | private val statsInfo = mutableListOf() 20 | 21 | 22 | override fun onCreateViewHolder( 23 | parent: ViewGroup, 24 | viewType: Int 25 | ): StatsDialogViewHolder { 26 | val binding = ItemStatsBinding.inflate(LayoutInflater.from(parent.context), parent, false) 27 | return StatsDialogViewHolder(binding) 28 | } 29 | 30 | override fun onBindViewHolder(holder: StatsDialogViewHolder, position: Int) { 31 | holder.onBind(statsInfo[position], holder.itemView.context) 32 | } 33 | 34 | fun setItems(newItems: List) { 35 | statsInfo.clear() 36 | statsInfo.addAll(newItems) 37 | notifyDataSetChanged() 38 | } 39 | 40 | fun addItems(newItems: List) { 41 | statsInfo.addAll(newItems) 42 | notifyDataSetChanged() 43 | } 44 | 45 | override fun getItemCount(): Int = statsInfo.size 46 | 47 | class StatsDialogViewHolder( 48 | private val binding: ItemStatsBinding 49 | ) : RecyclerView.ViewHolder(binding.root) { 50 | fun onBind(statsInfo: Stat, context: Context) { 51 | binding.apply { 52 | if (statsInfo.percent == 0) { 53 | tvStatsCategory.text = "" 54 | tvStatsPercent.text = "" 55 | imageCircle.setInvisible() 56 | } else { 57 | tvStatsCategory.text = statsInfo.name 58 | tvStatsPercent.text = "${statsInfo.percent}%" 59 | imageCircle.setVisible() 60 | } 61 | Category.values().forEach { 62 | if (statsInfo.index == it.id) { 63 | tvStatsCategory.setTextColor(ContextCompat.getColor(context, it.textColor)) 64 | imageCircle.setColorFilter(ContextCompat.getColor(context, it.textColor)) 65 | } 66 | } 67 | } 68 | } 69 | } 70 | } 71 | 72 | -------------------------------------------------------------------------------- /app/src/main/java/team/bum/ui/dialog/data/StatsMonthInfo.kt: -------------------------------------------------------------------------------- 1 | package team.bum.ui.dialog.data 2 | 3 | data class StatsMonthInfo( 4 | val category: String, 5 | val percent: String 6 | ) 7 | -------------------------------------------------------------------------------- /app/src/main/java/team/bum/ui/dialog/data/StatsTotalInfo.kt: -------------------------------------------------------------------------------- 1 | package team.bum.ui.dialog.data 2 | 3 | data class StatsTotalInfo( 4 | val category: String, 5 | val percent: String 6 | ) 7 | -------------------------------------------------------------------------------- /app/src/main/java/team/bum/ui/main/archive/ArchiveFragment.kt: -------------------------------------------------------------------------------- 1 | package team.bum.ui.main.archive 2 | 3 | import android.os.Bundle 4 | import android.view.LayoutInflater 5 | import android.view.View 6 | import android.view.ViewGroup 7 | import androidx.activity.addCallback 8 | import com.google.android.material.tabs.TabLayoutMediator 9 | import team.bum.databinding.FragmentArchiveBinding 10 | import team.bum.ui.base.BaseFragment 11 | import team.bum.ui.main.MainActivity 12 | import team.bum.ui.main.archive.adapter.ArchivePagerAdapter 13 | 14 | class ArchiveFragment : BaseFragment() { 15 | 16 | override fun initBinding(inflater: LayoutInflater, container: ViewGroup?) = 17 | FragmentArchiveBinding.inflate(inflater, container, false) 18 | 19 | override fun onViewCreated(view: View, savedInstanceState: Bundle?) { 20 | setArchivePager() 21 | setBackButtonEvent() 22 | } 23 | 24 | private fun setArchivePager() { 25 | binding.vp.apply { 26 | adapter = ArchivePagerAdapter(this@ArchiveFragment) 27 | } 28 | TabLayoutMediator(binding.tabLayout, binding.vp) { tab, position -> 29 | when (position) { 30 | 0 -> { tab.text = "글"} 31 | 1 -> { tab.text = "리워드"} 32 | } 33 | }.attach() 34 | } 35 | 36 | private fun setBackButtonEvent() { 37 | requireActivity().onBackPressedDispatcher.addCallback { 38 | (activity as MainActivity).showFinishToast() 39 | } 40 | } 41 | } -------------------------------------------------------------------------------- /app/src/main/java/team/bum/ui/main/archive/adapter/ArchiveBinAdapter.kt: -------------------------------------------------------------------------------- 1 | package team.bum.ui.main.archive.adapter 2 | 3 | import android.content.Context 4 | import android.view.LayoutInflater 5 | import android.view.ViewGroup 6 | import androidx.core.content.ContextCompat 7 | import androidx.recyclerview.widget.RecyclerView 8 | import team.bum.model.Category 9 | import team.bum.api.data.Trashcan 10 | import team.bum.databinding.ItemCardBinBinding 11 | 12 | class ArchiveBinAdapter: RecyclerView.Adapter() { 13 | 14 | private val archiveBinInfo = mutableListOf() 15 | 16 | override fun onCreateViewHolder( 17 | parent: ViewGroup, 18 | viewType: Int 19 | ): ArchiveBinViewHolder { 20 | val binding = ItemCardBinBinding.inflate(LayoutInflater.from(parent.context), parent, false) 21 | return ArchiveBinViewHolder(binding) 22 | } 23 | 24 | override fun onBindViewHolder(holder: ArchiveBinViewHolder, position: Int) { 25 | holder.onBind(archiveBinInfo[position], holder.itemView.context) 26 | } 27 | 28 | override fun getItemCount(): Int = archiveBinInfo.size 29 | 30 | fun setItems(newItems: List) { 31 | archiveBinInfo.clear() 32 | archiveBinInfo.addAll(newItems) 33 | notifyDataSetChanged() 34 | } 35 | 36 | class ArchiveBinViewHolder( 37 | private val binding: ItemCardBinBinding 38 | ) : RecyclerView.ViewHolder(binding.root) { 39 | fun onBind(archiveInfo: Trashcan, context: Context) { 40 | binding.apply { 41 | tvBinCategory.text = archiveInfo.category.name 42 | tvBinTitle.text = archiveInfo.title 43 | tvBinContent.text = archiveInfo.text 44 | tvBinDday.text = archiveInfo.d_day.toString() 45 | Category.values().forEach { 46 | if (archiveInfo.category.index == it.id) 47 | tvBinCategory.setTextColor(ContextCompat.getColor(context, it.textColor)) 48 | } 49 | } 50 | } 51 | } 52 | } 53 | 54 | -------------------------------------------------------------------------------- /app/src/main/java/team/bum/ui/main/archive/adapter/ArchivePagerAdapter.kt: -------------------------------------------------------------------------------- 1 | package team.bum.ui.main.archive.adapter 2 | 3 | import androidx.fragment.app.Fragment 4 | import androidx.viewpager2.adapter.FragmentStateAdapter 5 | import team.bum.ui.main.archive.bin.ArchiveBinFragment 6 | import team.bum.ui.main.archive.reward.ArchiveRewardFragment 7 | import team.bum.ui.main.archive.writing.ArchiveWritingFragment 8 | 9 | class ArchivePagerAdapter(fragment: Fragment) : FragmentStateAdapter(fragment) { 10 | override fun getItemCount(): Int = 2 11 | 12 | override fun createFragment(position: Int): Fragment { 13 | return when (position) { 14 | 0 -> ArchiveWritingFragment() 15 | 1 -> ArchiveRewardFragment() 16 | else -> throw IllegalStateException("Unexpected position: $position") 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /app/src/main/java/team/bum/ui/main/archive/adapter/ArchiveRewardAdapter.kt: -------------------------------------------------------------------------------- 1 | package team.bum.ui.main.archive.adapter 2 | 3 | import android.view.LayoutInflater 4 | import android.view.ViewGroup 5 | import androidx.core.content.ContextCompat 6 | import androidx.recyclerview.widget.RecyclerView 7 | import team.bum.R 8 | import team.bum.databinding.ItemCardRewardBinding 9 | import team.bum.model.Category 10 | import team.bum.ui.main.archive.data.RewardInfo 11 | import team.bum.util.dateFormat 12 | import java.time.LocalDateTime 13 | 14 | class ArchiveRewardAdapter : RecyclerView.Adapter() { 15 | 16 | private val rewardInfo = mutableListOf() 17 | private lateinit var itemClickListener: ItemClickListener 18 | 19 | override fun onCreateViewHolder( 20 | parent: ViewGroup, 21 | viewType: Int 22 | ): ArchiveRewardViewHolder { 23 | val binding = 24 | ItemCardRewardBinding.inflate(LayoutInflater.from(parent.context), parent, false) 25 | return ArchiveRewardViewHolder(binding) 26 | } 27 | 28 | inner class ArchiveRewardViewHolder( 29 | private val binding: ItemCardRewardBinding 30 | ) : RecyclerView.ViewHolder(binding.root) { 31 | fun onBind(reward: RewardInfo, position: Int) { 32 | binding.apply { 33 | val createdTime = LocalDateTime.parse(reward.created_date.split(".")[0]) 34 | tvRewardDate.text = createdTime.dateFormat 35 | tvRewardContent.text = reward.sentence 36 | tvRewardAuthor.text = reward.author 37 | Category.values().forEach { 38 | if (reward.index == it.id) 39 | viewCardReward.setBackgroundResource(it.background) 40 | } 41 | itemView.setOnClickListener { 42 | itemClickListener.onClick(rewardInfo[position]) 43 | } 44 | } 45 | } 46 | } 47 | 48 | override fun getItemCount(): Int = rewardInfo.size 49 | 50 | override fun onBindViewHolder(holder: ArchiveRewardViewHolder, position: Int) { 51 | holder.onBind(rewardInfo[position], position) 52 | } 53 | 54 | fun setItems(newItems: List) { 55 | rewardInfo.clear() 56 | rewardInfo.addAll(newItems) 57 | notifyDataSetChanged() 58 | } 59 | 60 | interface ItemClickListener { 61 | fun onClick(rewardInfo: RewardInfo) 62 | } 63 | 64 | fun setItemClickListener(itemClickListener: ItemClickListener) { 65 | this.itemClickListener = itemClickListener 66 | } 67 | } -------------------------------------------------------------------------------- /app/src/main/java/team/bum/ui/main/archive/bin/ArchiveBinDeleteFragment.kt: -------------------------------------------------------------------------------- 1 | package team.bum.ui.main.archive.bin 2 | 3 | import android.os.Bundle 4 | import android.util.Log 5 | import android.view.LayoutInflater 6 | import android.view.View 7 | import android.view.ViewGroup 8 | import android.widget.NumberPicker 9 | import com.google.android.material.bottomsheet.BottomSheetDialogFragment 10 | import team.bum.databinding.FragmentDialogSheetBinding 11 | 12 | class ArchiveBinDeleteFragment : BottomSheetDialogFragment() { 13 | private lateinit var binding: FragmentDialogSheetBinding 14 | 15 | override fun onCreateView( 16 | inflater: LayoutInflater, 17 | container: ViewGroup?, 18 | savedInstanceState: Bundle?, 19 | ): View? { 20 | binding = FragmentDialogSheetBinding.inflate(inflater, container, false) 21 | return binding.root 22 | } 23 | 24 | override fun onViewCreated(view: View, savedInstanceState: Bundle?) { 25 | super.onViewCreated(view, savedInstanceState) 26 | 27 | val mValues = arrayOf("즉시 삭제", "1일", "2일", "3일", "4일", "5일", "6일", "7일") 28 | setNumberPicker(binding.numberpicker, mValues) 29 | binding.btnCheck.setOnClickListener { 30 | Log.d("test", getEditTextInNumberPicker()) 31 | dismiss() 32 | } 33 | } 34 | 35 | private fun setNumberPicker(numberPicker: NumberPicker, numbers: Array) { 36 | numberPicker.maxValue = numbers.size - 1 37 | numberPicker.minValue = 0 38 | numberPicker.wrapSelectorWheel = false 39 | numberPicker.displayedValues = numbers 40 | } 41 | 42 | private fun getEditTextInNumberPicker(): String { 43 | when (binding.numberpicker.value) { 44 | 0 -> { 45 | return "즉시 삭제" 46 | } 47 | 1 -> { 48 | return "1일" 49 | } 50 | 2 -> { 51 | return "2일" 52 | } 53 | 3 -> { 54 | return "3일" 55 | } 56 | 4 -> { 57 | return "4일" 58 | } 59 | 5 -> { 60 | return "5일" 61 | } 62 | 6 -> { 63 | return "6일" 64 | } 65 | else -> { 66 | return "7일" 67 | } 68 | } 69 | } 70 | } -------------------------------------------------------------------------------- /app/src/main/java/team/bum/ui/main/archive/bin/ArchiveBinFragment.kt: -------------------------------------------------------------------------------- 1 | package team.bum.ui.main.archive.bin 2 | 3 | import android.os.Bundle 4 | import android.view.LayoutInflater 5 | import android.view.View 6 | import android.view.ViewGroup 7 | import androidx.recyclerview.widget.LinearLayoutManager 8 | import retrofit2.Call 9 | import team.bum.api.data.ResponseTrashCans 10 | import team.bum.api.ServiceCreator 11 | import team.bum.databinding.FragmentArchiveBinBinding 12 | import team.bum.ui.base.BaseFragment 13 | import team.bum.ui.main.archive.adapter.ArchiveBinAdapter 14 | import team.bum.util.MyApplication 15 | import team.bum.util.enqueueUtil 16 | 17 | class ArchiveBinFragment : BaseFragment() { 18 | private val archiveBinAdapter = ArchiveBinAdapter() 19 | private val sharedPreferences = MyApplication.mySharedPreferences 20 | 21 | 22 | override fun initBinding( 23 | inflater: LayoutInflater, 24 | container: ViewGroup? 25 | ) = FragmentArchiveBinBinding.inflate(inflater, container, false) 26 | 27 | override fun onViewCreated(view: View, savedInstanceState: Bundle?) { 28 | super.onViewCreated(view, savedInstanceState) 29 | 30 | binding.recyclerBinList.layoutManager = LinearLayoutManager(activity) 31 | binding.recyclerBinList.adapter = archiveBinAdapter 32 | 33 | bottomSheetDeleteEvent() 34 | addArchiveRewardInfo() 35 | } 36 | 37 | private fun bottomSheetDeleteEvent() { 38 | binding.chipSetting.setOnClickListener { 39 | val deleteFragment: ArchiveBinDeleteFragment = ArchiveBinDeleteFragment() 40 | deleteFragment.show(requireActivity().supportFragmentManager, deleteFragment.tag) 41 | } 42 | } 43 | 44 | private fun addArchiveRewardInfo() { 45 | val call: Call = ServiceCreator.bumService.getTrashCans( 46 | sharedPreferences.getValue("token", "")) 47 | call.enqueueUtil( 48 | onSuccess = { 49 | archiveBinAdapter.setItems(it.data.trashResult) 50 | } 51 | ) 52 | } 53 | } -------------------------------------------------------------------------------- /app/src/main/java/team/bum/ui/main/archive/data/ArchiveBinInfo.kt: -------------------------------------------------------------------------------- 1 | package team.bum.ui.main.archive.data 2 | 3 | data class ArchiveBinInfo( 4 | val binCategory : String, 5 | val binTitle : String, 6 | val binContent : String, 7 | val binDday : String 8 | ) 9 | -------------------------------------------------------------------------------- /app/src/main/java/team/bum/ui/main/archive/data/ArchiveWritingFilterInfo.kt: -------------------------------------------------------------------------------- 1 | package team.bum.ui.main.archive.data 2 | 3 | data class ArchiveWritingFilterInfo( 4 | val startDate: String, 5 | val endDate: String, 6 | val categoryName: String, 7 | ) 8 | -------------------------------------------------------------------------------- /app/src/main/java/team/bum/ui/main/archive/data/ArchiveWritingInfo.kt: -------------------------------------------------------------------------------- 1 | package team.bum.ui.main.archive.data 2 | 3 | data class ArchiveWritingInfo( 4 | val category: String, 5 | val title: String, 6 | val content : String 7 | ) 8 | -------------------------------------------------------------------------------- /app/src/main/java/team/bum/ui/main/archive/data/RewardInfo.kt: -------------------------------------------------------------------------------- 1 | package team.bum.ui.main.archive.data 2 | 3 | data class RewardInfo( 4 | val _id: String, 5 | val author: String, 6 | val context: String, 7 | val created_date: String, 8 | val index: Int, 9 | val sentence: String 10 | ) -------------------------------------------------------------------------------- /app/src/main/java/team/bum/ui/main/archive/data/WritingInfo.kt: -------------------------------------------------------------------------------- 1 | package team.bum.ui.main.archive.data 2 | 3 | data class WritingInfo( 4 | val _id: String, 5 | val category: Category, 6 | val created_date: String, 7 | val text: String, 8 | val title: String, 9 | val user_id: String 10 | ) { 11 | data class Category( 12 | val _id: String, 13 | val count: Int, 14 | val created_date: String, 15 | val img: String, 16 | val index: Int, 17 | val name: String 18 | ) 19 | } -------------------------------------------------------------------------------- /app/src/main/java/team/bum/ui/main/archive/reward/ArchiveRewardFragment.kt: -------------------------------------------------------------------------------- 1 | package team.bum.ui.main.archive.reward 2 | 3 | import android.os.Bundle 4 | import android.view.LayoutInflater 5 | import android.view.View 6 | import android.view.ViewGroup 7 | import androidx.recyclerview.widget.GridLayoutManager 8 | import retrofit2.Call 9 | import team.bum.api.data.ResponseRewards 10 | import team.bum.api.ServiceCreator 11 | import team.bum.databinding.FragmentArchiveRewardBinding 12 | import team.bum.ui.base.BaseFragment 13 | import team.bum.ui.dialog.RewardDialog 14 | import team.bum.ui.main.archive.adapter.ArchiveRewardAdapter 15 | import team.bum.ui.main.archive.data.RewardInfo 16 | import team.bum.util.MyApplication 17 | import team.bum.util.dateFormat 18 | import team.bum.util.enqueueUtil 19 | import java.time.LocalDateTime 20 | 21 | class ArchiveRewardFragment : BaseFragment() { 22 | 23 | private val archiveRewardAdapter = ArchiveRewardAdapter() 24 | private val sharedPreferences = MyApplication.mySharedPreferences 25 | 26 | override fun initBinding(inflater: LayoutInflater, container: ViewGroup?) = 27 | FragmentArchiveRewardBinding.inflate(inflater, container, false) 28 | 29 | override fun onViewCreated(view: View, savedInstanceState: Bundle?) { 30 | binding.recyclerRewardList.layoutManager = GridLayoutManager(activity, 2) 31 | binding.recyclerRewardList.adapter = archiveRewardAdapter 32 | 33 | getArchiveRewardInfo() 34 | configureClickEvent() 35 | } 36 | 37 | private fun configureClickEvent() { 38 | archiveRewardAdapter.setItemClickListener(object : ArchiveRewardAdapter.ItemClickListener { 39 | override fun onClick(rewardInfo: RewardInfo) { 40 | val createdTime = LocalDateTime.parse(rewardInfo.created_date.split(".")[0]) 41 | date = createdTime.dateFormat 42 | sentence = rewardInfo.sentence 43 | author = rewardInfo.author 44 | content = rewardInfo.context 45 | bgColorIndex = rewardInfo.index 46 | showDialog() 47 | } 48 | }) 49 | } 50 | 51 | private fun showDialog() { 52 | val dialog = RewardDialog.CustomDialogBuilder().create() 53 | dialog.isCancelable = false 54 | dialog.show(parentFragmentManager, "dialog") 55 | } 56 | 57 | private fun getArchiveRewardInfo() { 58 | val call: Call = ServiceCreator.bumService.getReward( 59 | sharedPreferences.getValue("token", "") 60 | ) 61 | call.enqueueUtil( 62 | onSuccess = { 63 | archiveRewardAdapter.setItems(it.data.rewards) 64 | } 65 | ) 66 | } 67 | 68 | companion object { 69 | var date = "" 70 | var sentence = "" 71 | var author = "" 72 | var content = "" 73 | var bgColorIndex = -1 74 | } 75 | } -------------------------------------------------------------------------------- /app/src/main/java/team/bum/ui/main/collection/adapter/CollectionAdapter.kt: -------------------------------------------------------------------------------- 1 | package team.bum.ui.main.collection.adapter 2 | 3 | import android.content.Context 4 | import android.view.LayoutInflater 5 | import android.view.ViewGroup 6 | import androidx.core.content.ContextCompat 7 | import androidx.recyclerview.widget.RecyclerView 8 | import com.bumptech.glide.Glide 9 | import team.bum.R 10 | import team.bum.api.data.Category 11 | import team.bum.databinding.ItemCollectionBinding 12 | import team.bum.ui.main.archive.writing.ArchiveWritingFragment 13 | 14 | class CollectionAdapter : RecyclerView.Adapter() { 15 | 16 | private val categoryInfo = mutableListOf() 17 | private lateinit var itemClickListener: ItemClickListener 18 | 19 | override fun onCreateViewHolder( 20 | parent: ViewGroup, 21 | viewType: Int 22 | ): CollectionViewHolder { 23 | val binding = 24 | ItemCollectionBinding.inflate(LayoutInflater.from(parent.context), parent, false) 25 | return CollectionViewHolder(binding) 26 | } 27 | 28 | inner class CollectionViewHolder( 29 | private val binding: ItemCollectionBinding 30 | ) : RecyclerView.ViewHolder(binding.root) { 31 | fun onBind(categoryInfo: Category, context: Context, position: Int) { 32 | Glide.with(context).load(categoryInfo.img).into(binding.imageCollection) 33 | binding.apply { 34 | tvCategory.text = categoryInfo.name 35 | team.bum.model.Category.values().forEach { 36 | if (categoryInfo.index == it.id) 37 | tvCategory.setTextColor(ContextCompat.getColor(context, it.textColor)) 38 | } 39 | itemView.setOnClickListener { 40 | itemClickListener.onClick(position, categoryInfo.name, categoryInfo.count) 41 | } 42 | } 43 | } 44 | } 45 | 46 | override fun onBindViewHolder(holder: CollectionViewHolder, position: Int) { 47 | holder.onBind(categoryInfo[position], holder.itemView.context, position) 48 | } 49 | 50 | override fun getItemCount(): Int = categoryInfo.size 51 | 52 | fun setItems(newItems: List) { 53 | categoryInfo.clear() 54 | categoryInfo.addAll(newItems) 55 | notifyDataSetChanged() 56 | } 57 | 58 | fun addItems(newItems: List) { 59 | categoryInfo.addAll(newItems) 60 | notifyDataSetChanged() 61 | } 62 | 63 | interface ItemClickListener { 64 | fun onClick(position: Int, categoryName: String, categoryCount: Int) 65 | } 66 | 67 | fun setItemClickListener(itemClickListener: ItemClickListener) { 68 | this.itemClickListener = itemClickListener 69 | } 70 | } -------------------------------------------------------------------------------- /app/src/main/java/team/bum/ui/main/collection/data/CategoryInfo.kt: -------------------------------------------------------------------------------- 1 | package team.bum.ui.main.collection.data 2 | 3 | data class CategoryInfo( 4 | val _id: String, 5 | val created_date: String, 6 | val img: String, 7 | val name: String, 8 | val count: Int, 9 | val index: Int 10 | ) -------------------------------------------------------------------------------- /app/src/main/java/team/bum/ui/main/collection/data/CollectionListInfo.kt: -------------------------------------------------------------------------------- 1 | package team.bum.ui.main.collection.data 2 | 3 | data class CollectionListInfo( 4 | val title: String, 5 | val context: String 6 | ) -------------------------------------------------------------------------------- /app/src/main/java/team/bum/ui/main/home/HomeFragment.kt: -------------------------------------------------------------------------------- 1 | package team.bum.ui.main.home 2 | 3 | import android.app.Activity 4 | import android.os.Bundle 5 | import android.view.LayoutInflater 6 | import android.view.View 7 | import android.view.ViewGroup 8 | import androidx.activity.addCallback 9 | import team.bum.R 10 | import team.bum.databinding.FragmentHomeBinding 11 | import team.bum.ui.base.BaseFragment 12 | import team.bum.ui.main.MainActivity 13 | import team.bum.util.* 14 | import java.time.LocalDateTime 15 | 16 | class HomeFragment : BaseFragment() { 17 | 18 | override fun initBinding(inflater: LayoutInflater, container: ViewGroup?) = 19 | FragmentHomeBinding.inflate(inflater, container, false) 20 | 21 | override fun onViewCreated(view: View, savedInstanceState: Bundle?) { 22 | initHome() 23 | configureHomeNavigation() 24 | } 25 | 26 | private fun initHome() { 27 | val dateString = LocalDateTime.now().dateString 28 | binding.date.text = dateString 29 | StatusBarUtil.changeColor(context as Activity, getColor(R.color.main_statusbar)) 30 | } 31 | 32 | private fun configureHomeNavigation() { 33 | binding.root.setOnClickListener { 34 | navigateToSelectPaper() 35 | } 36 | requireActivity().onBackPressedDispatcher.addCallback { 37 | (activity as MainActivity).showFinishToast() 38 | } 39 | } 40 | 41 | private fun navigateToSelectPaper() { 42 | val selectView = 43 | listOf(binding.paper1, binding.paper2, binding.paper3, binding.paper4) 44 | binding.title.text = getString(R.string.home_select_title) 45 | binding.background.setInvisible() 46 | binding.arrow.setInvisible() 47 | binding.homeLottie.setVisible() 48 | selectView.forEach { it.setVisible() } 49 | 50 | configureSelectedPaperId() 51 | } 52 | 53 | private fun configureSelectedPaperId() { 54 | binding.paper1.setOnClickListener { 55 | (activity as MainActivity).navigateHomeToWriting(1) 56 | } 57 | binding.paper2.setOnClickListener { 58 | (activity as MainActivity).navigateHomeToWriting(2) 59 | } 60 | binding.paper3.setOnClickListener { 61 | (activity as MainActivity).navigateHomeToWriting(3) 62 | } 63 | binding.paper4.setOnClickListener { 64 | (activity as MainActivity).navigateHomeToWriting(4) 65 | } 66 | } 67 | } -------------------------------------------------------------------------------- /app/src/main/java/team/bum/ui/main/push/PushActivity.kt: -------------------------------------------------------------------------------- 1 | package team.bum.ui.main.push 2 | 3 | import android.os.Bundle 4 | import androidx.appcompat.app.AppCompatActivity 5 | import team.bum.databinding.ActivityPushBinding 6 | 7 | class PushActivity: AppCompatActivity() { 8 | private lateinit var binding: ActivityPushBinding 9 | 10 | override fun onCreate(savedInstanceState: Bundle?) { 11 | super.onCreate(savedInstanceState) 12 | binding = ActivityPushBinding.inflate(layoutInflater) 13 | setContentView(binding.root) 14 | 15 | initDialog() 16 | } 17 | 18 | private fun initDialog() { 19 | val dialog = PushDialog.CustomDialogBuilder().create() 20 | dialog.isCancelable = false 21 | dialog.show(supportFragmentManager, "dialog") 22 | } 23 | } -------------------------------------------------------------------------------- /app/src/main/java/team/bum/ui/main/push/PushDialog.kt: -------------------------------------------------------------------------------- 1 | package team.bum.ui.main.push 2 | 3 | import android.content.Intent 4 | import android.content.res.Resources 5 | import android.os.Bundle 6 | import android.view.LayoutInflater 7 | import android.view.View 8 | import android.view.ViewGroup 9 | import android.view.WindowManager 10 | import team.bum.R 11 | import team.bum.databinding.DialogPushBinding 12 | import team.bum.ui.base.BaseDialogFragment 13 | import team.bum.ui.main.MainActivity 14 | 15 | class PushDialog : BaseDialogFragment() { 16 | 17 | override fun initBinding( 18 | inflater: LayoutInflater, 19 | container: ViewGroup? 20 | ) = DialogPushBinding.inflate(inflater, container, false) 21 | 22 | override fun onViewCreated(view: View, savedInstanceState: Bundle?) { 23 | super.onViewCreated(view, savedInstanceState) 24 | setDialogBackground() 25 | buttonClickEvent() 26 | } 27 | 28 | private fun buttonClickEvent() { 29 | binding.btn.setOnClickListener { 30 | val dialog = PushGiftDialog.CustomDialogBuilder().create() 31 | dialog.isCancelable = false 32 | dialog.show(requireActivity().supportFragmentManager, "dialog") 33 | dismiss() 34 | } 35 | 36 | binding.btnCancel.setOnClickListener { 37 | val intent = Intent(requireContext(), MainActivity::class.java) 38 | startActivity(intent) 39 | } 40 | } 41 | 42 | private fun setDialogBackground() { 43 | val deviceWidth = Resources.getSystem().displayMetrics.widthPixels 44 | val dialogHorizontalMargin = (Resources.getSystem().displayMetrics.density * 16) * 2 45 | dialog!!.window!!.apply { 46 | setLayout( 47 | (deviceWidth - dialogHorizontalMargin).toInt(), 48 | WindowManager.LayoutParams.WRAP_CONTENT 49 | ) 50 | setBackgroundDrawableResource(R.drawable.bg_dialog_common) 51 | } 52 | } 53 | 54 | class CustomDialogBuilder { 55 | private val dialog = PushDialog() 56 | 57 | fun create(): PushDialog { 58 | return dialog 59 | } 60 | } 61 | } -------------------------------------------------------------------------------- /app/src/main/java/team/bum/ui/main/push/PushGiftDialog.kt: -------------------------------------------------------------------------------- 1 | package team.bum.ui.main.push 2 | 3 | import android.content.Intent 4 | import android.content.res.Resources 5 | import android.os.Bundle 6 | import android.view.LayoutInflater 7 | import android.view.View 8 | import android.view.ViewGroup 9 | import android.view.WindowManager 10 | import retrofit2.Call 11 | import team.bum.R 12 | import team.bum.api.ServiceCreator 13 | import team.bum.api.data.ResponseGift 14 | import team.bum.databinding.DialogPushGiftBinding 15 | import team.bum.ui.base.BaseDialogFragment 16 | import team.bum.ui.main.MainActivity 17 | import team.bum.util.MyApplication 18 | import team.bum.util.enqueueUtil 19 | 20 | class PushGiftDialog: BaseDialogFragment() { 21 | private val sharedPreferences = MyApplication.mySharedPreferences 22 | 23 | override fun initBinding( 24 | inflater: LayoutInflater, 25 | container: ViewGroup? 26 | ) = DialogPushGiftBinding.inflate(inflater, container, false) 27 | 28 | override fun onViewCreated(view: View, savedInstanceState: Bundle?) { 29 | super.onViewCreated(view, savedInstanceState) 30 | 31 | buttonClickEvent() 32 | getPushGift() 33 | setDialogBackground() 34 | } 35 | 36 | private fun getPushGift() { 37 | val call: Call = ServiceCreator.bumService.getGift( 38 | sharedPreferences.getValue("token", "") 39 | ) 40 | 41 | call.enqueueUtil( 42 | onSuccess = { 43 | binding.body.text = it.data.present.sentence 44 | } 45 | ) 46 | } 47 | 48 | private fun buttonClickEvent() { 49 | binding.close.setOnClickListener { 50 | val intent = Intent(requireContext(), MainActivity::class.java) 51 | startActivity(intent) 52 | } 53 | } 54 | 55 | private fun setDialogBackground() { 56 | val deviceWidth = Resources.getSystem().displayMetrics.widthPixels 57 | val dialogHorizontalMargin = (Resources.getSystem().displayMetrics.density * 16) * 2 58 | dialog!!.window!!.apply { 59 | setLayout( 60 | (deviceWidth - dialogHorizontalMargin).toInt(), 61 | WindowManager.LayoutParams.WRAP_CONTENT 62 | ) 63 | setBackgroundDrawableResource(R.drawable.bg_dialog_common) 64 | } 65 | } 66 | 67 | class CustomDialogBuilder { 68 | private val dialog = PushGiftDialog() 69 | 70 | fun create(): PushGiftDialog { 71 | return dialog 72 | } 73 | } 74 | } -------------------------------------------------------------------------------- /app/src/main/java/team/bum/ui/main/setting/SettingFragment.kt: -------------------------------------------------------------------------------- 1 | package team.bum.ui.main.setting 2 | 3 | import android.os.Bundle 4 | import android.view.LayoutInflater 5 | import android.view.View 6 | import android.view.ViewGroup 7 | import androidx.activity.addCallback 8 | import retrofit2.Call 9 | import team.bum.api.ServiceCreator 10 | import team.bum.api.data.RequestUser 11 | import team.bum.api.data.ResponseUser 12 | import team.bum.databinding.FragmentSettingBinding 13 | import team.bum.ui.base.BaseFragment 14 | import team.bum.ui.main.MainActivity 15 | import team.bum.util.* 16 | 17 | class SettingFragment : BaseFragment() { 18 | 19 | override fun initBinding(inflater: LayoutInflater, container: ViewGroup?) = 20 | FragmentSettingBinding.inflate(inflater, container, false) 21 | 22 | override fun onViewCreated(view: View, savedInstanceState: Bundle?) { 23 | configureSettingBinNavigation() 24 | } 25 | 26 | private fun configureSettingBinNavigation() { 27 | binding.layoutTrashManagement.setOnClickListener { 28 | (activity as MainActivity).navigateSettingToManagement() 29 | } 30 | requireActivity().onBackPressedDispatcher.addCallback { 31 | (activity as MainActivity).showFinishToast() 32 | } 33 | } 34 | } -------------------------------------------------------------------------------- /app/src/main/java/team/bum/ui/main/setting/SheetFragment.kt: -------------------------------------------------------------------------------- 1 | package team.bum.ui.main.setting 2 | 3 | import android.os.Bundle 4 | import android.view.LayoutInflater 5 | import android.view.View 6 | import android.view.ViewGroup 7 | import android.widget.NumberPicker 8 | import com.google.android.material.bottomsheet.BottomSheetDialogFragment 9 | import team.bum.databinding.FragmentDialogSheetBinding 10 | 11 | class SheetFragment : BottomSheetDialogFragment() { 12 | 13 | private lateinit var binding: FragmentDialogSheetBinding 14 | private lateinit var clickListener: ClickListener 15 | 16 | override fun onCreateView( 17 | inflater: LayoutInflater, 18 | container: ViewGroup?, 19 | savedInstanceState: Bundle?, 20 | ): View { 21 | binding = FragmentDialogSheetBinding.inflate(inflater, container, false) 22 | return binding.root 23 | } 24 | 25 | override fun onViewCreated(view: View, savedInstanceState: Bundle?) { 26 | val mValues = arrayOf("즉시 삭제", "1일", "2일", "3일", "4일", "5일", "6일", "7일") 27 | setNumberPicker(binding.numberpicker, mValues) 28 | configureButton() 29 | } 30 | 31 | private fun setNumberPicker(numberPicker: NumberPicker, numbers: Array) { 32 | numberPicker.maxValue = numbers.size - 1 33 | numberPicker.minValue = 0 34 | numberPicker.wrapSelectorWheel = false 35 | numberPicker.displayedValues = numbers 36 | } 37 | 38 | private fun configureButton() { 39 | binding.btnCheck.setOnClickListener { 40 | val date = getEditTextInNumberPicker() 41 | clickListener.onClickYes(date) 42 | dismiss() 43 | } 44 | } 45 | 46 | private fun getEditTextInNumberPicker(): String { 47 | when (binding.numberpicker.value) { 48 | 0 -> { 49 | return "즉시 삭제" 50 | } 51 | 1 -> { 52 | return "1일" 53 | } 54 | 2 -> { 55 | return "2일" 56 | } 57 | 3 -> { 58 | return "3일" 59 | } 60 | 4 -> { 61 | return "4일" 62 | } 63 | 5 -> { 64 | return "5일" 65 | } 66 | 6 -> { 67 | return "6일" 68 | } 69 | else -> { 70 | return "7일" 71 | } 72 | } 73 | } 74 | 75 | fun setClickYesListener(clickListener: ClickListener) { 76 | this.clickListener = clickListener 77 | } 78 | 79 | interface ClickListener { 80 | fun onClickYes(date: String) 81 | } 82 | } -------------------------------------------------------------------------------- /app/src/main/java/team/bum/ui/main/setting/adapter/SettingBinListAdapter.kt: -------------------------------------------------------------------------------- 1 | package team.bum.ui.main.setting.adapter 2 | 3 | import android.view.LayoutInflater 4 | import android.view.ViewGroup 5 | import androidx.recyclerview.widget.RecyclerView 6 | import team.bum.api.data.Category 7 | import team.bum.databinding.ItemCategoryBinding 8 | 9 | class SettingBinListAdapter : RecyclerView.Adapter() { 10 | 11 | private val categoryInfo = mutableListOf() 12 | private lateinit var clickListener: CliCkListener 13 | 14 | override fun onCreateViewHolder( 15 | parent: ViewGroup, 16 | viewType: Int 17 | ): SettingBinListViewHolder { 18 | val binding = 19 | ItemCategoryBinding.inflate(LayoutInflater.from(parent.context), parent, false) 20 | return SettingBinListViewHolder(binding) 21 | } 22 | 23 | override fun onBindViewHolder(holder: SettingBinListViewHolder, position: Int) { 24 | holder.onBind(categoryInfo[position], position) 25 | } 26 | 27 | fun setItems(newItems: List) { 28 | categoryInfo.clear() 29 | categoryInfo.addAll(newItems) 30 | notifyDataSetChanged() 31 | } 32 | 33 | override fun getItemCount(): Int = categoryInfo.size 34 | 35 | inner class SettingBinListViewHolder( 36 | private val binding: ItemCategoryBinding 37 | ) : RecyclerView.ViewHolder(binding.root) { 38 | fun onBind(category: Category, position: Int) { 39 | binding.apply { 40 | tvCategory.text = category.name 41 | tvCategory.setOnClickListener { 42 | clickListener.onClickText(categoryInfo[position]) 43 | } 44 | imageDelete.setOnClickListener { 45 | clickListener.onClickDelete(categoryInfo[position]) 46 | } 47 | } 48 | } 49 | } 50 | 51 | interface CliCkListener { 52 | fun onClickDelete(categoryInfo: Category) 53 | fun onClickText(categoryInfo: Category) 54 | } 55 | 56 | fun setClickListener(clickListener: CliCkListener) { 57 | this.clickListener = clickListener 58 | } 59 | } 60 | 61 | -------------------------------------------------------------------------------- /app/src/main/java/team/bum/ui/main/setting/data/BinListInfo.kt: -------------------------------------------------------------------------------- 1 | package team.bum.ui.main.setting.data 2 | 3 | data class BinListInfo( 4 | val category: String 5 | ) 6 | -------------------------------------------------------------------------------- /app/src/main/java/team/bum/ui/splash/SplashActivity.kt: -------------------------------------------------------------------------------- 1 | package team.bum.ui.splash 2 | 3 | import android.animation.Animator 4 | import android.animation.AnimatorListenerAdapter 5 | import android.content.Intent 6 | import androidx.appcompat.app.AppCompatActivity 7 | import android.os.Bundle 8 | import android.util.Log 9 | import com.google.android.gms.tasks.OnCompleteListener 10 | import com.google.firebase.messaging.FirebaseMessaging 11 | import retrofit2.Call 12 | import team.bum.api.ServiceCreator 13 | import team.bum.api.data.* 14 | import team.bum.databinding.ActivitySplashBinding 15 | import team.bum.ui.main.MainActivity 16 | import team.bum.util.MyApplication 17 | import team.bum.util.enqueueUtil 18 | import java.util.* 19 | 20 | class SplashActivity : AppCompatActivity() { 21 | 22 | private lateinit var binding: ActivitySplashBinding 23 | private val sharedPreferences = MyApplication.mySharedPreferences 24 | 25 | override fun onCreate(savedInstanceState: Bundle?) { 26 | super.onCreate(savedInstanceState) 27 | binding = ActivitySplashBinding.inflate(layoutInflater) 28 | setContentView(binding.root) 29 | 30 | setLottieListener() 31 | getUserInfo() 32 | } 33 | 34 | private fun setLottieListener() { 35 | binding.lottie.addAnimatorListener(object : AnimatorListenerAdapter() { 36 | override fun onAnimationEnd(animation: Animator?) { 37 | val uuid = sharedPreferences.getValue("uuid", "") 38 | if (uuid == "") { 39 | sharedPreferences.setValue("uuid", UUID.randomUUID().toString()) 40 | signIn(UUID.randomUUID().toString()) 41 | } else { 42 | Log.d("tag", "UUID : $uuid") 43 | signIn(uuid) 44 | } 45 | } 46 | }) 47 | } 48 | 49 | private fun signIn(uuid: String) { 50 | val body = RequestSignIn(uuid) 51 | val call: Call = ServiceCreator.bumService.getToken(body) 52 | call.enqueueUtil( 53 | onSuccess = { 54 | Log.d("tag", "token : ${it.data.token}") 55 | sharedPreferences.setValue("token", it.data.token) 56 | navigateMain() 57 | finish() 58 | }) 59 | } 60 | 61 | private fun getUserInfo() { 62 | val call: Call = ServiceCreator.bumService.getUser( 63 | sharedPreferences.getValue("token", "") 64 | ) 65 | call.enqueueUtil( 66 | onSuccess = { 67 | sharedPreferences.apply { 68 | setValue("period", it.data.user.delPeriod.toString()) 69 | setBooleanValue("isPush", it.data.user.isPush) 70 | } 71 | }) 72 | } 73 | 74 | private fun navigateMain() = startActivity(Intent(this, MainActivity::class.java)) 75 | } -------------------------------------------------------------------------------- /app/src/main/java/team/bum/util/ActivityExtension.kt: -------------------------------------------------------------------------------- 1 | package team.bum.util 2 | 3 | import androidx.appcompat.app.AppCompatActivity 4 | import androidx.fragment.app.Fragment 5 | import androidx.fragment.app.FragmentContainerView 6 | import androidx.fragment.app.FragmentManager 7 | import androidx.fragment.app.commit 8 | import team.bum.R 9 | 10 | fun AppCompatActivity.replaceFragment( 11 | containerView: FragmentContainerView, 12 | clazz: Class, 13 | addToBackStack: Boolean = false, 14 | withAnim: Boolean = true, 15 | color: Int = getColor(R.color.white) 16 | ) { 17 | val tagName = clazz.simpleName 18 | val exists = supportFragmentManager.findFragmentByTag(tagName) 19 | 20 | supportFragmentManager.commit { 21 | if (withAnim) { 22 | setCustomAnimations( 23 | R.anim.enter_from_right, R.anim.exit_to_left, R.anim.pop_enter_from_left, R.anim.pop_exit_to_right 24 | ) 25 | } 26 | exists?.run { 27 | replace(containerView.id, exists) 28 | } ?: replace( 29 | containerView.id, clazz, null, tagName 30 | ) 31 | if (addToBackStack) addToBackStack(tagName) 32 | } 33 | StatusBarUtil.changeColor(this, color) 34 | } 35 | 36 | fun AppCompatActivity.replaceFragment( 37 | containerView: FragmentContainerView, fragment: Fragment, addToBackStack: Boolean = false, color: Int = getColor(R.color.white) 38 | ) { 39 | val tagName = fragment::class.java.simpleName 40 | val exists = supportFragmentManager.findFragmentByTag(tagName) 41 | 42 | supportFragmentManager.commit { 43 | setCustomAnimations( 44 | R.anim.enter_from_right, R.anim.exit_to_left, R.anim.pop_enter_from_left, R.anim.pop_exit_to_right 45 | ) 46 | exists?.run { 47 | replace(containerView.id, exists) 48 | } ?: replace( 49 | containerView.id, fragment, tagName 50 | ) 51 | if (addToBackStack) addToBackStack(tagName) 52 | } 53 | StatusBarUtil.changeColor(this, color) 54 | } 55 | 56 | fun AppCompatActivity.popFragment(clazz: Class) { 57 | val tagName = clazz.simpleName 58 | val exists = supportFragmentManager.findFragmentByTag(tagName) 59 | 60 | if (exists != null) { 61 | supportFragmentManager.popBackStack(tagName, FragmentManager.POP_BACK_STACK_INCLUSIVE) 62 | } 63 | } -------------------------------------------------------------------------------- /app/src/main/java/team/bum/util/ContextExtension.kt: -------------------------------------------------------------------------------- 1 | package team.bum.util 2 | 3 | import android.content.Context 4 | import android.util.Log 5 | import android.widget.Toast 6 | import retrofit2.Call 7 | import retrofit2.Callback 8 | import retrofit2.Response 9 | import kotlin.math.roundToInt 10 | 11 | fun Context.shortToast(message: String) { 12 | Toast.makeText(this, message, Toast.LENGTH_SHORT).show() 13 | } 14 | 15 | fun Call.enqueueUtil( 16 | onSuccess: (ResponseType) -> Unit, 17 | onError: ((stateCode: Int) -> Unit)? = null 18 | ) { 19 | this.enqueue(object : Callback { 20 | override fun onResponse(call: Call, response: Response) { 21 | if (response.isSuccessful) { 22 | onSuccess.invoke(response.body() ?: return) 23 | } else { 24 | onError?.invoke(response.code()) 25 | } 26 | } 27 | 28 | override fun onFailure(call: Call, t: Throwable) { 29 | Log.d("NetworkTest", "error:$t") 30 | } 31 | 32 | }) 33 | } 34 | 35 | fun Context.dpToPixel(dp: Int): Int = 36 | (dp * resources.displayMetrics.density).roundToInt() -------------------------------------------------------------------------------- /app/src/main/java/team/bum/util/DateTime.kt: -------------------------------------------------------------------------------- 1 | package team.bum.util 2 | 3 | import java.time.DayOfWeek 4 | import java.time.LocalDateTime 5 | 6 | /** 7 | * YYYY.MM.DD 8 | */ 9 | typealias DateString = String 10 | 11 | fun String.padZero(length: Int = 2) = padStart(length, '0') 12 | fun Int.padZero() = toString().padZero() 13 | 14 | /** 15 | * 1 -> 월 16 | * 7 -> 일 17 | */ 18 | val DayOfWeek.koFormat: String 19 | get() = when (value) { 20 | 1 -> "월" 21 | 2 -> "화" 22 | 3 -> "수" 23 | 4 -> "목" 24 | 5 -> "금" 25 | 6 -> "토" 26 | else -> "일" 27 | } 28 | 29 | /** 30 | * 2021.07.05 31 | */ 32 | val LocalDateTime.dateString: DateString 33 | get() = "${year}.${monthValue.padZero()}.${dayOfMonth.padZero()}" 34 | 35 | /** 36 | * 2021-07-15 37 | */ 38 | val LocalDateTime.filterDateString: DateString 39 | get() = "${year}-${monthValue.padZero()}-${dayOfMonth.padZero()}" 40 | 41 | /** 42 | * 2021.07.14 (수) 43 | */ 44 | val LocalDateTime.dateFormat: DateString 45 | get() = "${year}.${monthValue.padZero()}.${dayOfMonth.padZero()} (${dayOfWeek.koFormat})" 46 | 47 | /** 48 | * 2021년 07월 14일 (수) 49 | */ 50 | val LocalDateTime.koFormat: DateString 51 | get() = "${year}년 ${monthValue.padZero()}월 ${dayOfMonth.padZero()}일 (${dayOfWeek.koFormat})" -------------------------------------------------------------------------------- /app/src/main/java/team/bum/util/MyApplication.kt: -------------------------------------------------------------------------------- 1 | package team.bum.util 2 | 3 | import android.app.Application 4 | 5 | class MyApplication : Application() { 6 | companion object { 7 | lateinit var mySharedPreferences: MySharedPreferences 8 | } 9 | 10 | override fun onCreate() { 11 | mySharedPreferences = MySharedPreferences(applicationContext) 12 | super.onCreate() 13 | } 14 | } -------------------------------------------------------------------------------- /app/src/main/java/team/bum/util/MyFirebaseMessagingService.kt: -------------------------------------------------------------------------------- 1 | package team.bum.util 2 | 3 | import android.app.* 4 | import android.app.PendingIntent.FLAG_UPDATE_CURRENT 5 | import android.content.ContentValues.TAG 6 | import android.content.Context 7 | import android.content.Intent 8 | import android.media.RingtoneManager 9 | import android.os.Build 10 | import android.os.IBinder 11 | import android.util.Log 12 | import android.widget.Toast 13 | import androidx.core.app.NotificationCompat 14 | import androidx.core.app.NotificationManagerCompat 15 | import com.google.android.gms.tasks.OnCompleteListener 16 | import com.google.firebase.messaging.FirebaseMessaging 17 | import com.google.firebase.messaging.FirebaseMessagingService 18 | import com.google.firebase.messaging.RemoteMessage 19 | import retrofit2.Call 20 | import team.bum.R 21 | import team.bum.api.ServiceCreator 22 | import team.bum.api.data.RequestPushToken 23 | import team.bum.api.data.ResponsePushToken 24 | import team.bum.ui.main.MainActivity 25 | 26 | class MyFirebaseMessagingService : FirebaseMessagingService() { 27 | 28 | override fun onNewToken(token: String) { 29 | super.onNewToken(token) 30 | sendRegistrationToServer(token) 31 | 32 | } 33 | 34 | override fun onMessageReceived(remoteMessage: RemoteMessage) { 35 | super.onMessageReceived(remoteMessage) 36 | if(remoteMessage.data.isNotEmpty()){ 37 | sendNotification(remoteMessage.notification?.title, 38 | remoteMessage.notification?.body!!) 39 | } 40 | else{ 41 | 42 | } 43 | } 44 | 45 | private fun sendNotification(title: String?, body: String){ 46 | val intent = Intent(this,MainActivity::class.java) 47 | intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) // 액티비티 중복 생성 방지 48 | val pendingIntent = PendingIntent.getActivity(this, 0 , intent, 49 | PendingIntent.FLAG_ONE_SHOT) // 일회성 50 | 51 | val channelId = "channel" // 채널 아이디 52 | val defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION) // 소리 53 | val notificationBuilder = NotificationCompat.Builder(this, channelId) 54 | .setSmallIcon(R.mipmap.ic_launcher) 55 | .setContentTitle(title) // 제목 56 | .setContentText(body) // 내용 57 | .setAutoCancel(true) 58 | .setSound(defaultSoundUri) 59 | .setContentIntent(pendingIntent) 60 | 61 | val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager 62 | 63 | // 오레오 버전 예외처리 64 | if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { 65 | val channel = NotificationChannel(channelId, 66 | "Channel human readable title", 67 | NotificationManager.IMPORTANCE_DEFAULT) 68 | notificationManager.createNotificationChannel(channel) 69 | } 70 | 71 | notificationManager.notify(0 , notificationBuilder.build()) // 알림 생성 72 | } 73 | 74 | companion object { 75 | private const val TAG = "MyFirebaseMsgService" 76 | } 77 | 78 | private fun sendRegistrationToServer(token: String){ 79 | val body = RequestPushToken(token) 80 | val call: Call = ServiceCreator.bumService.getPushToken(body) 81 | call.enqueueUtil( 82 | onSuccess = { 83 | Log.d("tag", "pushTokenSuccess?: ${it.success}") 84 | } 85 | ) 86 | Log.d("token", "sendToken: $$token") 87 | } 88 | } -------------------------------------------------------------------------------- /app/src/main/java/team/bum/util/MySharedPreferences.kt: -------------------------------------------------------------------------------- 1 | package team.bum.util 2 | 3 | import android.content.Context 4 | import android.content.SharedPreferences 5 | import androidx.annotation.Nullable 6 | 7 | class MySharedPreferences(context: Context) { 8 | 9 | private val name = "SharedPreferences" 10 | private val mode = Context.MODE_PRIVATE 11 | private val sharedPreferences: SharedPreferences = context.getSharedPreferences(name, mode) 12 | 13 | 14 | fun getValue(key: String, @Nullable defValue: String): String { 15 | return sharedPreferences.getString(key, defValue).toString() 16 | } 17 | 18 | fun setValue(key: String, value: String) { 19 | sharedPreferences.edit().putString(key, value).apply() 20 | } 21 | 22 | fun getBooleanValue(key: String, defValue: Boolean): Boolean { 23 | return sharedPreferences.getBoolean(key, defValue) 24 | } 25 | 26 | fun setBooleanValue(key: String, value: Boolean) { 27 | sharedPreferences.edit().putBoolean(key, value).apply() 28 | } 29 | } -------------------------------------------------------------------------------- /app/src/main/java/team/bum/util/ResourceExtension.kt: -------------------------------------------------------------------------------- 1 | package team.bum.util 2 | 3 | import android.content.Context 4 | import android.view.View 5 | import androidx.annotation.ColorRes 6 | import androidx.annotation.FontRes 7 | import androidx.core.content.res.ResourcesCompat 8 | import androidx.fragment.app.Fragment 9 | 10 | fun View.getColor(@ColorRes res: Int) = context.getColor(res) 11 | fun Fragment.getColor(@ColorRes res: Int) = requireContext().getColor(res) 12 | fun Context.getFont(@FontRes res: Int) = ResourcesCompat.getFont(this, res) -------------------------------------------------------------------------------- /app/src/main/java/team/bum/util/StatusBarUtil.kt: -------------------------------------------------------------------------------- 1 | package team.bum.util 2 | 3 | import android.app.Activity 4 | 5 | object StatusBarUtil { 6 | fun changeColor(activity: Activity, color: Int) { 7 | activity.window?.run { 8 | statusBarColor = color 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /app/src/main/java/team/bum/util/TypeExtension.kt: -------------------------------------------------------------------------------- 1 | package team.bum.util 2 | 3 | fun String.toInteger() = Integer.parseInt(this) -------------------------------------------------------------------------------- /app/src/main/java/team/bum/util/ViewExtension.kt: -------------------------------------------------------------------------------- 1 | package team.bum.util 2 | 3 | import android.view.LayoutInflater 4 | import android.view.View 5 | import android.view.ViewGroup 6 | import android.widget.ImageView 7 | import android.widget.LinearLayout 8 | import com.google.android.material.chip.Chip 9 | import team.bum.R 10 | 11 | fun LinearLayout.addChip(chipText: String, chipColorState: Int) { 12 | val chip = LayoutInflater.from(context).inflate(R.layout.view_chip, null) as Chip 13 | 14 | val layoutParams = ViewGroup.MarginLayoutParams( 15 | ViewGroup.MarginLayoutParams.WRAP_CONTENT, 16 | ViewGroup.MarginLayoutParams.WRAP_CONTENT 17 | ) 18 | chip.text = chipText 19 | layoutParams.rightMargin = context.dpToPixel(4) 20 | addView(chip) 21 | } 22 | 23 | fun View.setVisible() { 24 | visibility = View.VISIBLE 25 | } 26 | 27 | fun View.setInvisible() { 28 | visibility = View.INVISIBLE 29 | } 30 | 31 | fun View.setGone() { 32 | visibility = View.GONE 33 | } 34 | 35 | fun ImageView.enabled(enable: Boolean) { 36 | if (isEnabled == enable) return 37 | 38 | isEnabled = enable 39 | this.setColorFilter(getColor(if (enable) R.color.header else R.color.disable)) 40 | } -------------------------------------------------------------------------------- /app/src/main/res/anim/enter_from_right.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/anim/exit_to_left.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/anim/fade_in.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/anim/layout_animation_fade_in.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/anim/pop_enter_from_left.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/anim/pop_exit_to_right.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/anim/slide_down.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/anim/slide_up.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/color/archive_chip_background_color.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/color/archive_chip_stroke_color.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/color/archive_chip_text_color.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/color/home_chip_background_color.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/color/home_chip_stroke_color.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/color/home_chip_text_color.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/color/main_menu_color.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/area_collection_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/area_collection_1.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/bg_home_collection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/bg_home_collection.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/bg_home_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/bg_home_delete.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/brn_edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/brn_edit.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/btn_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/btn_back.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/btn_check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/btn_check.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/btn_circle_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/btn_circle_checked.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/btn_circle_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/btn_circle_unchecked.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/btn_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/btn_close.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/btn_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/btn_delete.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/btn_disable_collection_no.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/btn_disable_collection_no.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/btn_disable_home_no.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/btn_disable_home_no.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/btn_disable_mywriting_no.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/btn_disable_mywriting_no.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/btn_disable_setting_no.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/btn_disable_setting_no.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/btn_graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/btn_graph.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/btn_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/btn_left.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/btn_plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/btn_plus.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/btn_remove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/btn_remove.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/btn_setting_black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/btn_setting_black.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/btn_setting_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/btn_setting_white.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/category_circle_05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/category_circle_05.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/collection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/collection.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/group_174.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/group_174.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/group_192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/group_192.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/home_area_trashbin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/home_area_trashbin.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/ic_arrow.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/icon_cancel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/icon_cancel.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/icon_check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/icon_check.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/icon_filter_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/icon_filter_checked.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/icon_filter_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/icon_filter_unchecked.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/icon_remove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/icon_remove.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/img_air_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/img_air_1.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/img_deletepaper_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/img_deletepaper_1.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/img_gradient_mywriting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/img_gradient_mywriting.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/img_gradient_reward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/img_gradient_reward.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/img_gradient_trashbin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/img_gradient_trashbin.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/img_mywriting_trashbin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/img_mywriting_trashbin.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/img_present.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/img_present.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/img_writing_paper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/img_writing_paper.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/logo.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/presentmotiv_area.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/presentmotiv_area.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/toast_paper_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/toast_paper_1.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/trashbin_area.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-hdpi/trashbin_area.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/area_collection_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/area_collection_1.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/bg_home_collection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/bg_home_collection.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/bg_home_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/bg_home_delete.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/brn_edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/brn_edit.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/btn_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/btn_back.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/btn_check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/btn_check.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/btn_circle_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/btn_circle_checked.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/btn_circle_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/btn_circle_unchecked.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/btn_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/btn_close.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/btn_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/btn_delete.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/btn_disable_collection_no.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/btn_disable_collection_no.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/btn_disable_home_no.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/btn_disable_home_no.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/btn_disable_mywriting_no.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/btn_disable_mywriting_no.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/btn_disable_setting_no.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/btn_disable_setting_no.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/btn_graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/btn_graph.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/btn_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/btn_left.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/btn_plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/btn_plus.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/btn_remove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/btn_remove.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/btn_setting_black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/btn_setting_black.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/btn_setting_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/btn_setting_white.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/category_circle_05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/category_circle_05.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/collection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/collection.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/group_174.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/group_174.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/group_192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/group_192.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/home_area_trashbin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/home_area_trashbin.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/ic_arrow.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/icon_cancel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/icon_cancel.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/icon_check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/icon_check.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/icon_filter_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/icon_filter_checked.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/icon_filter_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/icon_filter_unchecked.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/icon_remove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/icon_remove.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/img_air_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/img_air_1.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/img_deletepaper_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/img_deletepaper_1.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/img_gradient_mywriting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/img_gradient_mywriting.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/img_gradient_reward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/img_gradient_reward.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/img_gradient_trashbin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/img_gradient_trashbin.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/img_mywriting_trashbin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/img_mywriting_trashbin.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/img_present.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/img_present.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/img_writing_paper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/img_writing_paper.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/logo.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/presentmotiv_area.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/presentmotiv_area.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/toast_paper_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/toast_paper_1.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/trashbin_area.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-mdpi/trashbin_area.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 15 | 18 | 21 | 22 | 23 | 24 | 30 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/area_collection_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/area_collection_1.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/bg_home_collection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/bg_home_collection.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/bg_home_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/bg_home_delete.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/brn_edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/brn_edit.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/btn_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/btn_back.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/btn_check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/btn_check.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/btn_circle_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/btn_circle_checked.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/btn_circle_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/btn_circle_unchecked.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/btn_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/btn_close.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/btn_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/btn_delete.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/btn_disable_collection_no.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/btn_disable_collection_no.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/btn_disable_home_no.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/btn_disable_home_no.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/btn_disable_mywriting_no.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/btn_disable_mywriting_no.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/btn_disable_setting_no.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/btn_disable_setting_no.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/btn_graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/btn_graph.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/btn_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/btn_left.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/btn_plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/btn_plus.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/btn_remove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/btn_remove.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/btn_setting_black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/btn_setting_black.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/btn_setting_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/btn_setting_white.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/category_circle_05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/category_circle_05.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/collection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/collection.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/group_174.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/group_174.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/group_192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/group_192.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/home_area_trashbin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/home_area_trashbin.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/ic_arrow.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/icon_cancel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/icon_cancel.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/icon_check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/icon_check.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/icon_filter_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/icon_filter_checked.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/icon_filter_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/icon_filter_unchecked.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/icon_remove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/icon_remove.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/img_air_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/img_air_1.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/img_deletepaper_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/img_deletepaper_1.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/img_gradient_mywriting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/img_gradient_mywriting.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/img_gradient_reward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/img_gradient_reward.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/img_gradient_trashbin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/img_gradient_trashbin.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/img_mywriting_trashbin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/img_mywriting_trashbin.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/img_present.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/img_present.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/img_writing_paper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/img_writing_paper.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/logo.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/presentmotiv_area.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/presentmotiv_area.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/toast_paper_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/toast_paper_1.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/trashbin_area.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xhdpi/trashbin_area.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/area_collection_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/area_collection_1.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/bg_home_collection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/bg_home_collection.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/bg_home_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/bg_home_delete.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/brn_edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/brn_edit.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/btn_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/btn_back.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/btn_check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/btn_check.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/btn_circle_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/btn_circle_checked.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/btn_circle_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/btn_circle_unchecked.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/btn_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/btn_close.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/btn_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/btn_delete.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/btn_disable_collection_no.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/btn_disable_collection_no.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/btn_disable_home_no.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/btn_disable_home_no.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/btn_disable_mywriting_no.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/btn_disable_mywriting_no.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/btn_disable_setting_no.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/btn_disable_setting_no.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/btn_graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/btn_graph.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/btn_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/btn_left.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/btn_plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/btn_plus.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/btn_remove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/btn_remove.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/btn_setting_black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/btn_setting_black.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/btn_setting_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/btn_setting_white.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/category_circle_05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/category_circle_05.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/collection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/collection.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/group_174.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/group_174.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/group_192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/group_192.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/home_area_trashbin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/home_area_trashbin.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/ic_arrow.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/icon_cancel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/icon_cancel.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/icon_check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/icon_check.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/icon_filter_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/icon_filter_checked.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/icon_filter_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/icon_filter_unchecked.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/icon_remove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/icon_remove.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/img_air_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/img_air_1.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/img_deletepaper_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/img_deletepaper_1.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/img_gradient_mywriting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/img_gradient_mywriting.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/img_gradient_reward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/img_gradient_reward.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/img_gradient_trashbin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/img_gradient_trashbin.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/img_mywriting_trashbin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/img_mywriting_trashbin.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/img_present.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/img_present.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/img_writing_paper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/img_writing_paper.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/logo.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/presentmotiv_area.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/presentmotiv_area.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/toast_paper_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/toast_paper_1.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/trashbin_area.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxhdpi/trashbin_area.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/area_collection_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/area_collection_1.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/bg_home_collection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/bg_home_collection.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/bg_home_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/bg_home_delete.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/brn_edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/brn_edit.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/btn_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/btn_back.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/btn_check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/btn_check.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/btn_circle_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/btn_circle_checked.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/btn_circle_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/btn_circle_unchecked.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/btn_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/btn_close.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/btn_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/btn_delete.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/btn_disable_collection_no.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/btn_disable_collection_no.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/btn_disable_home_no.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/btn_disable_home_no.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/btn_disable_mywriting_no.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/btn_disable_mywriting_no.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/btn_disable_setting_no.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/btn_disable_setting_no.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/btn_graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/btn_graph.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/btn_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/btn_left.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/btn_plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/btn_plus.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/btn_remove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/btn_remove.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/btn_setting_black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/btn_setting_black.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/btn_setting_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/btn_setting_white.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/category_circle_05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/category_circle_05.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/collection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/collection.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/group_174.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/group_174.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/group_192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/group_192.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/home_area_trashbin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/home_area_trashbin.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/ic_arrow.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/icon_cancel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/icon_cancel.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/icon_check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/icon_check.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/icon_filter_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/icon_filter_checked.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/icon_filter_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/icon_filter_unchecked.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/icon_remove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/icon_remove.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/img_air_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/img_air_1.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/img_deletepaper_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/img_deletepaper_1.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/img_gradient_mywriting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/img_gradient_mywriting.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/img_gradient_reward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/img_gradient_reward.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/img_gradient_trashbin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/img_gradient_trashbin.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/img_mywriting_trashbin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/img_mywriting_trashbin.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/img_present.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/img_present.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/img_writing_paper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/img_writing_paper.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/logo.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/presentmotiv_area.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/presentmotiv_area.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/toast_paper_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/toast_paper_1.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/trashbin_area.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/drawable-xxxhdpi/trashbin_area.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/bg_bottom_navigation.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/bg_dialog_common.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/bg_dialog_reward.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/bg_edit_border.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/bg_edit_border_error.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/bg_toast.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/bg_white_radius_15.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/gradient1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/gradient2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/gradient3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/gradient4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/gradient5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/gradient6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/gradient7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/gradient8.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/switch_thumb.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 12 | 13 | 16 | 17 | 19 | 20 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/switch_track_off.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 7 | 10 | 12 | 15 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/switch_track_on.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 7 | 10 | 12 | 15 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/switch_track_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/font/nanum_square_bold.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/font/nanum_square_bold.otf -------------------------------------------------------------------------------- /app/src/main/res/font/nanum_square_extrabold.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/font/nanum_square_extrabold.otf -------------------------------------------------------------------------------- /app/src/main/res/font/nanum_square_light.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/font/nanum_square_light.otf -------------------------------------------------------------------------------- /app/src/main/res/font/nanum_square_regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/font/nanum_square_regular.otf -------------------------------------------------------------------------------- /app/src/main/res/font/sf_pro_display_regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/font/sf_pro_display_regular.otf -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 13 | 14 | 28 | 29 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_push.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_splash.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 16 | 17 | -------------------------------------------------------------------------------- /app/src/main/res/layout/dialog_push.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 14 | 15 | 25 | 26 | 36 | 37 |