From 53c2a2a9c4e0deb30f66b94742c371d6814b4c3f Mon Sep 17 00:00:00 2001 From: denizk0461 Date: Wed, 12 Apr 2023 22:07:18 +0200 Subject: [PATCH] Visual changes, mostly colour-related --- .../studip/adapter/StudIPEventAdapter.kt | 20 ++++++++++++++++--- .../studip/adapter/StudIPEventPageAdapter.kt | 4 ++-- .../studip/fragment/EventFragment.kt | 11 +++++++++- app/src/main/res/color/bottom_nav_color.xml | 5 +++++ app/src/main/res/color/list_card_selected.xml | 10 ---------- app/src/main/res/drawable/refresh.xml | 5 +++++ app/src/main/res/layout/content_main.xml | 1 + app/src/main/res/layout/fragment_event.xml | 3 ++- app/src/main/res/layout/item_event.xml | 1 + app/src/main/res/values-night/themes.xml | 10 +++++++++- app/src/main/res/values/attrs.xml | 5 +++++ app/src/main/res/values/colors.xml | 13 ++++++++++-- app/src/main/res/values/themes.xml | 10 +++++++++- 13 files changed, 77 insertions(+), 21 deletions(-) create mode 100644 app/src/main/res/color/bottom_nav_color.xml delete mode 100644 app/src/main/res/color/list_card_selected.xml create mode 100644 app/src/main/res/drawable/refresh.xml create mode 100644 app/src/main/res/values/attrs.xml diff --git a/app/src/main/java/com/denizk0461/studip/adapter/StudIPEventAdapter.kt b/app/src/main/java/com/denizk0461/studip/adapter/StudIPEventAdapter.kt index 1670a46..f978923 100644 --- a/app/src/main/java/com/denizk0461/studip/adapter/StudIPEventAdapter.kt +++ b/app/src/main/java/com/denizk0461/studip/adapter/StudIPEventAdapter.kt @@ -1,14 +1,15 @@ package com.denizk0461.studip.adapter -import android.graphics.Color import android.view.LayoutInflater +import android.view.View import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView -import com.denizk0461.studip.R import com.denizk0461.studip.model.StudIPEvent import com.denizk0461.studip.databinding.ItemEventBinding -class StudIPEventAdapter(events: List, private val currentDay: Int) : RecyclerView.Adapter() { +class StudIPEventAdapter( + events: List, private val currentDay: Int, private val onClickListener: OnClickListener +) : RecyclerView.Adapter() { private val filteredEvents: List = events.filter { it.day == currentDay } @@ -41,7 +42,20 @@ class StudIPEventAdapter(events: List, private val currentDay: Int) // holder.binding.cardBackground.cardForegroundColor = Color.TRANSPARENT } + holder.binding.cardBackground.setOnClickListener { + onClickListener.onClick(currentItem) + } + holder.binding.cardBackground.setOnLongClickListener { + onClickListener.onLongClick(currentItem) + true + } + // TODO inflate view saying "no events!" or sth } + + interface OnClickListener { + fun onClick(event: StudIPEvent) + fun onLongClick(event: StudIPEvent) + } } \ No newline at end of file diff --git a/app/src/main/java/com/denizk0461/studip/adapter/StudIPEventPageAdapter.kt b/app/src/main/java/com/denizk0461/studip/adapter/StudIPEventPageAdapter.kt index bfe131b..d807268 100644 --- a/app/src/main/java/com/denizk0461/studip/adapter/StudIPEventPageAdapter.kt +++ b/app/src/main/java/com/denizk0461/studip/adapter/StudIPEventPageAdapter.kt @@ -7,7 +7,7 @@ import androidx.recyclerview.widget.RecyclerView import com.denizk0461.studip.model.StudIPEvent import com.denizk0461.studip.databinding.ItemEventPageBinding -class StudIPEventPageAdapter(private var events: List) : RecyclerView.Adapter() { +class StudIPEventPageAdapter(private var events: List, private val onClickListener: StudIPEventAdapter.OnClickListener) : RecyclerView.Adapter() { class EventPageViewHolder(val binding: ItemEventPageBinding) : RecyclerView.ViewHolder(binding.root) @@ -25,7 +25,7 @@ class StudIPEventPageAdapter(private var events: List) : RecyclerVi holder.binding.pageRecyclerView.apply { layoutManager = LinearLayoutManager(holder.binding.root.context, LinearLayoutManager.VERTICAL, false) - adapter = StudIPEventAdapter(events, currentDay = position) // TODO check if empty + adapter = StudIPEventAdapter(events, currentDay = position, onClickListener) // TODO check if empty scheduleLayoutAnimation() } } diff --git a/app/src/main/java/com/denizk0461/studip/fragment/EventFragment.kt b/app/src/main/java/com/denizk0461/studip/fragment/EventFragment.kt index aa88ddb..04bc924 100644 --- a/app/src/main/java/com/denizk0461/studip/fragment/EventFragment.kt +++ b/app/src/main/java/com/denizk0461/studip/fragment/EventFragment.kt @@ -10,8 +10,10 @@ import androidx.fragment.app.viewModels import androidx.navigation.fragment.NavHostFragment.Companion.findNavController import com.denizk0461.studip.R import com.denizk0461.studip.activity.FetcherActivity +import com.denizk0461.studip.adapter.StudIPEventAdapter import com.denizk0461.studip.adapter.StudIPEventPageAdapter import com.denizk0461.studip.databinding.FragmentEventBinding +import com.denizk0461.studip.model.StudIPEvent import com.denizk0461.studip.viewmodel.EventViewModel import com.google.android.material.tabs.TabLayoutMediator import java.util.* @@ -55,7 +57,14 @@ class EventFragment : Fragment() { else -> 0 } - viewPagerAdapter = StudIPEventPageAdapter(listOf())//DummyData.events.toList()) + viewPagerAdapter = StudIPEventPageAdapter(listOf(), object : StudIPEventAdapter.OnClickListener { + override fun onClick(event: StudIPEvent) { + // do nothing + } + override fun onLongClick(event: StudIPEvent) { + + } + })//DummyData.events.toList()) binding.viewPager.adapter = viewPagerAdapter TabLayoutMediator(binding.dayTabLayout, binding.viewPager) { tab, position -> diff --git a/app/src/main/res/color/bottom_nav_color.xml b/app/src/main/res/color/bottom_nav_color.xml new file mode 100644 index 0000000..cfd21eb --- /dev/null +++ b/app/src/main/res/color/bottom_nav_color.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/color/list_card_selected.xml b/app/src/main/res/color/list_card_selected.xml deleted file mode 100644 index 5e4b0b3..0000000 --- a/app/src/main/res/color/list_card_selected.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/refresh.xml b/app/src/main/res/drawable/refresh.xml new file mode 100644 index 0000000..98469ca --- /dev/null +++ b/app/src/main/res/drawable/refresh.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/layout/content_main.xml b/app/src/main/res/layout/content_main.xml index 4d7a0f4..3386b54 100644 --- a/app/src/main/res/layout/content_main.xml +++ b/app/src/main/res/layout/content_main.xml @@ -42,6 +42,7 @@ android:layout_width="0dp" android:layout_height="wrap_content" app:menu="@menu/nav_view_items" + app:itemActiveIndicatorStyle="@style/NavigationViewItemIndicator" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent"/> diff --git a/app/src/main/res/layout/fragment_event.xml b/app/src/main/res/layout/fragment_event.xml index bd5e149..4e4343a 100644 --- a/app/src/main/res/layout/fragment_event.xml +++ b/app/src/main/res/layout/fragment_event.xml @@ -34,6 +34,7 @@ app:layout_constraintEnd_toEndOf="parent" android:layout_marginEnd="@dimen/fab_margin" android:layout_marginBottom="@dimen/fab_margin" - app:srcCompat="@android:drawable/ic_dialog_email" /> + app:srcCompat="@drawable/refresh" + app:backgroundTint="?attr/colorPrimary"/> \ No newline at end of file diff --git a/app/src/main/res/layout/item_event.xml b/app/src/main/res/layout/item_event.xml index 6c32234..a251fe4 100644 --- a/app/src/main/res/layout/item_event.xml +++ b/app/src/main/res/layout/item_event.xml @@ -2,6 +2,7 @@ diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml index 1e03be3..efb1cb6 100644 --- a/app/src/main/res/values-night/themes.xml +++ b/app/src/main/res/values-night/themes.xml @@ -3,6 +3,14 @@ + + \ No newline at end of file diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml new file mode 100644 index 0000000..3ffd941 --- /dev/null +++ b/app/src/main/res/values/attrs.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 0547f2d..f15886f 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -3,6 +3,15 @@ #FF000000 #FFFFFFFF - #0F4759 - #62CCE4 + + + + #B82729 + #B2665A + + #871D1E + #CB9890 + + + \ No newline at end of file diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index afb05d9..d9fe8dd 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -6,8 +6,16 @@ @font/lato_regular - @color/primaryLight + @color/primaryDark + @color/primaryDark + + @color/highlightDark + \ No newline at end of file