From 8fb59f8dd8f85b796394c18f419c469e6e17b5ac Mon Sep 17 00:00:00 2001 From: Strone Date: Thu, 11 Apr 2024 15:27:53 +0900 Subject: [PATCH 01/11] Fix non-matching current dining-current date --- .../main/java/in/koreatech/koin/ui/dining/DiningActivity.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/koin/src/main/java/in/koreatech/koin/ui/dining/DiningActivity.kt b/koin/src/main/java/in/koreatech/koin/ui/dining/DiningActivity.kt index c52d06744e..24aa29935e 100644 --- a/koin/src/main/java/in/koreatech/koin/ui/dining/DiningActivity.kt +++ b/koin/src/main/java/in/koreatech/koin/ui/dining/DiningActivity.kt @@ -80,7 +80,10 @@ class DiningActivity : KoinNavigationDrawerActivity() { DiningType.Breakfast -> tabsDiningTime.selectTab(tabsDiningTime.getTabAt(0)) DiningType.Lunch -> tabsDiningTime.selectTab(tabsDiningTime.getTabAt(1)) DiningType.Dinner -> tabsDiningTime.selectTab(tabsDiningTime.getTabAt(2)) - DiningType.NextBreakfast -> tabsDiningTime.selectTab(tabsDiningTime.getTabAt(0)) + DiningType.NextBreakfast -> { + tabsDiningTime.selectTab(tabsDiningTime.getTabAt(0)) + diningDateAdapter.setSelectedPosition(dates.size / 2 + 1) + } } } } From fcaff36df10318d311bbcaaad512dc3486b92f30 Mon Sep 17 00:00:00 2001 From: Strone Date: Thu, 11 Apr 2024 15:28:33 +0900 Subject: [PATCH 02/11] Fix wrong image ui about no photo --- .../koin/ui/dining/adapter/DiningAdapter.kt | 3 +++ koin/src/main/res/layout/item_dining.xml | 12 +++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/koin/src/main/java/in/koreatech/koin/ui/dining/adapter/DiningAdapter.kt b/koin/src/main/java/in/koreatech/koin/ui/dining/adapter/DiningAdapter.kt index ee794b114b..bfd7b84726 100644 --- a/koin/src/main/java/in/koreatech/koin/ui/dining/adapter/DiningAdapter.kt +++ b/koin/src/main/java/in/koreatech/koin/ui/dining/adapter/DiningAdapter.kt @@ -45,6 +45,9 @@ class DiningAdapter : ListAdapter(diffCallback) .load(dining.imageUrl) .into(imageViewDining) + textViewNoPhoto.visibility = View.INVISIBLE + imageViewNoPhoto.visibility = View.INVISIBLE + val dialog = Dialog(context).apply { setContentView(R.layout.dialog_dining_image) window?.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT)) diff --git a/koin/src/main/res/layout/item_dining.xml b/koin/src/main/res/layout/item_dining.xml index 65023d69c0..f2c1f46962 100644 --- a/koin/src/main/res/layout/item_dining.xml +++ b/koin/src/main/res/layout/item_dining.xml @@ -118,6 +118,16 @@ + + Date: Thu, 11 Apr 2024 15:37:26 +0900 Subject: [PATCH 03/11] Fix contents inside cardview overflows radius --- koin/src/main/res/layout/item_dining.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/koin/src/main/res/layout/item_dining.xml b/koin/src/main/res/layout/item_dining.xml index f2c1f46962..b5df9b597c 100644 --- a/koin/src/main/res/layout/item_dining.xml +++ b/koin/src/main/res/layout/item_dining.xml @@ -104,7 +104,6 @@ app:cardCornerRadius="10dp" android:layout_marginTop="16dp" android:layout_marginEnd="24dp" - android:outlineProvider="none" app:strokeWidth="1dp" app:strokeColor="#CACACA" app:rippleColor="@android:color/transparent" From b11f25af538d486cae78686b60848312887eccb2 Mon Sep 17 00:00:00 2001 From: Strone Date: Thu, 11 Apr 2024 15:41:24 +0900 Subject: [PATCH 04/11] Set priority between dining changed and dining soldout --- .../koin/ui/dining/adapter/DiningAdapter.kt | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/koin/src/main/java/in/koreatech/koin/ui/dining/adapter/DiningAdapter.kt b/koin/src/main/java/in/koreatech/koin/ui/dining/adapter/DiningAdapter.kt index bfd7b84726..92936ba2f9 100644 --- a/koin/src/main/java/in/koreatech/koin/ui/dining/adapter/DiningAdapter.kt +++ b/koin/src/main/java/in/koreatech/koin/ui/dining/adapter/DiningAdapter.kt @@ -65,19 +65,20 @@ class DiningAdapter : ListAdapter(diffCallback) } } + if(dining.changedAt.isNotEmpty()) { + textViewDiningChanged.visibility = View.VISIBLE + } else { + textViewDiningChanged.visibility = View.INVISIBLE + } + if(dining.soldoutAt.isNotEmpty()) { groupSoldOut.visibility = View.VISIBLE textViewDiningSoldOut.visibility = View.VISIBLE + textViewDiningChanged.visibility = View.INVISIBLE } else { groupSoldOut.visibility = View.INVISIBLE textViewDiningSoldOut.visibility = View.INVISIBLE } - - if(dining.changedAt.isNotEmpty()) { - textViewDiningChanged.visibility = View.VISIBLE - } else { - textViewDiningChanged.visibility = View.INVISIBLE - } } } } From 08a38deda943dbba6bef5641dd6909aa73876744 Mon Sep 17 00:00:00 2001 From: Strone Date: Thu, 11 Apr 2024 15:58:15 +0900 Subject: [PATCH 05/11] Set card attribute and image scales --- .../koin/ui/dining/adapter/DiningAdapter.kt | 1 + koin/src/main/res/layout/dialog_dining_image.xml | 12 ++++++------ koin/src/main/res/layout/item_dining.xml | 2 ++ 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/koin/src/main/java/in/koreatech/koin/ui/dining/adapter/DiningAdapter.kt b/koin/src/main/java/in/koreatech/koin/ui/dining/adapter/DiningAdapter.kt index 92936ba2f9..dedfc1ad42 100644 --- a/koin/src/main/java/in/koreatech/koin/ui/dining/adapter/DiningAdapter.kt +++ b/koin/src/main/java/in/koreatech/koin/ui/dining/adapter/DiningAdapter.kt @@ -45,6 +45,7 @@ class DiningAdapter : ListAdapter(diffCallback) .load(dining.imageUrl) .into(imageViewDining) + cardViewDining.strokeWidth = 0 textViewNoPhoto.visibility = View.INVISIBLE imageViewNoPhoto.visibility = View.INVISIBLE diff --git a/koin/src/main/res/layout/dialog_dining_image.xml b/koin/src/main/res/layout/dialog_dining_image.xml index 9df573f14b..423e35feb3 100644 --- a/koin/src/main/res/layout/dialog_dining_image.xml +++ b/koin/src/main/res/layout/dialog_dining_image.xml @@ -1,7 +1,7 @@ @@ -119,6 +120,7 @@ android:id="@+id/image_view_dining" android:layout_width="match_parent" android:layout_height="match_parent" + android:scaleType="centerCrop" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toTopOf="parent" app:layout_constraintStart_toStartOf="parent" From fe5cc2f41dae8c65db1fb971d8fa9cd5a89de3d1 Mon Sep 17 00:00:00 2001 From: Strone Date: Thu, 11 Apr 2024 16:24:13 +0900 Subject: [PATCH 06/11] Remove unnecessary initialization --- .../in/koreatech/koin/ui/dining/viewmodel/DiningViewModel.kt | 4 ---- 1 file changed, 4 deletions(-) diff --git a/koin/src/main/java/in/koreatech/koin/ui/dining/viewmodel/DiningViewModel.kt b/koin/src/main/java/in/koreatech/koin/ui/dining/viewmodel/DiningViewModel.kt index 8c5cc281b2..d0f3ebc0cb 100644 --- a/koin/src/main/java/in/koreatech/koin/ui/dining/viewmodel/DiningViewModel.kt +++ b/koin/src/main/java/in/koreatech/koin/ui/dining/viewmodel/DiningViewModel.kt @@ -27,10 +27,6 @@ class DiningViewModel @Inject constructor( MutableStateFlow>(emptyList()) val dining: StateFlow> get() = _dining - init { - setSelectedDate(DiningUtil.getCurrentDate()) - } - fun setSelectedDate(date: Date) { _selectedDate.value = TimeUtil.dateFormatToYYYYMMDD(date) } From 6494dcb9037758f5ab1db42231397bf18ad4963a Mon Sep 17 00:00:00 2001 From: Strone Date: Thu, 11 Apr 2024 16:49:03 +0900 Subject: [PATCH 07/11] Fix wrong request format --- .../in/koreatech/koin/ui/dining/viewmodel/DiningViewModel.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/koin/src/main/java/in/koreatech/koin/ui/dining/viewmodel/DiningViewModel.kt b/koin/src/main/java/in/koreatech/koin/ui/dining/viewmodel/DiningViewModel.kt index d0f3ebc0cb..6ff0f251c4 100644 --- a/koin/src/main/java/in/koreatech/koin/ui/dining/viewmodel/DiningViewModel.kt +++ b/koin/src/main/java/in/koreatech/koin/ui/dining/viewmodel/DiningViewModel.kt @@ -28,7 +28,7 @@ class DiningViewModel @Inject constructor( val dining: StateFlow> get() = _dining fun setSelectedDate(date: Date) { - _selectedDate.value = TimeUtil.dateFormatToYYYYMMDD(date) + _selectedDate.value = TimeUtil.dateFormatToYYMMDD(date) } fun getDining( From d3177844f5996e3f81b700c4fa4b42baad475ec0 Mon Sep 17 00:00:00 2001 From: Strone Date: Mon, 15 Apr 2024 13:01:01 +0900 Subject: [PATCH 08/11] Remove mainactivity bus timetable auto scroll --- .../java/in/koreatech/koin/ui/main/activity/MainActivity.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/koin/src/main/java/in/koreatech/koin/ui/main/activity/MainActivity.kt b/koin/src/main/java/in/koreatech/koin/ui/main/activity/MainActivity.kt index 0bc739a2b0..2c05a43df2 100644 --- a/koin/src/main/java/in/koreatech/koin/ui/main/activity/MainActivity.kt +++ b/koin/src/main/java/in/koreatech/koin/ui/main/activity/MainActivity.kt @@ -87,9 +87,9 @@ class MainActivity : KoinNavigationDrawerActivity() { offscreenPageLimit = 3 currentItem = Int.MAX_VALUE / 2 - val nextItemPx = resources.getDimension(R.dimen.view_pager_next_item_visible_dp) - val currentItemMarginPx = resources.getDimension(R.dimen.view_pager_item_margin) - setPageTransformer(ScaledViewPager2Transformation(currentItemMarginPx, nextItemPx)) + // val nextItemPx = resources.getDimension(R.dimen.view_pager_next_item_visible_dp) + // val currentItemMarginPx = resources.getDimension(R.dimen.view_pager_item_margin) + // setPageTransformer(ScaledViewPager2Transformation(currentItemMarginPx, nextItemPx)) addItemDecoration( HorizontalMarginItemDecoration( this@MainActivity, From 9fa4bb4d86c7ce289dcb40302fb9462a6fe343a3 Mon Sep 17 00:00:00 2001 From: Strone Date: Mon, 15 Apr 2024 13:03:50 +0900 Subject: [PATCH 09/11] Add no-data text visibility --- .../koin/ui/dining/adapter/DiningAdapter.kt | 22 +++ koin/src/main/res/layout/item_dining.xml | 177 +++++++++--------- 2 files changed, 108 insertions(+), 91 deletions(-) diff --git a/koin/src/main/java/in/koreatech/koin/ui/dining/adapter/DiningAdapter.kt b/koin/src/main/java/in/koreatech/koin/ui/dining/adapter/DiningAdapter.kt index dedfc1ad42..3d56b696ac 100644 --- a/koin/src/main/java/in/koreatech/koin/ui/dining/adapter/DiningAdapter.kt +++ b/koin/src/main/java/in/koreatech/koin/ui/dining/adapter/DiningAdapter.kt @@ -27,6 +27,26 @@ class DiningAdapter : ListAdapter(diffCallback) } class DiningViewHolder(private val binding: ItemDiningBinding) : RecyclerView.ViewHolder(binding.root) { + + private fun setEmptyDataVisibility(dining: Dining) { + with(binding) { + if(dining.kcal.isEmpty()) { + textViewKcal.visibility = View.GONE + dividerDot.visibility = View.GONE + } + if(dining.priceCash.isEmpty()) { + textViewCashPrice.visibility = View.GONE + dividerSlash.visibility = View.GONE + } + if(dining.priceCard.isEmpty()) { + textViewCardPrice.visibility = View.GONE + dividerSlash.visibility = View.GONE + } + if(dining.priceCard.isEmpty() && dining.priceCash.isEmpty()) { + dividerDot.visibility = View.GONE + } + } + } fun bind(dining: Dining) { with(binding) { @@ -39,6 +59,8 @@ class DiningAdapter : ListAdapter(diffCallback) textViewCardPrice.text = context.getString(R.string.price, dining.priceCard) textViewDiningMenuItems.text = dining.menu.joinToString("\n") + + setEmptyDataVisibility(dining) if(dining.imageUrl.isNotEmpty()) { Glide.with(context) diff --git a/koin/src/main/res/layout/item_dining.xml b/koin/src/main/res/layout/item_dining.xml index 25f3109c7d..c7bb6d449d 100644 --- a/koin/src/main/res/layout/item_dining.xml +++ b/koin/src/main/res/layout/item_dining.xml @@ -5,111 +5,107 @@ + android:layout_height="wrap_content"> - - - - - - - - - - - + android:paddingTop="16dp" + android:gravity="center_vertical" + android:orientation="horizontal"> + + + + + + + + + + + + + + + android:textStyle="bold" + android:visibility="invisible" /> + android:textStyle="bold" + android:visibility="invisible" /> + app:layout_constraintTop_toBottomOf="@id/linear_layout_dining_information" + app:rippleColor="@android:color/transparent" + app:strokeColor="#CACACA" + app:strokeWidth="1dp"> + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintVertical_chainStyle="packed" /> + app:layout_constraintTop_toBottomOf="@id/image_view_no_photo" /> @@ -160,19 +155,19 @@ android:id="@+id/view_sold_out" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@color/black" - android:alpha="0.5" /> + android:alpha="0.5" + android:background="@color/black" /> + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintVertical_chainStyle="packed" /> From a8ed00180b3395db8962d959bb09bfcb063af3fd Mon Sep 17 00:00:00 2001 From: Strone Date: Mon, 15 Apr 2024 13:04:07 +0900 Subject: [PATCH 10/11] Modify dining date calendar ui --- .../main/java/in/koreatech/koin/ui/dining/DiningActivity.kt | 4 ++-- .../in/koreatech/koin/ui/dining/adapter/DiningDateAdapter.kt | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/koin/src/main/java/in/koreatech/koin/ui/dining/DiningActivity.kt b/koin/src/main/java/in/koreatech/koin/ui/dining/DiningActivity.kt index 24aa29935e..555128f34c 100644 --- a/koin/src/main/java/in/koreatech/koin/ui/dining/DiningActivity.kt +++ b/koin/src/main/java/in/koreatech/koin/ui/dining/DiningActivity.kt @@ -93,10 +93,10 @@ class DiningActivity : KoinNavigationDrawerActivity() { recyclerViewCalendar.adapter = diningDateAdapter val current = TimeUtil.getCurrentTime() dates.add(current) - repeat(7) { + repeat(3) { dates.add(0, TimeUtil.getPreviousDayDate(dates.first())) } - repeat(7) { + repeat(3) { dates.add(TimeUtil.getNextDayDate(dates.last())) } diningDateAdapter.submitList(dates) diff --git a/koin/src/main/java/in/koreatech/koin/ui/dining/adapter/DiningDateAdapter.kt b/koin/src/main/java/in/koreatech/koin/ui/dining/adapter/DiningDateAdapter.kt index d6a875105b..2fafab1d07 100644 --- a/koin/src/main/java/in/koreatech/koin/ui/dining/adapter/DiningDateAdapter.kt +++ b/koin/src/main/java/in/koreatech/koin/ui/dining/adapter/DiningDateAdapter.kt @@ -48,7 +48,7 @@ class DiningDateAdapter( textViewDayOfTheWeek.text = DateFormatUtil.getDayOfWeek(date) textViewDay.text = date.date.toString() - if (position < selectedPosition) { + if (position < itemCount / 2) { textViewDay.setTextColor( ContextCompat.getColor( context, @@ -97,7 +97,7 @@ class DiningDateAdapter( ) else notifyItemRangeChanged(position, selectedPosition - position + 1) - selectedPosition = position + setSelectedPosition(position) } } } From 28a28e5bd287d230080eb9b0e872d851332a9e08 Mon Sep 17 00:00:00 2001 From: Strone Date: Mon, 15 Apr 2024 13:04:46 +0900 Subject: [PATCH 11/11] Modify bus updatedAt alignment --- koin/src/main/res/layout/bus_timetable_express_footer.xml | 2 +- koin/src/main/res/layout/bus_timetable_shuttle_footer.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/koin/src/main/res/layout/bus_timetable_express_footer.xml b/koin/src/main/res/layout/bus_timetable_express_footer.xml index a4f722b19b..81c560c688 100644 --- a/koin/src/main/res/layout/bus_timetable_express_footer.xml +++ b/koin/src/main/res/layout/bus_timetable_express_footer.xml @@ -18,8 +18,8 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/last_update" + android:layout_marginEnd="4dp" app:layout_constraintEnd_toStartOf="@id/text_view_updated_at" - app:layout_constraintTop_toTopOf="@id/text_view_updated_at" app:layout_constraintBottom_toBottomOf="@id/text_view_updated_at" />