├── .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 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
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 |
47 |
48 |
60 |
61 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/dialog_push_gift.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
17 |
18 |
28 |
29 |
36 |
37 |
45 |
46 |
58 |
59 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/fragment_archive.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
16 |
17 |
31 |
32 |
33 |
34 |
40 |
41 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/fragment_archive_reward.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
21 |
22 |
33 |
34 |
35 |
40 |
41 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/fragment_dialog_sheet.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
25 |
26 |
38 |
39 |
46 |
47 |
54 |
55 |
65 |
66 |
77 |
78 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/item_card_collection.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
16 |
17 |
20 |
21 |
32 |
33 |
48 |
49 |
59 |
60 |
61 |
62 |
63 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/item_category.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
17 |
18 |
27 |
28 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/item_collection.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
20 |
21 |
31 |
32 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/item_stats.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
15 |
16 |
20 |
21 |
32 |
33 |
45 |
46 |
57 |
58 |
59 |
60 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/view_chip.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/main_menu.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #68c7e4
4 | #FF000000
5 | #FFFFFFFF
6 | #6ED5F5
7 | #00ABF1
8 | #0079BD
9 | #52BE86
10 | #25A367
11 | #187F4E
12 | #096038
13 | #FF93C5
14 | #EA4D93
15 | #DD4385
16 | #FF5353
17 | #E1E1E1
18 | #F1F1F1
19 | #CACACA
20 | #838383
21 | #474747
22 | #252525
23 | #DADADA
24 | #141414
25 | #C2C2C2
26 | #A1A1A1
27 | #fafafa
28 | #b7e3cd
29 | #8fd4b1
30 | #9fe8ff
31 | #faf9fb
32 | #232326
33 | #e6e4ea
34 | #99000000
35 | #52be87
36 |
--------------------------------------------------------------------------------
/app/src/main/res/values/ic_launcher_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #FFFFFF
4 |
--------------------------------------------------------------------------------
/app/src/test/java/team/bum/ExampleUnitTest.kt:
--------------------------------------------------------------------------------
1 | package team.bum
2 |
3 | import org.junit.Test
4 |
5 | import org.junit.Assert.*
6 |
7 | /**
8 | * Example local unit test, which will execute on the development machine (host).
9 | *
10 | * See [testing documentation](http://d.android.com/tools/testing).
11 | */
12 | class ExampleUnitTest {
13 | @Test
14 | fun addition_isCorrect() {
15 | assertEquals(4, 2 + 2)
16 | }
17 | }
--------------------------------------------------------------------------------
/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 | buildscript {
3 | ext.kotlin_version = "1.5.10"
4 | repositories {
5 | google()
6 | mavenCentral()
7 | }
8 | dependencies {
9 | classpath 'com.android.tools.build:gradle:4.2.2'
10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
11 | classpath 'com.google.gms:google-services:4.3.10'
12 | // NOTE: Do not place your application dependencies here; they belong
13 | // in the individual module build.gradle files
14 | }
15 | }
16 |
17 | allprojects {
18 | repositories {
19 | google()
20 | mavenCentral()
21 | jcenter() // Warning: this repository is going to shut down soon
22 | }
23 | }
24 |
25 | task clean(type: Delete) {
26 | delete rootProject.buildDir
27 | }
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 | # IDE (e.g. Android Studio) users:
3 | # Gradle settings configured through the IDE *will override*
4 | # any settings specified in this file.
5 | # For more details on how to configure your build environment visit
6 | # http://www.gradle.org/docs/current/userguide/build_environment.html
7 | # Specifies the JVM arguments used for the daemon process.
8 | # The setting is particularly useful for tweaking memory settings.
9 | org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
10 | # When configured, Gradle will run in incubating parallel mode.
11 | # This option should only be used with decoupled projects. More details, visit
12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
13 | # org.gradle.parallel=true
14 | # AndroidX package structure to make it clearer which packages are bundled with the
15 | # Android operating system, and which are packaged with your app"s APK
16 | # https://developer.android.com/topic/libraries/support-library/androidx-rn
17 | android.useAndroidX=true
18 | # Kotlin code style for this project: "official" or "obsolete":
19 | kotlin.code.style=official
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TeamB-um/B-umAndroid/dda08f9f77340ff4c578bbde3c78e38fda1c712b/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Mon Jun 28 11:06:30 KST 2021
2 | distributionBase=GRADLE_USER_HOME
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip
4 | distributionPath=wrapper/dists
5 | zipStorePath=wrapper/dists
6 | zipStoreBase=GRADLE_USER_HOME
7 |
--------------------------------------------------------------------------------
/gradlew.bat:
--------------------------------------------------------------------------------
1 | @if "%DEBUG%" == "" @echo off
2 | @rem ##########################################################################
3 | @rem
4 | @rem Gradle startup script for Windows
5 | @rem
6 | @rem ##########################################################################
7 |
8 | @rem Set local scope for the variables with windows NT shell
9 | if "%OS%"=="Windows_NT" setlocal
10 |
11 | set DIRNAME=%~dp0
12 | if "%DIRNAME%" == "" set DIRNAME=.
13 | set APP_BASE_NAME=%~n0
14 | set APP_HOME=%DIRNAME%
15 |
16 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
17 | set DEFAULT_JVM_OPTS=
18 |
19 | @rem Find java.exe
20 | if defined JAVA_HOME goto findJavaFromJavaHome
21 |
22 | set JAVA_EXE=java.exe
23 | %JAVA_EXE% -version >NUL 2>&1
24 | if "%ERRORLEVEL%" == "0" goto init
25 |
26 | echo.
27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
28 | echo.
29 | echo Please set the JAVA_HOME variable in your environment to match the
30 | echo location of your Java installation.
31 |
32 | goto fail
33 |
34 | :findJavaFromJavaHome
35 | set JAVA_HOME=%JAVA_HOME:"=%
36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe
37 |
38 | if exist "%JAVA_EXE%" goto init
39 |
40 | echo.
41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
42 | echo.
43 | echo Please set the JAVA_HOME variable in your environment to match the
44 | echo location of your Java installation.
45 |
46 | goto fail
47 |
48 | :init
49 | @rem Get command-line arguments, handling Windows variants
50 |
51 | if not "%OS%" == "Windows_NT" goto win9xME_args
52 |
53 | :win9xME_args
54 | @rem Slurp the command line arguments.
55 | set CMD_LINE_ARGS=
56 | set _SKIP=2
57 |
58 | :win9xME_args_slurp
59 | if "x%~1" == "x" goto execute
60 |
61 | set CMD_LINE_ARGS=%*
62 |
63 | :execute
64 | @rem Setup the command line
65 |
66 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
67 |
68 | @rem Execute Gradle
69 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
70 |
71 | :end
72 | @rem End local scope for the variables with windows NT shell
73 | if "%ERRORLEVEL%"=="0" goto mainEnd
74 |
75 | :fail
76 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
77 | rem the _cmd.exe /c_ return code!
78 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
79 | exit /b 1
80 |
81 | :mainEnd
82 | if "%OS%"=="Windows_NT" endlocal
83 |
84 | :omega
85 |
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | rootProject.name = "B-umAndroid"
2 | include ':app'
3 |
--------------------------------------------------------------------------------