From 85ac2d14ab01e9b4b72195535aa25064b511409e Mon Sep 17 00:00:00 2001 From: soopeach Date: Mon, 25 Sep 2023 15:59:15 +0900 Subject: [PATCH 1/2] =?UTF-8?q?[feat/search=5Fstatus=5Ficon=5Fand=5Ftext]:?= =?UTF-8?q?=20JMT=20=EC=BA=90=EB=A6=AD=ED=84=B0=20drawable=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/res/drawable/jmt_normal_character.png | Bin 0 -> 2583 bytes .../src/main/res/drawable/jmt_wink_character.png | Bin 0 -> 2589 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 presentation/src/main/res/drawable/jmt_normal_character.png create mode 100644 presentation/src/main/res/drawable/jmt_wink_character.png diff --git a/presentation/src/main/res/drawable/jmt_normal_character.png b/presentation/src/main/res/drawable/jmt_normal_character.png new file mode 100644 index 0000000000000000000000000000000000000000..6f60df6e2f718878072f24940b2edc4567f832a6 GIT binary patch literal 2583 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 literal 0 HcmV?d00001 From a66f2f5577a055feab4b4a547e6960edfbb3adff Mon Sep 17 00:00:00 2001 From: soopeach Date: Mon, 25 Sep 2023 15:59:25 +0900 Subject: [PATCH 2/2] =?UTF-8?q?[feat/search=5Fstatus=5Ficon=5Fand=5Ftext]:?= =?UTF-8?q?=20=EB=A7=9B=EC=A7=91=20=EA=B2=80=EC=83=89=20=EC=A0=84,=20?= =?UTF-8?q?=EA=B2=80=EC=83=89=20=EA=B2=B0=EA=B3=BC=EA=B0=80=20=EC=97=86?= =?UTF-8?q?=EC=9D=84=20=EB=95=8C=20=EC=95=84=EC=9D=B4=EC=BD=98=20=EB=B0=8F?= =?UTF-8?q?=20=EB=AC=B8=EA=B5=AC=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SearchRestaurantLocationInfoFragment.kt | 44 +++++++++++++++-- ...agment_search_restaurant_location_info.xml | 49 ++++++++++++++++--- presentation/src/main/res/values/strings.xml | 2 + 3 files changed, 84 insertions(+), 11 deletions(-) diff --git a/presentation/src/main/java/org/gdsc/presentation/view/restaurantregistration/SearchRestaurantLocationInfoFragment.kt b/presentation/src/main/java/org/gdsc/presentation/view/restaurantregistration/SearchRestaurantLocationInfoFragment.kt index e0431256..23d024cb 100644 --- a/presentation/src/main/java/org/gdsc/presentation/view/restaurantregistration/SearchRestaurantLocationInfoFragment.kt +++ b/presentation/src/main/java/org/gdsc/presentation/view/restaurantregistration/SearchRestaurantLocationInfoFragment.kt @@ -5,6 +5,7 @@ import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.annotation.DrawableRes import androidx.fragment.app.viewModels import androidx.lifecycle.lifecycleScope import androidx.navigation.fragment.findNavController @@ -62,6 +63,9 @@ class SearchRestaurantLocationInfoFragment : Fragment() { setSearchEditTextDebounceWatcher { if (binding.restaurantNameEditText.text.isNotEmpty()) { + + setVisibleStatusContainer(false) + viewLifecycleOwner.lifecycleScope.launch { val currentLocation = viewModel.getCurrentLocation() @@ -70,19 +74,37 @@ class SearchRestaurantLocationInfoFragment : Fragment() { val response = viewModel.getRestaurantLocationInfo( binding.restaurantNameEditText.text, - currentLocation.latitude.toString(), currentLocation.longitude.toString(), 1 + currentLocation.latitude.toString(), + currentLocation.longitude.toString(), + 1 ) - // TODO: Error Handling - adapter.setTargetString(binding.restaurantNameEditText.text) - adapter.submitList(response) + if (response.isNotEmpty()) { + // TODO: Error Handling + adapter.setTargetString(binding.restaurantNameEditText.text) + adapter.submitList(response) + } else { + setVisibleStatusContainer(true) + setStatusImage(R.drawable.jmt_normal_character) + setStatusContainerText(getString(R.string.no_searched_result)) + adapter.submitList(emptyList()) + } + + } else { - JmtSnackbar.make(binding.root, getString(R.string.get_location_error), Snackbar.LENGTH_SHORT) + JmtSnackbar.make( + binding.root, + getString(R.string.get_location_error), + Snackbar.LENGTH_SHORT + ) .setTextColor(R.color.unable_nickname_color).show() } } } else { + setVisibleStatusContainer(true) + setStatusImage(R.drawable.jmt_wink_character) + setStatusContainerText(getString(R.string.search_for_recommendable_restaurant)) adapter.submitList(emptyList()) } @@ -113,4 +135,16 @@ class SearchRestaurantLocationInfoFragment : Fragment() { private fun setToolbarTitle() { (requireActivity() as MainActivity).changeToolbarTitle("맛집등록") } + + private fun setVisibleStatusContainer(isVisible: Boolean) { + binding.statusContainer.visibility = if (isVisible) View.VISIBLE else View.GONE + } + + private fun setStatusImage(@DrawableRes imageResId: Int) { + binding.statusImage.setImageResource(imageResId) + } + + private fun setStatusContainerText(text: String) { + binding.statusText.text = text + } } \ No newline at end of file diff --git a/presentation/src/main/res/layout/fragment_search_restaurant_location_info.xml b/presentation/src/main/res/layout/fragment_search_restaurant_location_info.xml index 4c5f3250..7815b707 100644 --- a/presentation/src/main/res/layout/fragment_search_restaurant_location_info.xml +++ b/presentation/src/main/res/layout/fragment_search_restaurant_location_info.xml @@ -1,27 +1,64 @@ + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + + + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent"> + + + + + + + + \ No newline at end of file diff --git a/presentation/src/main/res/values/strings.xml b/presentation/src/main/res/values/strings.xml index cbe5767e..7e62e567 100644 --- a/presentation/src/main/res/values/strings.xml +++ b/presentation/src/main/res/values/strings.xml @@ -70,5 +70,7 @@ 앗, 서비스 준비 중이에요!\n   조금만 기다려주세요. 존마탱 캐릭터 이미지 + 추천 해주고 싶은\n 맛집을 검색해주세요! + 검색 결과가 없어요.\n올바른 식당명인지 확인해주세요. \ No newline at end of file