Skip to content

Commit

Permalink
implemented swipe to refresh events
Browse files Browse the repository at this point in the history
  • Loading branch information
dominick-deseta committed Feb 11, 2024
1 parent 23e57eb commit c427501
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package org.hackillinois.android.view.schedule

import android.os.Bundle
import android.os.Parcelable
import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
Expand All @@ -10,6 +11,8 @@ import androidx.lifecycle.Observer
import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
import kotlinx.android.synthetic.main.fragment_schedule_day.refresh_container
import kotlinx.android.synthetic.main.fragment_schedule_day.view.*
import org.hackillinois.android.R
import org.hackillinois.android.common.FavoritesManager
Expand All @@ -23,6 +26,7 @@ class DayFragment : Fragment(), EventClickListener {
private lateinit var recyclerView: RecyclerView
private lateinit var mAdapter: EventsAdapter
private lateinit var mLayoutManager: RecyclerView.LayoutManager
private lateinit var refreshContainer: SwipeRefreshLayout

private var currentEvents: List<Event> = listOf()
private var currentShifts: List<Shift> = listOf()
Expand Down Expand Up @@ -66,6 +70,8 @@ class DayFragment : Fragment(), EventClickListener {
this,
Observer { events ->
events?.let {
Log.d("LiveEventData", "Observed update")
refreshContainer.isRefreshing = false
currentEvents = it
updateEvents(currentEvents)
}
Expand Down Expand Up @@ -112,6 +118,13 @@ class DayFragment : Fragment(), EventClickListener {
): View? {
val view = inflater.inflate(R.layout.fragment_schedule_day, container, false)

refreshContainer = view.findViewById(R.id.refresh_container)
refreshContainer.setOnRefreshListener {
// Log.d("Refreshing", "Signal to refresh events receieved.")
val viewModel = parentFragment?.let { ViewModelProvider(it).get(ScheduleViewModel::class.java) }
viewModel?.init()
}

recyclerView = view.activity_schedule_recyclerview.apply {
mLayoutManager = LinearLayoutManager(context)
this.layoutManager = mLayoutManager
Expand Down
1 change: 1 addition & 0 deletions app/src/main/res/layout/fragment_schedule_day.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
android:layout_height="0dp"
>
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
android:id="@+id/refresh_container"
android:layout_width="match_parent"
android:layout_height="0dp"
android:paddingTop="0dp"
Expand Down

0 comments on commit c427501

Please sign in to comment.