From f0b101a8c148fba87e16163dda42c60ee2987402 Mon Sep 17 00:00:00 2001 From: Nahyun Kim Date: Thu, 9 Jan 2025 03:40:55 +0900 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A8=20Style:=20=ED=95=A8=EC=88=98,=20?= =?UTF-8?q?=EB=B3=80=EC=88=98=EB=AA=85=20=EC=98=A4=ED=83=80=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Friend 데이터 클래스의 userId - ScheduleRepository에서의 getGuestInvitationLink Related to: #347 --- .../repositoriyImpl/ScheduleRepositoryImpl.kt | 2 +- .../namo/data/utils/mappers/FriendMapper.kt | 2 +- .../mongmong/namo/domain/model/FriendModel.kt | 2 +- .../domain/repositories/ScheduleRepository.kt | 2 +- .../community/calendar/CalendarViewModel.kt | 4 +-- .../ui/community/friend/FriendFragment.kt | 2 +- .../ui/community/friend/FriendInfoDialog.kt | 4 +-- .../ui/community/moim/MoimFragment.kt | 34 ++++++++++++++++--- .../moim/schedule/FriendInviteViewModel.kt | 2 +- .../moim/schedule/MoimScheduleViewModel.kt | 2 +- 10 files changed, 41 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/com/mongmong/namo/data/repositoriyImpl/ScheduleRepositoryImpl.kt b/app/src/main/java/com/mongmong/namo/data/repositoriyImpl/ScheduleRepositoryImpl.kt index 17d3e79b..c9955c0a 100644 --- a/app/src/main/java/com/mongmong/namo/data/repositoriyImpl/ScheduleRepositoryImpl.kt +++ b/app/src/main/java/com/mongmong/namo/data/repositoriyImpl/ScheduleRepositoryImpl.kt @@ -118,7 +118,7 @@ class ScheduleRepositoryImpl @Inject constructor( ).isSuccess } - override suspend fun getGuestInvitaionLink(moimScheduleId: Long): String { + override suspend fun getGuestInvitationLink(moimScheduleId: Long): String { return remoteScheduleDataSource.getGuestInvitationLink(moimScheduleId).result } } \ No newline at end of file diff --git a/app/src/main/java/com/mongmong/namo/data/utils/mappers/FriendMapper.kt b/app/src/main/java/com/mongmong/namo/data/utils/mappers/FriendMapper.kt index 1dcca642..1fba6f0f 100644 --- a/app/src/main/java/com/mongmong/namo/data/utils/mappers/FriendMapper.kt +++ b/app/src/main/java/com/mongmong/namo/data/utils/mappers/FriendMapper.kt @@ -14,7 +14,7 @@ import com.mongmong.namo.presentation.utils.converter.ScheduleDateConverter object FriendMapper { fun FriendDTO.toModel(): Friend { return Friend( - userid = this.memberId, + userId = this.memberId, profileUrl = this.profileImage, nickname = this.nickname, name = this.nickname, diff --git a/app/src/main/java/com/mongmong/namo/domain/model/FriendModel.kt b/app/src/main/java/com/mongmong/namo/domain/model/FriendModel.kt index 25b48101..8cee2dd1 100644 --- a/app/src/main/java/com/mongmong/namo/domain/model/FriendModel.kt +++ b/app/src/main/java/com/mongmong/namo/domain/model/FriendModel.kt @@ -4,7 +4,7 @@ import org.joda.time.LocalDateTime import java.io.Serializable data class Friend( - val userid: Long, + val userId: Long, val profileUrl: String?, val nickname: String, val tag: String, diff --git a/app/src/main/java/com/mongmong/namo/domain/repositories/ScheduleRepository.kt b/app/src/main/java/com/mongmong/namo/domain/repositories/ScheduleRepository.kt index 7f00585d..ff548e70 100644 --- a/app/src/main/java/com/mongmong/namo/domain/repositories/ScheduleRepository.kt +++ b/app/src/main/java/com/mongmong/namo/domain/repositories/ScheduleRepository.kt @@ -70,7 +70,7 @@ interface ScheduleRepository { memberIdsToInvite: List ): Boolean - suspend fun getGuestInvitaionLink( + suspend fun getGuestInvitationLink( moimScheduleId: Long ): String } \ No newline at end of file diff --git a/app/src/main/java/com/mongmong/namo/presentation/ui/community/calendar/CalendarViewModel.kt b/app/src/main/java/com/mongmong/namo/presentation/ui/community/calendar/CalendarViewModel.kt index d9c32f72..237a4254 100644 --- a/app/src/main/java/com/mongmong/namo/presentation/ui/community/calendar/CalendarViewModel.kt +++ b/app/src/main/java/com/mongmong/namo/presentation/ui/community/calendar/CalendarViewModel.kt @@ -77,7 +77,7 @@ class CalendarViewModel @Inject constructor ( viewModelScope.launch { // 범위로 일정 목록 조회 _friendScheduleList.value = friendRepository.getFriendCalendar( - userId = friend.userid, + userId = friend.userId, startDate = _monthDateList.first(), // 캘린더에 표시되는 첫번쨰 날짜 endDate = _monthDateList.last() // 캘린더에 표시되는 마지막 날짜 ) @@ -87,7 +87,7 @@ class CalendarViewModel @Inject constructor ( /** 친구 카테고리 조회 */ fun getFriendCategories() { viewModelScope.launch { - friendCategoryList = friendRepository.getFriendCategoryList(friend.userid) + friendCategoryList = friendRepository.getFriendCategoryList(friend.userId) } } diff --git a/app/src/main/java/com/mongmong/namo/presentation/ui/community/friend/FriendFragment.kt b/app/src/main/java/com/mongmong/namo/presentation/ui/community/friend/FriendFragment.kt index 25bd9a60..001b6f9b 100644 --- a/app/src/main/java/com/mongmong/namo/presentation/ui/community/friend/FriendFragment.kt +++ b/app/src/main/java/com/mongmong/namo/presentation/ui/community/friend/FriendFragment.kt @@ -47,7 +47,7 @@ class FriendFragment : BaseFragment(R.layout.fragment_fri friendAdapter.setItemClickListener(object : FriendRVAdapter.MyItemClickListener { override fun onFavoriteButtonClick(position: Int) { // 즐겨찾기 상태 변경 - viewModel.toggleFriendFavoriteState(viewModel.friendList.value!![position].userid) + viewModel.toggleFriendFavoriteState(viewModel.friendList.value!![position].userId) } override fun onItemClick(position: Int) { diff --git a/app/src/main/java/com/mongmong/namo/presentation/ui/community/friend/FriendInfoDialog.kt b/app/src/main/java/com/mongmong/namo/presentation/ui/community/friend/FriendInfoDialog.kt index ee2b5430..1b18e7fd 100644 --- a/app/src/main/java/com/mongmong/namo/presentation/ui/community/friend/FriendInfoDialog.kt +++ b/app/src/main/java/com/mongmong/namo/presentation/ui/community/friend/FriendInfoDialog.kt @@ -62,7 +62,7 @@ class FriendInfoDialog( // 즐겨찾기 버튼 클릭 binding.friendInfoFavoriteIv.setOnClickListener { - viewModel.toggleFriendFavoriteState(friendInfo!!.userid) + viewModel.toggleFriendFavoriteState(friendInfo!!.userId) binding.isFavorite = !binding.isFavorite!! // 즐겨찾기 여부 전환 } @@ -77,7 +77,7 @@ class FriendInfoDialog( // 친구 리스트 - 삭제 버튼 클릭 binding.friendInfoDeleteBtn.setOnClickListener { - viewModel.deleteFriend(friendInfo!!.userid) + viewModel.deleteFriend(friendInfo!!.userId) } // 친구 요청 - 수락 버튼 클릭 diff --git a/app/src/main/java/com/mongmong/namo/presentation/ui/community/moim/MoimFragment.kt b/app/src/main/java/com/mongmong/namo/presentation/ui/community/moim/MoimFragment.kt index 604c9730..eb7413f6 100644 --- a/app/src/main/java/com/mongmong/namo/presentation/ui/community/moim/MoimFragment.kt +++ b/app/src/main/java/com/mongmong/namo/presentation/ui/community/moim/MoimFragment.kt @@ -4,19 +4,24 @@ import android.app.Activity import android.content.Intent import android.util.Log import androidx.activity.result.contract.ActivityResultContracts +import androidx.core.content.ContextCompat import androidx.fragment.app.viewModels import androidx.recyclerview.widget.LinearLayoutManager import com.mongmong.namo.R import com.mongmong.namo.databinding.FragmentMoimBinding import com.mongmong.namo.domain.model.Moim import com.mongmong.namo.presentation.config.BaseFragment +import com.mongmong.namo.presentation.ui.common.ConfirmDialog +import com.mongmong.namo.presentation.ui.common.ConfirmDialog.ConfirmDialogInterface import com.mongmong.namo.presentation.ui.community.moim.diary.MoimDiaryDetailActivity import com.mongmong.namo.presentation.ui.community.moim.adapter.MoimRVAdapter +import com.mongmong.namo.presentation.ui.community.moim.schedule.FriendInviteActivity import com.mongmong.namo.presentation.ui.community.moim.schedule.MoimScheduleActivity import dagger.hilt.android.AndroidEntryPoint @AndroidEntryPoint -class MoimFragment : BaseFragment(R.layout.fragment_moim) { +class MoimFragment : BaseFragment(R.layout.fragment_moim), + ConfirmDialogInterface { private val viewModel: MoimViewModel by viewModels() @@ -24,10 +29,18 @@ class MoimFragment : BaseFragment(R.layout.fragment_moim) { private val getResultText = registerForActivityResult( ActivityResultContracts.StartActivityForResult() - ) {result -> + ) { result -> + Log.d("MoimFragment", "ActivityResult received") if (result.resultCode == Activity.RESULT_OK) { - val edited = result.data?.getBooleanExtra(MOIM_EDIT_KEY, false) - if (edited == true) viewModel.getMoim() // 변경 사항이 있다면 업데이트 + Log.d("MoimFragment", "Result OK") + val isEdited = result.data?.getBooleanExtra(MOIM_EDIT_KEY, false) + if (isEdited == true) viewModel.getMoim() // 변경 사항이 있다면 업데이트 + + val createdMoimTitle = result.data?.getStringExtra(MOIM_CREATE_KEY) + Log.d("MoimFragment", "isEdited: $isEdited, createdMoimTitle: $createdMoimTitle") + if (createdMoimTitle != null) showCustomDialog(getString(R.string.dialog_moim_friend_invite_title, createdMoimTitle), R.string.dialog_moim_friend_invite_content, R.string.continuously, 0) + } else { + Log.d("MoimFragment", "Result not OK: ${result.resultCode}") } } @@ -70,6 +83,13 @@ class MoimFragment : BaseFragment(R.layout.fragment_moim) { }) } + private fun showCustomDialog(title: String, content: Int, buttonText: Int, id: Int) { + Log.d("MoimFragment", "showCustomDialog()") + val dialog = ConfirmDialog(this, title, getString(content), getString(buttonText), id) + dialog.isCancelable = false + activity?.let { dialog.show(it.supportFragmentManager, "ConfirmDialog") } + } + private fun initObserve() { viewModel.moimPreviewList.observe(viewLifecycleOwner) { if (it.isNotEmpty()) { @@ -79,7 +99,13 @@ class MoimFragment : BaseFragment(R.layout.fragment_moim) { } } + override fun onClickYesButton(id: Int) { + // 친구 초대 화면으로 이동 + startActivity(Intent(requireActivity(), FriendInviteActivity::class.java)) + } + companion object { const val MOIM_EDIT_KEY = "moim_edit_key" + const val MOIM_CREATE_KEY = "moim_create_key" } } \ No newline at end of file diff --git a/app/src/main/java/com/mongmong/namo/presentation/ui/community/moim/schedule/FriendInviteViewModel.kt b/app/src/main/java/com/mongmong/namo/presentation/ui/community/moim/schedule/FriendInviteViewModel.kt index 35b53dd9..227e8993 100644 --- a/app/src/main/java/com/mongmong/namo/presentation/ui/community/moim/schedule/FriendInviteViewModel.kt +++ b/app/src/main/java/com/mongmong/namo/presentation/ui/community/moim/schedule/FriendInviteViewModel.kt @@ -47,7 +47,7 @@ class FriendInviteViewModel @Inject constructor( Log.d("FriendInviteVM", "moimScheduleId: $moimScheduleId") if (moimScheduleId == 0L) return viewModelScope.launch { - _isSuccess.value = repository.inviteMoimParticipant(moimScheduleId, _friendToInviteList.value!!.map { friend -> friend.userid }) + _isSuccess.value = repository.inviteMoimParticipant(moimScheduleId, _friendToInviteList.value!!.map { friend -> friend.userId }) } } diff --git a/app/src/main/java/com/mongmong/namo/presentation/ui/community/moim/schedule/MoimScheduleViewModel.kt b/app/src/main/java/com/mongmong/namo/presentation/ui/community/moim/schedule/MoimScheduleViewModel.kt index b10d4d68..34837556 100644 --- a/app/src/main/java/com/mongmong/namo/presentation/ui/community/moim/schedule/MoimScheduleViewModel.kt +++ b/app/src/main/java/com/mongmong/namo/presentation/ui/community/moim/schedule/MoimScheduleViewModel.kt @@ -113,7 +113,7 @@ class MoimScheduleViewModel @Inject constructor( private fun getGuestInvitationLink() { viewModelScope.launch { - guestInvitationLink = repository.getGuestInvitaionLink(_moimSchedule.value!!.moimId) + guestInvitationLink = repository.getGuestInvitationLink(_moimSchedule.value!!.moimId) } }