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 dc154b4..1670a46 100644 --- a/app/src/main/java/com/denizk0461/studip/adapter/StudIPEventAdapter.kt +++ b/app/src/main/java/com/denizk0461/studip/adapter/StudIPEventAdapter.kt @@ -1,33 +1,46 @@ package com.denizk0461.studip.adapter +import android.graphics.Color import android.view.LayoutInflater 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(private val events: List) : RecyclerView.Adapter() { +class StudIPEventAdapter(events: List, private val currentDay: Int) : RecyclerView.Adapter() { + + private val filteredEvents: List = events.filter { it.day == currentDay } class EventViewHolder(val binding: ItemEventBinding) : RecyclerView.ViewHolder(binding.root) - override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): EventViewHolder = EventViewHolder( - ItemEventBinding.inflate( - LayoutInflater.from(parent.context), - parent, - false + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): EventViewHolder { + return EventViewHolder( + ItemEventBinding.inflate( + LayoutInflater.from(parent.context), + parent, + false + ) ) - ) + } - override fun getItemCount(): Int = events.size + override fun getItemCount(): Int = filteredEvents.size override fun onBindViewHolder(holder: EventViewHolder, position: Int) { - val currentItem = events[position] + val currentItem = filteredEvents[position] holder.binding.textTitle.text = currentItem.title holder.binding.textLecturers.text = currentItem.lecturer holder.binding.textRoom.text = currentItem.room holder.binding.textTimeslot.text = currentItem.timeslot() + if (true) { // highlight +// holder.binding.cardBackground.cardForegroundColor = holder.binding.root.context.getColorStateList( +// R.color.list_card_selected) + } else { // un-highlight +// holder.binding.cardBackground.cardForegroundColor = Color.TRANSPARENT + } + // TODO inflate view saying "no events!" or sth } 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 96f6380..f333682 100644 --- a/app/src/main/java/com/denizk0461/studip/adapter/StudIPEventPageAdapter.kt +++ b/app/src/main/java/com/denizk0461/studip/adapter/StudIPEventPageAdapter.kt @@ -25,7 +25,7 @@ class StudIPEventPageAdapter(private val events: List) : RecyclerVi holder.binding.pageRecyclerView.apply { layoutManager = LinearLayoutManager(holder.binding.root.context, LinearLayoutManager.VERTICAL, false) - adapter = StudIPEventAdapter(events.filter { it.day == position }) // TODO check if empty + adapter = StudIPEventAdapter(events, currentDay = position) // 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 b9ee2c4..e107517 100644 --- a/app/src/main/java/com/denizk0461/studip/fragment/EventFragment.kt +++ b/app/src/main/java/com/denizk0461/studip/fragment/EventFragment.kt @@ -67,8 +67,8 @@ class EventFragment : Fragment() { binding.recyclerView.onFlingListener = null pagerSnapHelper.attachToRecyclerView(binding.recyclerView) // binding.recyclerView.scheduleLayoutAnimation() - binding.recyclerView.scrollToPosition(dayOfWeek) - binding.dayTabs.getTabAt(dayOfWeek)?.select() + + switchToCurrentDayView() } binding.fab.setOnClickListener { view -> @@ -107,12 +107,29 @@ class EventFragment : Fragment() { // } } + override fun onResume() { + super.onResume() + switchToCurrentDayView() + } + override fun onDestroyView() { super.onDestroyView() _binding = null } + private fun switchToCurrentDayView() { + binding.recyclerView.scrollToPosition(dayOfWeek) + binding.dayTabs.getTabAt(dayOfWeek)?.select() + } + private fun launchWebview() { findNavController(this).navigate(R.id.action_FirstFragment_to_SecondFragment) } + + /** + * Highlights the current or next course. + */ + private fun highlightCurrentCourse() { + + } } \ 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 new file mode 100644 index 0000000..5e4b0b3 --- /dev/null +++ b/app/src/main/res/color/list_card_selected.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 8c46088..9b79aaa 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -7,6 +7,14 @@ android:fitsSystemWindows="true" tools:context=".activity.MainActivity"> - + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_event.xml b/app/src/main/res/layout/fragment_event.xml index 9ae1073..c4921ad 100644 --- a/app/src/main/res/layout/fragment_event.xml +++ b/app/src/main/res/layout/fragment_event.xml @@ -11,51 +11,53 @@ android:layout_height="wrap_content" android:fitsSystemWindows="true"> - + + + + + + android:layout_height="48dp" + android:text="@string/your_schedule" + android:textSize="32sp" + android:fontFamily="@font/lato_bolditalic" + android:layout_marginHorizontal="16dp"/> - + - + android:text="@string/monday"/> - + - + - + - + - - - - - + diff --git a/app/src/main/res/layout/item_event.xml b/app/src/main/res/layout/item_event.xml index 2c91026..6c32234 100644 --- a/app/src/main/res/layout/item_event.xml +++ b/app/src/main/res/layout/item_event.xml @@ -7,6 +7,7 @@ android:orientation="vertical"> diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml index f1f2cec..1e03be3 100644 --- a/app/src/main/res/values-night/themes.xml +++ b/app/src/main/res/values-night/themes.xml @@ -1,7 +1,8 @@ \ 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 c8524cd..0547f2d 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -2,4 +2,7 @@ #FF000000 #FFFFFFFF + + #0F4759 + #62CCE4 \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 9afde80..398aeed 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -13,6 +13,8 @@ THURSDAY FRIDAY + Your Schedule + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam in scelerisque sem. Mauris volutpat, dolor id interdum ullamcorper, risus dolor egestas lectus, sit amet mattis purus diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index b3df648..afb05d9 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -1,9 +1,12 @@