diff --git a/app/src/main/java/com/denizk0461/studip/activity/MainActivity.kt b/app/src/main/java/com/denizk0461/studip/activity/MainActivity.kt
index a1ee645..c42c188 100644
--- a/app/src/main/java/com/denizk0461/studip/activity/MainActivity.kt
+++ b/app/src/main/java/com/denizk0461/studip/activity/MainActivity.kt
@@ -29,11 +29,11 @@ class MainActivity : AppCompatActivity() {
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
- setSupportActionBar(binding.toolbar)
+// setSupportActionBar(binding.toolbar)
- val navController = findNavController(R.id.nav_host_fragment_content_main)
- appBarConfiguration = AppBarConfiguration(navController.graph)
- setupActionBarWithNavController(navController, appBarConfiguration)
+// val navController = findNavController(R.id.nav_host_fragment_content_main)
+// appBarConfiguration = AppBarConfiguration(navController.graph)
+// setupActionBarWithNavController(navController, appBarConfiguration)
// binding.fab.setOnClickListener { view ->
// findNavController(R.id.nav_host_fragment_content_main).navigate(R.id.action_FirstFragment_to_SecondFragment)
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 2767e1a..101b0a9 100644
--- a/app/src/main/java/com/denizk0461/studip/fragment/EventFragment.kt
+++ b/app/src/main/java/com/denizk0461/studip/fragment/EventFragment.kt
@@ -1,6 +1,7 @@
package com.denizk0461.studip.fragment
import android.os.Bundle
+import android.util.Log
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
@@ -9,12 +10,16 @@ import androidx.fragment.app.viewModels
import androidx.navigation.fragment.NavHostFragment.Companion.findNavController
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.PagerSnapHelper
+import androidx.recyclerview.widget.RecyclerView
+import androidx.recyclerview.widget.RecyclerView.OnScrollListener
import com.denizk0461.studip.R
import com.denizk0461.studip.adapter.StudIPEventPageAdapter
import com.denizk0461.studip.data.DummyData
import com.denizk0461.studip.data.StudIPParser
import com.denizk0461.studip.databinding.FragmentEventBinding
import com.denizk0461.studip.viewmodel.EventViewModel
+import com.google.android.material.tabs.TabLayout
+import com.google.android.material.tabs.TabLayout.OnTabSelectedListener
import java.time.DayOfWeek
import java.time.LocalDate
import java.time.LocalTime
@@ -31,8 +36,10 @@ class EventFragment : Fragment() {
// onDestroyView.
private val binding get() = _binding!!
private lateinit var recyclerViewAdapter: StudIPEventPageAdapter
- private lateinit var recyclerViewLayoutManager: LinearLayoutManager
+ private lateinit var layoutManager: LinearLayoutManager
private var dayOfWeek: Int = 0
+ private val pagerSnapHelper = PagerSnapHelper()
+ private var isUserScrolling = false
private val viewModel: EventViewModel by viewModels()
@@ -55,21 +62,48 @@ class EventFragment : Fragment() {
viewModel.allEvents.observe(viewLifecycleOwner) { events ->
recyclerViewAdapter = StudIPEventPageAdapter(events)//DummyData.events.toList())
binding.recyclerView.adapter = recyclerViewAdapter
- recyclerViewLayoutManager =
- LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false)
- binding.recyclerView.layoutManager = recyclerViewLayoutManager
+ layoutManager = LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false)
+ binding.recyclerView.layoutManager = layoutManager
binding.recyclerView.onFlingListener = null
- PagerSnapHelper().attachToRecyclerView(binding.recyclerView)
+ pagerSnapHelper.attachToRecyclerView(binding.recyclerView)
// binding.recyclerView.scheduleLayoutAnimation()
binding.recyclerView.scrollToPosition(dayOfWeek)
}
-// viewModel.doAsync { StudIPParser().parse(requireContext()) }
-
binding.fab.setOnClickListener { view ->
launchWebview()
}
+ binding.recyclerView.addOnScrollListener(object : OnScrollListener() {
+ override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
+ super.onScrolled(recyclerView, dx, dy)
+ isUserScrolling = true
+ val i = if (dx < 0) {
+ layoutManager.findFirstVisibleItemPosition()
+ } else {
+ layoutManager.findLastVisibleItemPosition()
+ }
+ binding.dayTabs.getTabAt(i)?.select()
+ }
+ })
+
+ binding.dayTabs.addOnTabSelectedListener(object : OnTabSelectedListener {
+ override fun onTabSelected(tab: TabLayout.Tab) {
+ if (!isUserScrolling) {
+ binding.recyclerView.smoothScrollToPosition(tab.position)
+ Log.d("HELLO4", binding.recyclerView.scrollY.toString())
+ } // TODO where to set isUserScrolling back to true?
+ }
+ override fun onTabUnselected(tab: TabLayout.Tab?) {}
+ override fun onTabReselected(tab: TabLayout.Tab?) {}
+ })
+
+// binding.daytabmonday.setOnClickListener { binding.recyclerView.scrollToPosition(0) }
+// binding.daytabtuesday.setOnClickListener { binding.recyclerView.scrollToPosition(1) }
+// binding.daytabwednesday.setOnClickListener { binding.recyclerView.scrollToPosition(2) }
+// binding.daytabthursday.setOnClickListener { binding.recyclerView.scrollToPosition(3) }
+// binding.daytabfriday.setOnClickListener { binding.recyclerView.scrollToPosition(4) }
+
// binding.buttonFirst.setOnClickListener {
// findNavController().navigate(R.id.action_FirstFragment_to_SecondFragment)
// }
diff --git a/app/src/main/java/com/denizk0461/studip/fragment/ParserFragment.kt b/app/src/main/java/com/denizk0461/studip/fragment/ParserFragment.kt
index 59a17b2..7a32e7d 100644
--- a/app/src/main/java/com/denizk0461/studip/fragment/ParserFragment.kt
+++ b/app/src/main/java/com/denizk0461/studip/fragment/ParserFragment.kt
@@ -10,7 +10,7 @@ import android.webkit.WebViewClient
import androidx.fragment.app.Fragment
import androidx.fragment.app.viewModels
import com.denizk0461.studip.data.StudIPParser
-import com.denizk0461.studip.databinding.FragmentSecondBinding
+import com.denizk0461.studip.databinding.FragmentParserBinding
import com.denizk0461.studip.viewmodel.ParserViewModel
import java.net.URLDecoder
@@ -19,7 +19,7 @@ import java.net.URLDecoder
*/
class ParserFragment : Fragment() {
- private var _binding: FragmentSecondBinding? = null
+ private var _binding: FragmentParserBinding? = null
private var html = "" // temporary storage for the website HTML
// This property is only valid between onCreateView and
@@ -33,7 +33,7 @@ class ParserFragment : Fragment() {
savedInstanceState: Bundle?
): View {
- _binding = FragmentSecondBinding.inflate(inflater, container, false)
+ _binding = FragmentParserBinding.inflate(inflater, container, false)
return binding.root
}
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 91e87ed..8c46088 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -7,18 +7,6 @@
android:fitsSystemWindows="true"
tools:context=".activity.MainActivity">
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/content_main.xml b/app/src/main/res/layout/content_main.xml
index e416e1c..e1b25df 100644
--- a/app/src/main/res/layout/content_main.xml
+++ b/app/src/main/res/layout/content_main.xml
@@ -16,4 +16,5 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:navGraph="@navigation/nav_graph" />
+
\ 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 03ee974..8d3572e 100644
--- a/app/src/main/res/layout/fragment_event.xml
+++ b/app/src/main/res/layout/fragment_event.xml
@@ -1,25 +1,77 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ android:scrollbars="horizontal"
+ app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_second.xml b/app/src/main/res/layout/fragment_parser.xml
similarity index 100%
rename from app/src/main/res/layout/fragment_second.xml
rename to app/src/main/res/layout/fragment_parser.xml
diff --git a/app/src/main/res/navigation/nav_graph.xml b/app/src/main/res/navigation/nav_graph.xml
index cfde5e5..ceb618b 100644
--- a/app/src/main/res/navigation/nav_graph.xml
+++ b/app/src/main/res/navigation/nav_graph.xml
@@ -19,7 +19,7 @@
android:id="@+id/SecondFragment"
android:name="com.denizk0461.studip.fragment.ParserFragment"
android:label="@string/second_fragment_label"
- tools:layout="@layout/fragment_second">
+ tools:layout="@layout/fragment_parser">
Next
Previous
+ MONDAY
+ TUESDAY
+ WEDNESDAY
+ THURSDAY
+ FRIDAY
+
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