Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
527b5da
feat: 채팅 모듈 생성, 바텀네비게이션 추가 #337
edv-Shin Oct 7, 2025
a15ab6c
feat: 채팅 목록 ui 구현 #345
edv-Shin Oct 8, 2025
694a707
feat: 뱃지 visibility 설정 추가 #345
edv-Shin Oct 8, 2025
fa275b9
chore: red 색상 이름 변경 #345
edv-Shin Oct 8, 2025
5cbdea7
feat: api 연결, 폴링 로직 구현 #346
edv-Shin Oct 8, 2025
4eb8059
fix: 뱃지 ui 수정 #345
edv-Shin Oct 8, 2025
0fa8f17
Merge branch 'feat/chatting-list-345' into feat/chatting-list-polling…
edv-Shin Oct 8, 2025
427181e
fix: ktlint 문법 수정 #346
edv-Shin Oct 9, 2025
c821d4f
feat: 화면 이동 구현 #348
edv-Shin Oct 9, 2025
0e9494a
feat: 채팅방 화면 구현 #348
edv-Shin Oct 9, 2025
482628e
feat: 채팅방 ui 구현 #348
edv-Shin Oct 12, 2025
20b507d
fix: ktlint 문법 수정 #348
edv-Shin Oct 12, 2025
d726d2d
fix: 딜레이 중복 제거 #348
edv-Shin Oct 12, 2025
be48fa7
feat: api 연결 및 스크롤 로직 리팩토링 #354
edv-Shin Oct 13, 2025
80d87b6
feat: 폴링 로직 중복 제거 #348
edv-Shin Oct 13, 2025
41b4f21
Merge branch 'feat/chatting-room-348' into feat/chatting-message-api-354
edv-Shin Oct 13, 2025
cae6cd6
feat: 툴바 타이틀, 메뉴 버튼 추가 #356
edv-Shin Oct 13, 2025
58ad6ea
feat: 텍스트 줄바꿈 시에 너비에 여백이 생기는 현상 수정 #356
edv-Shin Oct 13, 2025
12c79a9
feat: 키보드 및 스크롤 로직 처리 #356
edv-Shin Oct 14, 2025
fb18004
feat: 메세지 날짜가 바뀔 때 스낵바 표시 #356
edv-Shin Oct 14, 2025
5056865
Merge pull request #347 from projects200/feat/chatting-337
edv-Shin Oct 14, 2025
2178553
Merge pull request #349 from projects200/feat/chatting-list-345
edv-Shin Oct 14, 2025
cfc1867
Merge pull request #350 from projects200/feat/chatting-list-polling-346
edv-Shin Oct 14, 2025
c43eec3
Merge pull request #353 from projects200/feat/chatting-room-348
edv-Shin Oct 14, 2025
53a3b52
Merge pull request #355 from projects200/feat/chatting-message-api-354
edv-Shin Oct 14, 2025
7f9e8b8
fix: ktlint 문법 수정 #356
edv-Shin Oct 14, 2025
163e44e
Merge pull request #357 from projects200/feat/chatting-room-ui-356
edv-Shin Oct 14, 2025
9ab828b
feat: api 연결, 채팅방 생성/삭제 api 연결 #354
edv-Shin Oct 14, 2025
e04c785
fix: ktlint 문법 수정 #354
edv-Shin Oct 14, 2025
dced4ab
Merge pull request #359 from projects200/feat/chatting-message-api-354
edv-Shin Oct 14, 2025
86b4431
feat: 카카오 오픈 url 관련 삭제 #358
edv-Shin Oct 14, 2025
9d517b9
feat: 채팅방 생성 #358
edv-Shin Oct 14, 2025
6545b45
feat: 채팅방 나가기, 상대방이 나갔을 때 전송 방지 #358
edv-Shin Oct 15, 2025
4ab2730
feat: 채팅방 리스트 empty 처리 #358
edv-Shin Oct 15, 2025
166a69f
feat: ktlint 문법 수정 #358
edv-Shin Oct 15, 2025
77271b6
Merge pull request #360 from projects200/feat/create-chat-358
edv-Shin Oct 15, 2025
22f7df4
fix: 카카오맵 인수 테스트 제외
edv-Shin Oct 15, 2025
8a29230
fix: ktlint 수정
edv-Shin Oct 15, 2025
cb0b733
fix: cicd 수정
edv-Shin Oct 15, 2025
bf97140
fix: cicd 수정
edv-Shin Oct 15, 2025
9517107
fix: cicd 수정
edv-Shin Oct 15, 2025
34935f0
fix: cicd 수정
edv-Shin Oct 15, 2025
88d8814
fix: cicd 수정
edv-Shin Oct 16, 2025
14e6d44
fix: ktlint 문법 수정
edv-Shin Oct 16, 2025
79ae868
fix: androidTest 오류 수정
edv-Shin Oct 16, 2025
0832b2e
fix: cicd 수정, 버전코드 수정
edv-Shin Oct 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 2 additions & 22 deletions .github/workflows/android-master-ci-cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,12 @@ on:

jobs:
# ===================================================================
# CI - 코드 검증 (Lint, Unit Test, Instrumented Test)
# CI - 코드 검증 (Lint, Unit Tests)
# ===================================================================
ci-test:
if: github.event_name == 'pull_request'
runs-on: macos-14
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Decode google-services.json
env:
GOOGLE_SERVICES_JSON_PROD_BASE64: ${{ secrets.GOOGLE_SERVICES_JSON_PROD_BASE64 }}
Expand Down Expand Up @@ -66,24 +64,6 @@ jobs:
fileName: 'release.jks'
encodedString: ${{ secrets.RELEASE_SIGNING_KEY_BASE64 }}

- name: Run Android Instrumentation Tests (Release)
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: 33
target: google_apis
arch: arm64-v8a
ram-size: 2048M
disk-size: 4096M
emulator-options: "-no-snapshot -no-window -no-audio -no-boot-anim"
disable-animations: true
emulator-boot-timeout: 1800
script: ./gradlew connectedAndroidTest
env:
SIGNING_KEY_ALIAS: ${{ secrets.RELEASE_KEY_ALIAS }}
SIGNING_KEY_PASSWORD: ${{ secrets.RELEASE_KEY_PASSWORD }}
SIGNING_STORE_PASSWORD: ${{ secrets.RELEASE_STORE_PASSWORD }}
SIGNING_KEY_FILE: ${{ steps.decode_key.outputs.filePath }}

# ===================================================================
# CD - 빌드 및 배포
# ci-test Job이 성공하고, 'push' 이벤트일 때만 실행됩니다.
Expand Down
11 changes: 11 additions & 0 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,16 @@ android {
buildConfigField("String", "KAKAO_REST_API_KEY", "\"${kakaoRestApiKey}\"")

ndkVersion = "28.0.10027231"

ndk {
abiFilters.addAll(listOf("armeabi-v7a", "arm64-v8a"))
}
}

packaging {
jniLibs {
useLegacyPackaging = true
}
}

signingConfigs {
Expand Down Expand Up @@ -75,6 +85,7 @@ dependencies {
implementation(projects.feature.exercise)
implementation(projects.feature.timer)
implementation(projects.feature.matching)
implementation(projects.feature.chatting)

implementation(libs.androidx.appcompat)
implementation(libs.androidx.constraintlayout)
Expand Down
24 changes: 20 additions & 4 deletions app/src/main/java/com/project200/undabang/main/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@ import com.project200.domain.model.UpdateCheckResult
import com.project200.presentation.navigator.ActivityNavigator
import com.project200.presentation.navigator.BottomNavigationController
import com.project200.presentation.update.UpdateDialogFragment
import com.project200.presentation.utils.hideKeyboardOnTouchOutside
import com.project200.presentation.utils.KeyboardControlInterface
import com.project200.presentation.utils.KeyboardUtils.hideKeyboardOnTouchOutside
import com.project200.undabang.R
import com.project200.undabang.databinding.ActivityMainBinding
import com.project200.undabang.oauth.AuthManager
Expand Down Expand Up @@ -55,8 +56,6 @@ class MainActivity : AppCompatActivity(), BottomNavigationController {
// 스플래시 화면을 계속 보여줄 조건 설정
splashScreen.setKeepOnScreenCondition { isLoading }

checkNotificationPermission()

requestNotificationPermissionLauncher =
registerForActivityResult(ActivityResultContracts.RequestPermission()) { isGranted ->
if (isGranted) {
Expand All @@ -66,6 +65,8 @@ class MainActivity : AppCompatActivity(), BottomNavigationController {
}
}

checkNotificationPermission()

setupObservers()
performRouting()
observeAuthEvents()
Expand Down Expand Up @@ -138,6 +139,7 @@ class MainActivity : AppCompatActivity(), BottomNavigationController {
com.project200.undabang.feature.matching.R.id.exercisePlaceRegisterFragment,
com.project200.undabang.feature.matching.R.id.matchingGuideFragment,
com.project200.undabang.feature.matching.R.id.matchingUrlFormFragment,
com.project200.undabang.feature.chatting.R.id.chattingRoomFragment,
// ... 필요한 다른 프래그먼트 ID들 추가 ... //
)

Expand Down Expand Up @@ -238,7 +240,21 @@ class MainActivity : AppCompatActivity(), BottomNavigationController {
}

override fun dispatchTouchEvent(ev: MotionEvent?): Boolean {
hideKeyboardOnTouchOutside(ev)
val navHostFragment = supportFragmentManager.findFragmentById(R.id.nav_host_fragment) as? NavHostFragment
val currentFragment = navHostFragment?.childFragmentManager?.fragments?.get(0)

var shouldHide = true
// 현재 프래그먼트가 KeyboardControlInterface를 구현했다면,
if (currentFragment is KeyboardControlInterface && ev != null) {
// 키보드를 숨길지 여부를 프래그먼트에게 위임
shouldHide = currentFragment.shouldHideKeyboardOnTouch(ev)
}

// 프래그먼트가 숨겨야 한다고 결정한 경우에만 hideKeyboard 로직을 실행
if (shouldHide) {
hideKeyboardOnTouchOutside(ev)
}

return super.dispatchTouchEvent(ev)
}
}
15 changes: 15 additions & 0 deletions app/src/main/res/drawable/ic_chatting.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="28dp"
android:height="28dp"
android:viewportWidth="28"
android:viewportHeight="28">
<path
android:pathData="M16.021,25.398L16.653,24.329L15.148,23.438L14.514,24.507L16.021,25.398ZM11.347,24.329L11.979,25.398L13.484,24.507L12.853,23.438L11.347,24.329ZM14.514,24.507C14.46,24.594 14.384,24.666 14.294,24.716C14.204,24.766 14.103,24.792 14,24.792C13.897,24.792 13.796,24.766 13.706,24.716C13.616,24.666 13.54,24.594 13.486,24.507L11.979,25.398C12.881,26.923 15.118,26.923 16.021,25.398L14.514,24.507ZM12.25,3.208H15.75V1.458H12.25V3.208ZM24.792,12.25V13.416H26.542V12.25H24.792ZM3.208,13.416V12.25H1.458V13.416H3.208ZM1.458,13.416C1.458,14.764 1.458,15.817 1.517,16.668C1.575,17.525 1.695,18.239 1.969,18.9L3.586,18.23C3.415,17.819 3.314,17.318 3.262,16.549C3.208,15.772 3.208,14.787 3.208,13.416H1.458ZM9.103,21.282C7.638,21.256 6.87,21.163 6.268,20.913L5.6,22.53C6.539,22.92 7.608,23.007 9.073,23.033L9.103,21.282ZM1.969,18.9C2.306,19.714 2.801,20.453 3.424,21.076C4.046,21.699 4.786,22.193 5.6,22.53L6.268,20.913C5.054,20.41 4.09,19.445 3.586,18.23L1.969,18.9ZM24.792,13.416C24.792,14.787 24.792,15.772 24.738,16.549C24.685,17.318 24.585,17.819 24.415,18.23L26.031,18.9C26.305,18.239 26.425,17.525 26.485,16.668C26.543,15.817 26.542,14.764 26.542,13.416H24.792ZM18.927,23.031C20.392,23.006 21.461,22.92 22.4,22.53L21.73,20.913C21.129,21.163 20.362,21.256 18.898,21.282L18.927,23.031ZM24.415,18.23C23.912,19.445 22.946,20.41 21.732,20.913L22.4,22.53C23.214,22.193 23.954,21.699 24.576,21.076C25.199,20.453 25.694,19.714 26.031,18.9L24.415,18.23ZM15.75,3.208C17.676,3.208 19.06,3.208 20.139,3.312C21.205,3.413 21.883,3.607 22.424,3.938L23.338,2.446C22.476,1.919 21.498,1.683 20.305,1.569C19.124,1.457 17.642,1.458 15.75,1.458V3.208ZM26.542,12.25C26.542,10.357 26.542,8.877 26.43,7.695C26.316,6.502 26.081,5.523 25.553,4.662L24.06,5.575C24.393,6.117 24.586,6.794 24.688,7.862C24.791,8.94 24.792,10.323 24.792,12.25H26.542ZM22.423,3.938C23.091,4.347 23.652,4.908 24.061,5.575L25.553,4.662C25,3.759 24.241,2.999 23.338,2.446L22.423,3.938ZM12.25,1.458C10.358,1.458 8.877,1.458 7.695,1.569C6.502,1.683 5.523,1.919 4.662,2.446L5.575,3.94C6.117,3.607 6.795,3.413 7.862,3.312C8.94,3.209 10.324,3.208 12.25,3.208V1.458ZM3.208,12.25C3.208,10.323 3.208,8.94 3.312,7.861C3.414,6.794 3.607,6.117 3.939,5.575L2.446,4.663C1.919,5.524 1.683,6.502 1.569,7.695C1.458,8.878 1.458,10.357 1.458,12.25H3.208ZM4.662,2.446C3.759,2.999 3,3.76 2.446,4.663L3.94,5.575C4.348,4.908 4.909,4.347 5.575,3.938L4.662,2.446ZM12.852,23.438C12.616,23.038 12.409,22.684 12.206,22.407C11.998,22.101 11.726,21.845 11.41,21.654L10.53,23.167C10.585,23.2 10.661,23.258 10.792,23.438C10.933,23.632 11.093,23.9 11.347,24.329L12.852,23.438ZM9.073,23.031C9.586,23.04 9.91,23.047 10.157,23.074C10.388,23.1 10.478,23.137 10.53,23.167L11.41,21.654C11.084,21.472 10.722,21.363 10.349,21.334C10.002,21.296 9.584,21.29 9.103,21.282L9.073,23.031ZM16.653,24.329C16.907,23.901 17.067,23.632 17.208,23.438C17.339,23.258 17.415,23.2 17.47,23.167L16.59,21.654C16.252,21.853 16.007,22.115 15.794,22.407C15.592,22.684 15.384,23.037 15.147,23.438L16.653,24.329ZM18.898,21.282C18.417,21.29 17.998,21.296 17.65,21.334C17.288,21.375 16.932,21.456 16.59,21.654L17.47,23.167C17.522,23.137 17.612,23.1 17.843,23.074C18.09,23.047 18.415,23.039 18.928,23.031L18.898,21.282Z"
android:fillColor="#4F7942"/>
<path
android:pathData="M15.75,1.208C17.638,1.208 19.133,1.207 20.328,1.32L20.774,1.37C21.793,1.502 22.674,1.747 23.468,2.232L23.469,2.233C24.406,2.807 25.193,3.595 25.767,4.531C26.322,5.438 26.564,6.46 26.679,7.672C26.792,8.868 26.791,10.363 26.791,12.25V13.416C26.791,14.76 26.793,15.824 26.734,16.685C26.673,17.554 26.551,18.299 26.262,18.995C25.912,19.839 25.399,20.607 24.753,21.253C24.107,21.899 23.34,22.412 22.495,22.762C21.565,23.148 20.524,23.244 19.181,23.274L19.182,23.276L18.932,23.281C18.674,23.285 18.467,23.289 18.295,23.295L17.87,23.322C17.666,23.345 17.61,23.375 17.596,23.383C17.583,23.391 17.55,23.412 17.488,23.486L17.41,23.585C17.278,23.767 17.125,24.023 16.868,24.456L16.868,24.457L16.236,25.525C15.236,27.214 12.763,27.214 11.764,25.525L11.132,24.457C10.875,24.023 10.722,23.767 10.589,23.585C10.474,23.427 10.422,23.394 10.404,23.383C10.389,23.375 10.333,23.345 10.129,23.322C9.936,23.301 9.691,23.294 9.319,23.286L9.069,23.283C7.694,23.259 6.632,23.181 5.691,22.834L5.504,22.762C4.66,22.412 3.893,21.899 3.246,21.253C2.6,20.607 2.088,19.839 1.739,18.995C1.45,18.299 1.326,17.555 1.267,16.685C1.208,15.824 1.208,14.76 1.208,13.416V12.25L1.21,10.906C1.215,9.634 1.237,8.57 1.321,7.672C1.437,6.46 1.678,5.439 2.234,4.532C2.807,3.596 3.595,2.807 4.532,2.233C5.438,1.678 6.46,1.436 7.671,1.32C8.867,1.208 10.363,1.208 12.25,1.208H15.75ZM12.335,25.478C13.162,26.562 14.836,26.562 15.664,25.478L14.565,24.827C14.519,24.868 14.469,24.905 14.415,24.935C14.288,25.005 14.146,25.042 14,25.042C13.855,25.042 13.711,25.005 13.584,24.935C13.53,24.904 13.48,24.867 13.434,24.826L12.335,25.478ZM11.689,24.417L12.067,25.055L12.512,24.792L13.142,24.419L12.765,23.78L11.689,24.417ZM14.857,24.419L15.395,24.737L15.933,25.055L16.31,24.417L15.235,23.78L14.857,24.419ZM12.25,3.458C10.319,3.458 8.949,3.459 7.886,3.561C6.837,3.66 6.202,3.848 5.706,4.152L5.684,4.166C5.061,4.553 4.536,5.08 4.153,5.706L4.139,5.727C3.843,6.219 3.659,6.851 3.561,7.885C3.458,8.949 3.458,10.319 3.458,12.25V13.416C3.458,14.79 3.458,15.765 3.511,16.531C3.563,17.288 3.66,17.759 3.817,18.134L3.818,18.135C4.296,19.288 5.211,20.205 6.365,20.683C6.918,20.912 7.642,21.007 9.108,21.032L9.785,21.047C9.994,21.054 10.189,21.066 10.368,21.085C10.725,21.112 11.075,21.207 11.396,21.364L11.533,21.435L11.539,21.44C11.884,21.648 12.18,21.927 12.408,22.259L12.567,22.49C12.688,22.674 12.81,22.879 12.939,23.096H12.941L13.069,23.31L13.668,24.327L13.698,24.374C13.73,24.425 13.774,24.468 13.828,24.497C13.88,24.526 13.94,24.542 14,24.542C14.061,24.542 14.12,24.526 14.173,24.497C14.226,24.468 14.27,24.425 14.302,24.374L14.932,23.31L15.018,23.167C15.22,22.825 15.408,22.514 15.592,22.26L15.77,22.032C15.958,21.81 16.18,21.605 16.463,21.438L16.464,21.438C16.847,21.215 17.242,21.129 17.622,21.086C17.984,21.046 18.417,21.04 18.893,21.032L19.409,21.02C20.536,20.981 21.151,20.883 21.634,20.683L21.661,20.671C22.803,20.19 23.71,19.279 24.184,18.134C24.339,17.759 24.437,17.288 24.489,16.531C24.542,15.765 24.541,14.79 24.541,13.416V12.25C24.541,10.319 24.54,8.949 24.439,7.886C24.339,6.836 24.151,6.201 23.847,5.706L23.832,5.682C23.445,5.059 22.918,4.534 22.292,4.151L22.272,4.139C21.78,3.843 21.148,3.659 20.115,3.561C19.051,3.458 17.681,3.458 15.75,3.458H12.25ZM10.849,23.114C10.892,23.161 10.94,23.218 10.993,23.291C11.116,23.46 11.25,23.679 11.433,23.987L11.536,23.927L12.508,23.35C12.324,23.039 12.163,22.771 12.004,22.555L11.999,22.548C11.859,22.343 11.688,22.161 11.491,22.011L10.849,23.114ZM16.507,22.01C16.375,22.112 16.259,22.228 16.152,22.355L15.996,22.554C15.839,22.771 15.675,23.039 15.491,23.35L16.566,23.987C16.749,23.68 16.883,23.46 17.006,23.291L17.106,23.163C17.121,23.145 17.136,23.129 17.15,23.114L16.507,22.01ZM9.327,22.786C9.701,22.794 9.968,22.802 10.184,22.825C10.276,22.836 10.353,22.85 10.416,22.864L11.058,21.76C10.827,21.662 10.581,21.603 10.33,21.584L10.322,21.583C10.047,21.553 9.725,21.544 9.349,21.537L9.327,22.786ZM18.652,21.537C18.39,21.542 18.154,21.547 17.942,21.56L17.678,21.583C17.418,21.612 17.173,21.661 16.94,21.759L17.582,22.864C17.646,22.85 17.722,22.836 17.816,22.825L18.028,22.808C18.203,22.796 18.412,22.791 18.672,22.786L18.661,22.159L18.652,21.537ZM5.93,22.386C6.715,22.662 7.616,22.748 8.827,22.776L8.849,21.525C7.702,21.497 6.981,21.42 6.408,21.23L5.93,22.386ZM21.591,21.23C21.019,21.42 20.298,21.497 19.152,21.525L19.173,22.774C20.384,22.747 21.285,22.661 22.07,22.385L21.591,21.23ZM2.301,19.032C2.62,19.726 3.059,20.359 3.6,20.899C4.14,21.44 4.773,21.878 5.466,22.197L5.944,21.043C4.851,20.527 3.972,19.647 3.456,18.554L2.301,19.032ZM24.544,18.554C24.029,19.647 23.149,20.527 22.055,21.043L22.532,22.197C23.226,21.878 23.859,21.44 24.4,20.899C24.941,20.359 25.379,19.726 25.698,19.032L25.126,18.796L24.544,18.554ZM1.709,13.666C1.71,14.897 1.712,15.863 1.766,16.65C1.816,17.391 1.913,18.009 2.111,18.57L3.269,18.091C3.137,17.692 3.057,17.215 3.013,16.566L2.981,15.934C2.96,15.313 2.959,14.575 2.959,13.666H1.709ZM25.04,13.666C25.04,14.906 25.039,15.828 24.988,16.566C24.943,17.215 24.862,17.692 24.731,18.091L25.889,18.57C26.087,18.008 26.183,17.392 26.235,16.65C26.289,15.863 26.29,14.897 26.29,13.666H25.04ZM25.041,13.166H26.291V12.5H25.041V13.166ZM1.708,13.166H2.958V12.5H1.708V13.166ZM24.396,5.662C24.68,6.21 24.846,6.883 24.937,7.838C25.036,8.883 25.041,10.206 25.041,12H26.291C26.291,10.223 26.287,8.834 26.181,7.719C26.079,6.646 25.876,5.774 25.462,5.01L24.396,5.662ZM2.536,5.011C2.179,5.67 1.979,6.409 1.866,7.289L1.818,7.719C1.713,8.836 1.709,10.224 1.708,12H2.958C2.958,10.207 2.962,8.883 3.063,7.837C3.154,6.883 3.319,6.21 3.603,5.662L2.536,5.011ZM4.582,2.796C3.875,3.268 3.268,3.875 2.796,4.583L3.324,4.905L3.863,5.235C4.23,4.696 4.695,4.23 5.235,3.862L4.682,2.958L4.582,2.796ZM23.094,3.322L23.095,3.323L22.764,3.862C23.304,4.23 23.769,4.695 24.137,5.234L25.202,4.582C24.73,3.875 24.124,3.268 23.416,2.796L23.094,3.322ZM12,1.708C10.456,1.708 9.205,1.712 8.171,1.781L7.719,1.817C6.647,1.92 5.774,2.122 5.01,2.536L5.662,3.603C6.21,3.318 6.883,3.153 7.838,3.063C8.883,2.963 10.207,2.958 12,2.958V1.708ZM16,2.958C17.792,2.958 19.116,2.962 20.161,3.063C21.115,3.153 21.789,3.319 22.336,3.602L22.723,2.972L22.989,2.536C22.224,2.123 21.353,1.92 20.281,1.817C19.166,1.712 17.777,1.708 16,1.708V2.958ZM12.5,2.958H15.5V1.708H12.5V2.958Z"
android:fillColor="#4F7942"/>
<path
android:pathData="M9.344,11.633C10.007,11.633 10.544,12.17 10.544,12.833C10.544,13.496 10.007,14.033 9.344,14.033H9.333C8.671,14.033 8.133,13.496 8.133,12.833C8.133,12.17 8.671,11.633 9.333,11.633H9.344ZM14,11.633C14.663,11.633 15.2,12.17 15.2,12.833C15.2,13.496 14.663,14.033 14,14.033H13.99C13.327,14.033 12.789,13.496 12.789,12.833C12.789,12.17 13.327,11.633 13.99,11.633H14ZM18.666,11.633C19.329,11.633 19.867,12.17 19.867,12.833C19.867,13.496 19.329,14.033 18.666,14.033H18.657C17.994,14.033 17.456,13.496 17.456,12.833C17.456,12.17 17.994,11.633 18.657,11.633H18.666Z"
android:fillColor="#4F7942"/>
</vector>
4 changes: 4 additions & 0 deletions app/src/main/res/menu/bottom_nav_menu.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@
android:id="@id/matching_nav_graph"
android:icon="@drawable/ic_nav_matching"
android:title="@string/matching" />
<item
android:id="@id/chatting_nav_graph"
android:icon="@drawable/ic_chatting"
android:title="@string/chatting"/>
<item
android:id="@id/timer_nav_graph"
android:icon="@drawable/ic_nav_timer"
Expand Down
1 change: 1 addition & 0 deletions app/src/main/res/navigation/bottom_nav_graph.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

<include app:graph="@navigation/exercise_nav_graph" />
<include app:graph="@navigation/matching_nav_graph"/>
<include app:graph="@navigation/chatting_nav_graph"/>
<include app:graph="@navigation/timer_nav_graph" />
<include app:graph="@navigation/profile_nav_graph" />

Expand Down
1 change: 1 addition & 0 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@

<string name="exercise_record">기록</string>
<string name="matching">매칭</string>
<string name="chatting">채팅</string>
<string name="timer">타이머</string>
<string name="profile">MY</string>
</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -43,4 +43,6 @@ object CommonDateTimeFormatters {
val YY_MM_DD_HH_MM: DateTimeFormatter = DateTimeFormatter.ofPattern("yy.MM.dd HH:mm", Locale.KOREAN)
val YYYY_MM_DD_KR = DateTimeFormatter.ofPattern("yyyy년 MM월 dd일", Locale.KOREA)
val YYYY_M_KR = DateTimeFormatter.ofPattern("yyyy년 M월", Locale.KOREA)
val a_h_mm_KR = DateTimeFormatter.ofPattern("a h:mm", Locale.KOREAN)
val YYYY_MM_DD_SLASH_KR = DateTimeFormatter.ofPattern("yyyy-MM-dd", Locale.KOREAN)
}
Loading