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 ...@@ -19,6 +19,7 @@ public class MessMenuAdapter extends RecyclerView.Adapter<MessMenuAdapter.ViewHo
public MessMenuAdapter(List<MessMenu> messMenus) { public MessMenuAdapter(List<MessMenu> messMenus) {
this.messMenus = messMenus; this.messMenus = messMenus;
this.setHasStableIds(true);
} }
@NonNull @NonNull
...@@ -42,11 +43,20 @@ public class MessMenuAdapter extends RecyclerView.Adapter<MessMenuAdapter.ViewHo ...@@ -42,11 +43,20 @@ public class MessMenuAdapter extends RecyclerView.Adapter<MessMenuAdapter.ViewHo
holder.dinner.setText(messMenu.getDinner()); holder.dinner.setText(messMenu.getDinner());
} }
@Override
public long getItemId(int position) {
return messMenus.get(position).getMealID().hashCode();
}
@Override @Override
public int getItemCount() { public int getItemCount() {
return messMenus.size(); return messMenus.size();
} }
public void setMenu(List<MessMenu> menus) {
messMenus = menus;
}
private String generateDayString(int day) { private String generateDayString(int day) {
switch (day) { switch (day) {
case 1: case 1:
......
...@@ -37,6 +37,7 @@ import retrofit2.Response; ...@@ -37,6 +37,7 @@ import retrofit2.Response;
*/ */
public class MessMenuFragment extends BaseFragment { public class MessMenuFragment extends BaseFragment {
private MessMenuAdapter messMenuAdapter;
private RecyclerView messMenuRecyclerView; private RecyclerView messMenuRecyclerView;
private SwipeRefreshLayout messMenuSwipeRefreshLayout; private SwipeRefreshLayout messMenuSwipeRefreshLayout;
private Spinner hostelSpinner; private Spinner hostelSpinner;
...@@ -163,14 +164,19 @@ public class MessMenuFragment extends BaseFragment { ...@@ -163,14 +164,19 @@ public class MessMenuFragment extends BaseFragment {
} }
} }
final MessMenuAdapter messMenuAdapter = new MessMenuAdapter(sortedMenus);
getActivityBuffer().safely(new ActivityBuffer.IRunnable() { getActivityBuffer().safely(new ActivityBuffer.IRunnable() {
@Override @Override
public void run(Activity pActivity) { public void run(Activity pActivity) {
try { try {
messMenuRecyclerView = getActivity().findViewById(R.id.mess_menu_recycler_view); if (messMenuAdapter == null) {
messMenuRecyclerView.setAdapter(messMenuAdapter); messMenuAdapter = new MessMenuAdapter(sortedMenus);
messMenuRecyclerView.setLayoutManager(new LinearLayoutManager(getContext())); 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) { } catch (NullPointerException e) {
e.printStackTrace(); 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