Commit 9e0ce225 authored by Varun Patil's avatar Varun Patil

Animate mess menu transitions

parent 383acd3e
......@@ -19,6 +19,7 @@ public class MessMenuAdapter extends RecyclerView.Adapter<MessMenuAdapter.ViewHo
public MessMenuAdapter(List<MessMenu> messMenus) {
this.messMenus = messMenus;
this.setHasStableIds(true);
}
@NonNull
......@@ -42,11 +43,20 @@ public class MessMenuAdapter extends RecyclerView.Adapter<MessMenuAdapter.ViewHo
holder.dinner.setText(messMenu.getDinner());
}
@Override
public long getItemId(int position) {
return messMenus.get(position).getMealID().hashCode();
}
@Override
public int getItemCount() {
return messMenus.size();
}
public void setMenu(List<MessMenu> menus) {
messMenus = menus;
}
private String generateDayString(int day) {
switch (day) {
case 1:
......
......@@ -37,6 +37,7 @@ import retrofit2.Response;
*/
public class MessMenuFragment extends BaseFragment {
private MessMenuAdapter messMenuAdapter;
private RecyclerView messMenuRecyclerView;
private SwipeRefreshLayout messMenuSwipeRefreshLayout;
private Spinner hostelSpinner;
......@@ -163,14 +164,19 @@ public class MessMenuFragment extends BaseFragment {
}
}
final MessMenuAdapter messMenuAdapter = new MessMenuAdapter(sortedMenus);
getActivityBuffer().safely(new ActivityBuffer.IRunnable() {
@Override
public void run(Activity pActivity) {
try {
messMenuRecyclerView = getActivity().findViewById(R.id.mess_menu_recycler_view);
messMenuRecyclerView.setAdapter(messMenuAdapter);
messMenuRecyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
if (messMenuAdapter == null) {
messMenuAdapter = new MessMenuAdapter(sortedMenus);
messMenuRecyclerView = getActivity().findViewById(R.id.mess_menu_recycler_view);
messMenuRecyclerView.setAdapter(messMenuAdapter);
messMenuRecyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
} else {
messMenuAdapter.setMenu(sortedMenus);
messMenuAdapter.notifyDataSetChanged();
}
} catch (NullPointerException e) {
e.printStackTrace();
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment