Skip to content

Commit 5311b79

Browse files
committed
#40 feat/리뷰 작성 : 주소 검색 화면에서 주소 선택 시 address 를 전달하도록 수정
1 parent 6e0c8ad commit 5311b79

File tree

7 files changed

+26
-22
lines changed

7 files changed

+26
-22
lines changed

app/src/main/java/com/ftw/hometerview/ui/review/CreateReviewActivity.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import android.content.Intent
66
import android.os.Bundle
77
import androidx.appcompat.app.AppCompatActivity
88
import androidx.databinding.DataBindingUtil
9+
import com.ftw.domain.entity.Address
910
import com.ftw.domain.entity.Review
1011
import com.ftw.hometerview.R
1112
import com.ftw.hometerview.databinding.ActivityCreateReviewBinding
@@ -51,11 +52,11 @@ class CreateReviewActivity :
5152
)
5253
}
5354

54-
override fun onClickAddressFromFirstStepAddress(buildingId: String) {
55-
viewModel.setAddress(buildingId)
55+
override fun onClickAddressFromFirstStepAddress(address: Address) {
56+
viewModel.setBuildingId(address.id)
5657
addFragment(
5758
R.id.fragment_container_view,
58-
CreateReviewFirstStepSelectFloorFragment.newInstance(buildingId),
59+
CreateReviewFirstStepSelectFloorFragment.newInstance(address.name),
5960
true
6061
)
6162
}

app/src/main/java/com/ftw/hometerview/ui/review/CreateReviewViewModel.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ class CreateReviewViewModel(
1919
private var disadvantage: String? = null
2020
private var floor: String? = null
2121

22-
fun setAddress(buildingId: String) {
22+
fun setBuildingId(buildingId: String) {
2323
this.buildingId = buildingId
2424
}
2525

app/src/main/java/com/ftw/hometerview/ui/review/first/CreateReviewFirstStepInputAddressFragment.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import androidx.fragment.app.Fragment
1010
import androidx.lifecycle.Lifecycle
1111
import androidx.lifecycle.lifecycleScope
1212
import androidx.lifecycle.repeatOnLifecycle
13+
import com.ftw.domain.entity.Address
1314
import com.ftw.hometerview.R
1415
import com.ftw.hometerview.adapter.DataBindingRecyclerAdapter
1516
import com.ftw.hometerview.adapter.DividerItemDecoration
@@ -27,7 +28,7 @@ class CreateReviewFirstStepInputAddressFragment : Fragment() {
2728
}
2829

2930
interface Listener {
30-
fun onClickAddressFromFirstStepAddress(buildingId: String)
31+
fun onClickAddressFromFirstStepAddress(address: Address)
3132
}
3233

3334
private var _binding: FragmentCreateReviewFirstStepInputAddressBinding? = null
@@ -86,7 +87,7 @@ class CreateReviewFirstStepInputAddressFragment : Fragment() {
8687
when (event) {
8788
is CreateReviewFirstStepInputAddressViewModel.Event.OnClickAddress -> {
8889
hideKeyboard()
89-
(activity as? Listener)?.onClickAddressFromFirstStepAddress(event.buildingId)
90+
(activity as? Listener)?.onClickAddressFromFirstStepAddress(event.address)
9091
}
9192
is CreateReviewFirstStepInputAddressViewModel.Event.Error -> {
9293
Toast.makeText(requireContext(), event.throwable.message, Toast.LENGTH_SHORT)

app/src/main/java/com/ftw/hometerview/ui/review/first/CreateReviewFirstStepInputAddressViewModel.kt

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.ftw.hometerview.ui.review.first
22

3+
import com.ftw.domain.entity.Address
34
import com.ftw.domain.usecase.search.GetSearchedBuildingAddressesUseCase
45
import com.ftw.hometerview.BR
56
import com.ftw.hometerview.R
@@ -26,7 +27,7 @@ class CreateReviewFirstStepInputAddressViewModel(
2627
sealed class Event {
2728
object Nothing : Event()
2829
data class Error(val throwable: Throwable) : Event()
29-
data class OnClickAddress(val buildingId: String) : Event()
30+
data class OnClickAddress(val address: Address) : Event()
3031
}
3132

3233
private val _event: MutableStateFlow<Event> = MutableStateFlow(Event.Nothing)
@@ -54,7 +55,7 @@ class CreateReviewFirstStepInputAddressViewModel(
5455
addresses.map { searchedAddress ->
5556
RecyclerItem(
5657
data = CreateReviewAddressItem(
57-
buildingId = searchedAddress.id,
58+
address = searchedAddress,
5859
onClick = { _event.value = Event.OnClickAddress(it) }
5960
),
6061
layoutId = R.layout.list_item_create_review_search_address,
@@ -70,10 +71,10 @@ class CreateReviewFirstStepInputAddressViewModel(
7071
}
7172

7273
data class CreateReviewAddressItem(
73-
val buildingId: String,
74-
val onClick: (String) -> Unit
74+
val address: Address,
75+
val onClick: (Address) -> Unit
7576
) {
7677
fun onClick() {
77-
this.onClick(buildingId)
78+
this.onClick(address)
7879
}
7980
}

app/src/main/res/layout/fragment_create_review_first_step_select_floor.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
android:layout_width="wrap_content"
4747
android:layout_height="wrap_content"
4848
android:layout_marginStart="@dimen/dp_size_14"
49+
android:onClick="@{() -> viewModel.onClickBack()}"
4950
app:srcCompat="@drawable/icon_back"
5051
app:layout_constraintTop_toTopOf="parent"
5152
app:layout_constraintBottom_toBottomOf="parent"

app/src/main/res/layout/list_item_create_review_search_address.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
android:padding="@dimen/dp_size_16"
1414
android:background="@color/white"
1515
android:onClick="@{() -> item.onClick()}"
16-
android:text="@{item.buildingId}"
16+
android:text="@{item.address.name}"
1717
android:fontFamily="@font/pretendard_regular"
1818
android:textSize="@dimen/sp_size_14"
1919
android:textColor="@color/gray_900"

domain/src/main/java/com/ftw/domain/usecase/search/GetSearchedBuildingAddressesUseCaseImpl.kt

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@ class GetSearchedBuildingAddressesUseCaseImpl(
77
private val repository: SearchRepository
88
) : GetSearchedBuildingAddressesUseCase {
99
override suspend fun invoke(keyword: String): List<Address> {
10-
return repository.buildings(keyword)
11-
// return listOf(
12-
// Address("0", "서울 마포구 월드컵북로"),
13-
// Address("1", "서울 마포구 월드컵북로 1길 35"),
14-
// Address("2", "서울 마포구 월드컵북로 2길 3"),
15-
// Address("3", "서울 마포구 월드컵북로 4길 6"),
16-
// Address("4", "서울 마포구 월드컵북로 5가길 12"),
17-
// Address("5", "서울 마포구 월드컵북로 5나길 2"),
18-
// Address("6", "서울 마포구 월드컵북로 52길 9")
19-
// )
10+
// return repository.buildings(key®word)
11+
return listOf(
12+
Address("0", "서울 마포구 월드컵북로"),
13+
Address("1", "서울 마포구 월드컵북로 1길 35"),
14+
Address("2", "서울 마포구 월드컵북로 2길 3"),
15+
Address("3", "서울 마포구 월드컵북로 4길 6"),
16+
Address("4", "서울 마포구 월드컵북로 5가길 12"),
17+
Address("5", "서울 마포구 월드컵북로 5나길 2"),
18+
Address("6", "서울 마포구 월드컵북로 52길 9")
19+
)
2020
}
2121
}

0 commit comments

Comments
 (0)