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 5eeb738..dead21a 100644 --- a/app/src/main/java/com/denizk0461/studip/adapter/StudIPEventAdapter.kt +++ b/app/src/main/java/com/denizk0461/studip/adapter/StudIPEventAdapter.kt @@ -30,6 +30,7 @@ class StudIPEventAdapter(private val events: List) : RecyclerView.A holder.binding.root, false ).also { item -> + Log.d("HELLO", "generating ${event.title}...2") itemCount += 1 item.textTitle.text = event.title item.textLecturers.text = event.lecturer.joinToString(", ") diff --git a/app/src/main/java/com/denizk0461/studip/adapter/StudIPEventPageAdapter.kt b/app/src/main/java/com/denizk0461/studip/adapter/StudIPEventPageAdapter.kt new file mode 100644 index 0000000..446b5d9 --- /dev/null +++ b/app/src/main/java/com/denizk0461/studip/adapter/StudIPEventPageAdapter.kt @@ -0,0 +1,46 @@ +package com.denizk0461.studip.adapter + +import android.util.Log +import android.view.LayoutInflater +import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView +import com.denizk0461.studip.data.StudIPEvent +import com.denizk0461.studip.databinding.ItemEventBinding +import com.denizk0461.studip.databinding.ItemEventPageBinding + +class StudIPEventPageAdapter(private val events: List) : RecyclerView.Adapter() { + + class EventPageViewHolder(val binding: ItemEventPageBinding) : RecyclerView.ViewHolder(binding.root) + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): EventPageViewHolder = EventPageViewHolder( + ItemEventPageBinding.inflate( + LayoutInflater.from(parent.context), + parent, + false + ) + ) + + override fun getItemCount(): Int = 5 + + override fun onBindViewHolder(holder: EventPageViewHolder, position: Int) { + var itemCount = 0 + events.filter { it.day == position }.forEach { event -> + val newView = ItemEventBinding.inflate( + LayoutInflater.from(holder.binding.root.context), + holder.binding.root, + false + ).also { item -> + Log.d("HELLO", "generating ${event.title}...2") + itemCount += 1 + item.textTitle.text = event.title + item.textLecturers.text = event.lecturer.joinToString(", ") + item.textRoom.text = event.room + item.textTimeslot.text = event.timeslot + } + holder.binding.pageLayout.addView(newView.root) + } + if (itemCount == 0) { + // TODO inflate view saying "no events!" or sth + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/denizk0461/studip/data/DummyData.kt b/app/src/main/java/com/denizk0461/studip/data/DummyData.kt index 95a6246..e4cac7a 100644 --- a/app/src/main/java/com/denizk0461/studip/data/DummyData.kt +++ b/app/src/main/java/com/denizk0461/studip/data/DummyData.kt @@ -9,5 +9,6 @@ object DummyData { StudIPEvent("Key Moments", arrayOf("Esders-Angermund"), "GW2 B2890", 2, 2, 1), StudIPEvent("ULS-1", arrayOf("Herrmann"), "GW2 B2890", 2, 3, 1), StudIPEvent("Gesellschaft und Raum", arrayOf("Lossau", "Mossig"), "GW2 B1820", 3, 1, 1), + StudIPEvent("Gesellschaft und Raum2", arrayOf("Lossau", "Mossig"), "GW2 B1820", 4, 4, 2), ) } \ No newline at end of file diff --git a/app/src/main/java/com/denizk0461/studip/data/StudIPEvent.kt b/app/src/main/java/com/denizk0461/studip/data/StudIPEvent.kt index 72dff39..eaba535 100644 --- a/app/src/main/java/com/denizk0461/studip/data/StudIPEvent.kt +++ b/app/src/main/java/com/denizk0461/studip/data/StudIPEvent.kt @@ -13,7 +13,7 @@ data class StudIPEvent( private val timeSlotEndTimes: List = listOf("09:45", "11:45", "13:45", "15:45", "17:45", "19:45") val timeslot: String = - "${timeSlotStartTimes[timeslotStart]} – ${timeSlotEndTimes[timeslots - 1]}" + "${timeSlotStartTimes[timeslotStart]} – ${timeSlotEndTimes[timeslotStart + timeslots - 1]}" override fun equals(other: Any?): Boolean { if (this === other) return true diff --git a/app/src/main/java/com/denizk0461/studip/fragment/FirstFragment.kt b/app/src/main/java/com/denizk0461/studip/fragment/FirstFragment.kt index c467afa..61f9f5e 100644 --- a/app/src/main/java/com/denizk0461/studip/fragment/FirstFragment.kt +++ b/app/src/main/java/com/denizk0461/studip/fragment/FirstFragment.kt @@ -5,12 +5,9 @@ import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import androidx.navigation.fragment.findNavController -import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.LinearLayoutManager -import androidx.recyclerview.widget.LinearSnapHelper import androidx.recyclerview.widget.PagerSnapHelper -import com.denizk0461.studip.adapter.StudIPEventAdapter +import com.denizk0461.studip.adapter.StudIPEventPageAdapter import com.denizk0461.studip.data.DummyData import com.denizk0461.studip.databinding.FragmentFirstBinding @@ -24,7 +21,7 @@ class FirstFragment : Fragment() { // This property is only valid between onCreateView and // onDestroyView. private val binding get() = _binding!! - private lateinit var recyclerViewAdapter: StudIPEventAdapter + private lateinit var recyclerViewAdapter: StudIPEventPageAdapter private lateinit var recyclerViewLayoutManager: LinearLayoutManager override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { @@ -35,7 +32,7 @@ class FirstFragment : Fragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - recyclerViewAdapter = StudIPEventAdapter(DummyData.events.toList()) + recyclerViewAdapter = StudIPEventPageAdapter(DummyData.events.toList()) binding.recyclerView.adapter = recyclerViewAdapter recyclerViewLayoutManager = LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false) binding.recyclerView.layoutManager = recyclerViewLayoutManager diff --git a/app/src/main/res/font/lato_black.ttf b/app/src/main/res/font/lato_black.ttf new file mode 100644 index 0000000..4340502 Binary files /dev/null and b/app/src/main/res/font/lato_black.ttf differ diff --git a/app/src/main/res/font/lato_blackitalic.ttf b/app/src/main/res/font/lato_blackitalic.ttf new file mode 100644 index 0000000..4df1555 Binary files /dev/null and b/app/src/main/res/font/lato_blackitalic.ttf differ diff --git a/app/src/main/res/font/lato_bold.ttf b/app/src/main/res/font/lato_bold.ttf new file mode 100644 index 0000000..016068b Binary files /dev/null and b/app/src/main/res/font/lato_bold.ttf differ diff --git a/app/src/main/res/font/lato_bolditalic.ttf b/app/src/main/res/font/lato_bolditalic.ttf new file mode 100644 index 0000000..a05d503 Binary files /dev/null and b/app/src/main/res/font/lato_bolditalic.ttf differ diff --git a/app/src/main/res/font/lato_italic.ttf b/app/src/main/res/font/lato_italic.ttf new file mode 100644 index 0000000..0d0f69e Binary files /dev/null and b/app/src/main/res/font/lato_italic.ttf differ diff --git a/app/src/main/res/font/lato_light.ttf b/app/src/main/res/font/lato_light.ttf new file mode 100644 index 0000000..dfa72ce Binary files /dev/null and b/app/src/main/res/font/lato_light.ttf differ diff --git a/app/src/main/res/font/lato_lightitalic.ttf b/app/src/main/res/font/lato_lightitalic.ttf new file mode 100644 index 0000000..12f2b6c Binary files /dev/null and b/app/src/main/res/font/lato_lightitalic.ttf differ diff --git a/app/src/main/res/font/lato_regular.ttf b/app/src/main/res/font/lato_regular.ttf new file mode 100644 index 0000000..bb2e887 Binary files /dev/null and b/app/src/main/res/font/lato_regular.ttf differ diff --git a/app/src/main/res/font/lato_thin.ttf b/app/src/main/res/font/lato_thin.ttf new file mode 100644 index 0000000..ba58da1 Binary files /dev/null and b/app/src/main/res/font/lato_thin.ttf differ diff --git a/app/src/main/res/font/lato_thinitalic.ttf b/app/src/main/res/font/lato_thinitalic.ttf new file mode 100644 index 0000000..4d82766 Binary files /dev/null and b/app/src/main/res/font/lato_thinitalic.ttf differ diff --git a/app/src/main/res/layout/item_event.xml b/app/src/main/res/layout/item_event.xml index 11802f6..2c91026 100644 --- a/app/src/main/res/layout/item_event.xml +++ b/app/src/main/res/layout/item_event.xml @@ -2,26 +2,49 @@ - + - + - + - + + + + + + + + + + \ 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 103718b..b3df648 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -3,6 +3,7 @@