diff --git a/app/src/main/java/org/hackillinois/android/view/leaderboard/LeaderboardFragment.kt b/app/src/main/java/org/hackillinois/android/view/leaderboard/LeaderboardFragment.kt index deafd2e3a..4a3d83d2e 100644 --- a/app/src/main/java/org/hackillinois/android/view/leaderboard/LeaderboardFragment.kt +++ b/app/src/main/java/org/hackillinois/android/view/leaderboard/LeaderboardFragment.kt @@ -15,6 +15,7 @@ import androidx.lifecycle.Observer import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView +import com.dinuscxj.refresh.RecyclerRefreshLayout import kotlinx.android.synthetic.main.fragment_leaderboard.view.* import org.hackillinois.android.R import org.hackillinois.android.database.entity.Leaderboard @@ -31,6 +32,7 @@ class LeaderboardFragment : Fragment() { private lateinit var recyclerView: RecyclerView private lateinit var mLayoutManager: LinearLayoutManager private lateinit var mAdapter: LeaderboardAdapter + private lateinit var refreshLayout: RecyclerRefreshLayout override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -45,6 +47,8 @@ class LeaderboardFragment : Fragment() { ): View? { val view = inflater.inflate(R.layout.fragment_leaderboard, container, false) + refreshLayout = view.findViewById(R.id.refresh_layout) + mAdapter = LeaderboardAdapter(leaderboard) recyclerView = view.recyclerview_leaderboard.apply { @@ -54,6 +58,12 @@ class LeaderboardFragment : Fragment() { addItemDecorationWithoutLastItem() } + refreshLayout.setOnRefreshListener { + // code to refresh list + viewModel.leaderboardRepository.fetchLeaderboard() + refreshLayout.setRefreshing(false) + } + viewModel.leaderboardLiveData.observe( viewLifecycleOwner, Observer { diff --git a/app/src/main/java/org/hackillinois/android/viewmodel/LeaderboardViewModel.kt b/app/src/main/java/org/hackillinois/android/viewmodel/LeaderboardViewModel.kt index f544267b5..b18b16d2f 100644 --- a/app/src/main/java/org/hackillinois/android/viewmodel/LeaderboardViewModel.kt +++ b/app/src/main/java/org/hackillinois/android/viewmodel/LeaderboardViewModel.kt @@ -6,7 +6,7 @@ import org.hackillinois.android.database.entity.Leaderboard import org.hackillinois.android.repository.LeaderboardRepository class LeaderboardViewModel : ViewModel() { - private val leaderboardRepository = LeaderboardRepository.instance + val leaderboardRepository = LeaderboardRepository.instance lateinit var leaderboardLiveData: LiveData> diff --git a/app/src/main/res/layout/fragment_leaderboard.xml b/app/src/main/res/layout/fragment_leaderboard.xml index 21e5d5fa9..e597d5288 100644 --- a/app/src/main/res/layout/fragment_leaderboard.xml +++ b/app/src/main/res/layout/fragment_leaderboard.xml @@ -35,20 +35,23 @@ android:textColor="@color/white" android:text="@string/leaderboard" /> - - - + android:layout_height="match_parent"> + + \ No newline at end of file