Commit e171e27a authored by Varun Patil's avatar Varun Patil

Refactor body adapter itemonclick into BodyAdapter.java

parent b3883b89
package app.insti.adapter; package app.insti.adapter;
import android.content.Context; import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
...@@ -8,25 +11,26 @@ import android.view.ViewGroup; ...@@ -8,25 +11,26 @@ import android.view.ViewGroup;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.TextView; import android.widget.TextView;
import com.google.gson.Gson;
import com.squareup.picasso.Picasso; import com.squareup.picasso.Picasso;
import java.util.List; import java.util.List;
import app.insti.Constants; import app.insti.Constants;
import app.insti.interfaces.ItemClickListener;
import app.insti.R; import app.insti.R;
import app.insti.api.model.Body; import app.insti.api.model.Body;
import app.insti.fragment.BodyFragment;
public class BodyAdapter extends RecyclerView.Adapter<BodyAdapter.ViewHolder> { public class BodyAdapter extends RecyclerView.Adapter<BodyAdapter.ViewHolder> {
private List<Body> bodyList; private List<Body> bodyList;
private ItemClickListener itemClickListener;
private Context context; private Context context;
private Fragment fragment;
public BodyAdapter(List<Body> bodyList, ItemClickListener itemClickListener) { public BodyAdapter(List<Body> bodyList, Fragment mFragment) {
this.bodyList = bodyList; this.bodyList = bodyList;
this.itemClickListener = itemClickListener; fragment = mFragment;
} }
@Override @Override
...@@ -39,13 +43,28 @@ public class BodyAdapter extends RecyclerView.Adapter<BodyAdapter.ViewHolder> { ...@@ -39,13 +43,28 @@ public class BodyAdapter extends RecyclerView.Adapter<BodyAdapter.ViewHolder> {
v.setOnClickListener(new View.OnClickListener() { v.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View view) { public void onClick(View view) {
itemClickListener.onItemClick(view, postViewHolder.getAdapterPosition()); openBody(bodyList.get(postViewHolder.getAdapterPosition()));
} }
}); });
return postViewHolder; return postViewHolder;
} }
/**
* Open body fragment for a body
*/
private void openBody(Body body) {
Bundle bundle = new Bundle();
bundle.putString(Constants.BODY_JSON, new Gson().toJson(body));
BodyFragment bodyFragment = new BodyFragment();
bodyFragment.setArguments(bundle);
FragmentTransaction ft = fragment.getActivity().getSupportFragmentManager().beginTransaction();
ft.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_left, R.anim.slide_in_right, R.anim.slide_out_right);
ft.replace(R.id.framelayout_for_fragment, bodyFragment, bodyFragment.getTag());
ft.addToBackStack(bodyFragment.getTag());
ft.commit();
}
@Override @Override
public void onBindViewHolder(ViewHolder holder, int position) { public void onBindViewHolder(ViewHolder holder, int position) {
......
...@@ -36,7 +36,6 @@ import java.util.ArrayList; ...@@ -36,7 +36,6 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import app.insti.Constants; import app.insti.Constants;
import app.insti.interfaces.ItemClickListener;
import app.insti.R; import app.insti.R;
import app.insti.ShareURLMaker; import app.insti.ShareURLMaker;
import app.insti.activity.MainActivity; import app.insti.activity.MainActivity;
...@@ -48,6 +47,7 @@ import app.insti.api.model.Body; ...@@ -48,6 +47,7 @@ import app.insti.api.model.Body;
import app.insti.api.model.Event; import app.insti.api.model.Event;
import app.insti.api.model.Role; import app.insti.api.model.Role;
import app.insti.api.model.User; import app.insti.api.model.User;
import app.insti.interfaces.ItemClickListener;
import retrofit2.Call; import retrofit2.Call;
import retrofit2.Callback; import retrofit2.Callback;
import retrofit2.Response; import retrofit2.Response;
...@@ -314,23 +314,13 @@ public class BodyFragment extends BackHandledFragment { ...@@ -314,23 +314,13 @@ public class BodyFragment extends BackHandledFragment {
/* Initialize Parent bodies */ /* Initialize Parent bodies */
RecyclerView parentsRecyclerView = (RecyclerView) getActivity().findViewById(R.id.parentorg_card_recycler_view); RecyclerView parentsRecyclerView = (RecyclerView) getActivity().findViewById(R.id.parentorg_card_recycler_view);
BodyAdapter parentAdapter = new BodyAdapter(body.getBodyParents(), new ItemClickListener() { BodyAdapter parentAdapter = new BodyAdapter(body.getBodyParents(), this);
@Override
public void onItemClick(View v, int position) {
openBody(body.getBodyParents().get(position));
}
});
parentsRecyclerView.setAdapter(parentAdapter); parentsRecyclerView.setAdapter(parentAdapter);
parentsRecyclerView.setLayoutManager(new LinearLayoutManager(getContext())); parentsRecyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
/* Initialize child bodies */ /* Initialize child bodies */
RecyclerView childrenRecyclerView = (RecyclerView) getActivity().findViewById(R.id.org_card_recycler_view); RecyclerView childrenRecyclerView = (RecyclerView) getActivity().findViewById(R.id.org_card_recycler_view);
BodyAdapter childrenAdapter = new BodyAdapter(body.getBodyChildren(), new ItemClickListener() { BodyAdapter childrenAdapter = new BodyAdapter(body.getBodyChildren(), this);
@Override
public void onItemClick(View v, int position) {
openBody(body.getBodyChildren().get(position));
}
});
childrenRecyclerView.setAdapter(childrenAdapter); childrenRecyclerView.setAdapter(childrenAdapter);
childrenRecyclerView.setLayoutManager(new LinearLayoutManager(getContext())); childrenRecyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
...@@ -362,21 +352,6 @@ public class BodyFragment extends BackHandledFragment { ...@@ -362,21 +352,6 @@ public class BodyFragment extends BackHandledFragment {
} }
} }
/**
* Open body fragment for a body
*/
private void openBody(Body body) {
Bundle bundle = new Bundle();
bundle.putString(Constants.BODY_JSON, new Gson().toJson(body));
BodyFragment bodyFragment = new BodyFragment();
bodyFragment.setArguments(bundle);
FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction();
ft.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_left, R.anim.slide_in_right, R.anim.slide_out_right);
ft.replace(R.id.framelayout_for_fragment, bodyFragment, bodyFragment.getTag());
ft.addToBackStack(bodyFragment.getTag());
ft.commit();
}
@Override @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) { Bundle savedInstanceState) {
......
...@@ -3,7 +3,6 @@ package app.insti.fragment; ...@@ -3,7 +3,6 @@ package app.insti.fragment;
import android.os.Bundle; import android.os.Bundle;
import android.support.v4.app.Fragment; import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater; import android.view.LayoutInflater;
...@@ -16,7 +15,6 @@ import com.google.gson.reflect.TypeToken; ...@@ -16,7 +15,6 @@ import com.google.gson.reflect.TypeToken;
import java.util.List; import java.util.List;
import app.insti.Constants; import app.insti.Constants;
import app.insti.interfaces.ItemClickListener;
import app.insti.R; import app.insti.R;
import app.insti.adapter.BodyAdapter; import app.insti.adapter.BodyAdapter;
import app.insti.api.model.Body; import app.insti.api.model.Body;
...@@ -65,21 +63,7 @@ public class BodyRecyclerViewFragment extends Fragment { ...@@ -65,21 +63,7 @@ public class BodyRecyclerViewFragment extends Fragment {
super.onStart(); super.onStart();
recyclerView = (RecyclerView) getActivity().findViewById(R.id.body_recycler_view); recyclerView = (RecyclerView) getActivity().findViewById(R.id.body_recycler_view);
bodyAdapter = new BodyAdapter(bodyList, new ItemClickListener() { bodyAdapter = new BodyAdapter(bodyList, this);
@Override
public void onItemClick(View v, int position) {
Body body = bodyList.get(position);
BodyFragment bodyFragment = new BodyFragment();
Bundle arguments = getArguments();
arguments.putString(Constants.BODY_JSON, new Gson().toJson(body));
bodyFragment.setArguments(getArguments());
FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction();
ft.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_left, R.anim.slide_in_right, R.anim.slide_out_right);
ft.replace(R.id.framelayout_for_fragment, bodyFragment, bodyFragment.getTag());
ft.addToBackStack(bodyFragment.getTag());
ft.commit();
}
});
recyclerView.setAdapter(bodyAdapter); recyclerView.setAdapter(bodyAdapter);
recyclerView.setLayoutManager(new LinearLayoutManager(getContext())); recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
......
...@@ -13,7 +13,6 @@ import android.net.Uri; ...@@ -13,7 +13,6 @@ import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.support.design.widget.FloatingActionButton; import android.support.design.widget.FloatingActionButton;
import android.support.v4.app.Fragment; import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.widget.NestedScrollView; import android.support.v4.widget.NestedScrollView;
import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView;
...@@ -42,7 +41,6 @@ import java.util.Date; ...@@ -42,7 +41,6 @@ import java.util.Date;
import java.util.List; import java.util.List;
import app.insti.Constants; import app.insti.Constants;
import app.insti.interfaces.ItemClickListener;
import app.insti.R; import app.insti.R;
import app.insti.ShareURLMaker; import app.insti.ShareURLMaker;
import app.insti.activity.MainActivity; import app.insti.activity.MainActivity;
...@@ -171,18 +169,7 @@ public class EventFragment extends BackHandledFragment { ...@@ -171,18 +169,7 @@ public class EventFragment extends BackHandledFragment {
final List<Body> bodyList = event.getEventBodies(); final List<Body> bodyList = event.getEventBodies();
bodyRecyclerView = (RecyclerView) getActivity().findViewById(R.id.body_card_recycler_view); bodyRecyclerView = (RecyclerView) getActivity().findViewById(R.id.body_card_recycler_view);
BodyAdapter bodyAdapter = new BodyAdapter(bodyList, new ItemClickListener() { BodyAdapter bodyAdapter = new BodyAdapter(bodyList, this);
@Override
public void onItemClick(View v, int position) {
Body body = bodyList.get(position);
BodyFragment bodyFragment = BodyFragment.newInstance(body);
FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction();
ft.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_left, R.anim.slide_in_right, R.anim.slide_out_right);
ft.replace(R.id.framelayout_for_fragment, bodyFragment, bodyFragment.getTag());
ft.addToBackStack(bodyFragment.getTag());
ft.commit();
}
});
bodyRecyclerView.setAdapter(bodyAdapter); bodyRecyclerView.setAdapter(bodyAdapter);
bodyRecyclerView.setLayoutManager(new LinearLayoutManager(getContext())); bodyRecyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
......
...@@ -14,23 +14,21 @@ import android.view.View; ...@@ -14,23 +14,21 @@ import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.EditText; import android.widget.EditText;
import com.google.gson.Gson;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import app.insti.Constants; import app.insti.Constants;
import app.insti.interfaces.ItemClickListener;
import app.insti.R; import app.insti.R;
import app.insti.activity.MainActivity; import app.insti.activity.MainActivity;
import app.insti.adapter.BodyAdapter; import app.insti.adapter.BodyAdapter;
import app.insti.adapter.FeedAdapter; import app.insti.adapter.FeedAdapter;
import app.insti.adapter.UserAdapter; import app.insti.adapter.UserAdapter;
import app.insti.api.RetrofitInterface; import app.insti.api.RetrofitInterface;
import app.insti.api.response.ExploreResponse;
import app.insti.api.model.Body; import app.insti.api.model.Body;
import app.insti.api.model.Event; import app.insti.api.model.Event;
import app.insti.api.model.User; import app.insti.api.model.User;
import app.insti.api.response.ExploreResponse;
import app.insti.interfaces.ItemClickListener;
import retrofit2.Call; import retrofit2.Call;
import retrofit2.Callback; import retrofit2.Callback;
import retrofit2.Response; import retrofit2.Response;
...@@ -178,14 +176,7 @@ public class ExploreFragment extends Fragment { ...@@ -178,14 +176,7 @@ public class ExploreFragment extends Fragment {
if (getActivity() == null || getView() == null) return; if (getActivity() == null || getView() == null) return;
// Bodies // Bodies
RecyclerView bodiesRecyclerView = getView().findViewById(R.id.explore_body_recycler_view); RecyclerView bodiesRecyclerView = getView().findViewById(R.id.explore_body_recycler_view);
bodyAdapter = new BodyAdapter(bodies, new ItemClickListener() { bodyAdapter = new BodyAdapter(bodies, this);
@Override
public void onItemClick(View v, int position) {
Bundle bundle = new Bundle();
bundle.putString(Constants.BODY_JSON, new Gson().toJson(bodies.get(position)));
updateFragment(new BodyFragment(), bundle);
}
});
bodiesRecyclerView.setAdapter(bodyAdapter); bodiesRecyclerView.setAdapter(bodyAdapter);
bodiesRecyclerView.setLayoutManager(new LinearLayoutManager(getContext())); bodiesRecyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
......
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