Commit 087fc7fc authored by Varun Patil's avatar Varun Patil

Refactor complaints to not pass around sessionid

parent 8981a4fa
......@@ -7,7 +7,6 @@ import android.support.annotation.NonNull;
import android.support.v4.app.Fragment;
import android.support.v7.widget.CardView;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
......@@ -23,12 +22,12 @@ import java.util.List;
import app.insti.R;
import app.insti.Utils;
import app.insti.api.EmptyCallback;
import app.insti.api.RetrofitInterface;
import app.insti.api.model.Venter;
import app.insti.utils.DateTimeUtil;
import de.hdodenhof.circleimageview.CircleImageView;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
/**
......@@ -41,15 +40,14 @@ public class CommentsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
private Context context;
private LayoutInflater inflater;
private String sessionId, userId;
private String userId;
private Fragment fragment;
private TextView textViewCommentLabel;
private List<Venter.Comment> commentList = new ArrayList<>();
public CommentsAdapter(Context context, String sessionId, String userId, Fragment fragment) {
public CommentsAdapter(Context context, String userId, Fragment fragment) {
this.context = context;
this.sessionId = sessionId;
this.userId = userId;
inflater = LayoutInflater.from(context);
this.fragment =fragment;
......@@ -78,15 +76,9 @@ public class CommentsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
final Venter.Comment comment = commentList.get(position);
try {
String profileUrl = comment.getUser().getUserProfilePictureUrl();
Log.i(TAG, "PROFILE URL: " + profileUrl);
Picasso.get().load(profileUrl).placeholder(R.drawable.user_placeholder).into(circleImageView);
} catch (Exception e) {
e.printStackTrace();
}
try {
textViewName.setText(comment.getUser().getUserName());
String time = DateTimeUtil.getDate(comment.getTime());
Log.i(TAG, "time: " + time);
textViewCommentTime.setText(time);
textViewComment.setText(comment.getText());
} catch (Exception e) {
......@@ -115,7 +107,7 @@ public class CommentsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
Toast.makeText(context, "Comment Copied", Toast.LENGTH_SHORT).show();
break;
case R.id.delete_comment_option:
retrofitInterface.deleteComment("sessionid=" + sessionId, comment.getId()).enqueue(new Callback<String>() {
retrofitInterface.deleteComment(Utils.getSessionIDHeader(), comment.getId()).enqueue(new EmptyCallback<String>() {
@Override
public void onResponse(Call<String> call, Response<String> response) {
if (response.isSuccessful()) {
......@@ -128,11 +120,6 @@ public class CommentsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
Toast.makeText(context, "You can't delete this comment", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onFailure(Call<String> call, Throwable t) {
Log.i(TAG, " failure in deleting: " + t.toString());
}
});
break;
......
......@@ -12,11 +12,10 @@ import app.insti.fragment.ComplaintDetailsFragment;
public class ComplaintDetailsPagerAdapter extends FragmentPagerAdapter {
private String sessionid, complaintid, userid, userProfileUrl;
private String complaintid, userid, userProfileUrl;
public ComplaintDetailsPagerAdapter(FragmentManager fm, String sessionid, String complaintid, String userid, String userProfileUrl) {
public ComplaintDetailsPagerAdapter(FragmentManager fm, String complaintid, String userid, String userProfileUrl) {
super(fm);
this.sessionid = sessionid;
this.complaintid = complaintid;
this.userid = userid;
this.userProfileUrl = userProfileUrl;
......@@ -26,14 +25,14 @@ public class ComplaintDetailsPagerAdapter extends FragmentPagerAdapter {
public Fragment getItem(int position) {
switch (position) {
case 0:
return ComplaintDetailsFragment.getInstance(sessionid, complaintid, userid, userProfileUrl);
return ComplaintDetailsFragment.getInstance(complaintid, userid, userProfileUrl);
/*
For version 2:
case 1:
return RelevantComplaintsFragment.getInstance(sessionid, userid);
*/
default:
return ComplaintDetailsFragment.getInstance(sessionid, complaintid, userid, userProfileUrl);
return ComplaintDetailsFragment.getInstance(complaintid, userid, userProfileUrl);
}
}
......
......@@ -27,11 +27,11 @@ public class ComplaintFragmentViewPagerAdapter extends FragmentStatePagerAdapter
public Fragment getItem(int position) {
switch (position) {
case 0:
return ComplaintsHomeFragment.getInstance(sessionID, userID, userProfileUrl);
return ComplaintsHomeFragment.getInstance(userID, userProfileUrl);
case 1:
return ComplaintsMeFragment.getInstance(sessionID,userID, userProfileUrl);
return ComplaintsMeFragment.getInstance(userID, userProfileUrl);
default:
return ComplaintsHomeFragment.getInstance(sessionID, userID, userProfileUrl);
return ComplaintsHomeFragment.getInstance(userID, userProfileUrl);
}
}
......
......@@ -23,6 +23,7 @@ import java.util.List;
import app.insti.R;
import app.insti.Utils;
import app.insti.api.EmptyCallback;
import app.insti.api.RetrofitInterface;
import app.insti.api.model.User;
import app.insti.api.model.Venter;
......@@ -40,7 +41,6 @@ public class ComplaintsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
private LayoutInflater inflater;
private Activity context;
private String sessionID;
private String userID;
private String userProfileUrl;
private static final String TAG = ComplaintsAdapter.class.getSimpleName();
......@@ -111,7 +111,7 @@ public class ComplaintsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
public void onClick(View v) {
if (complaintList.get(position).getVoteCount() == 0) {
RetrofitInterface retrofitInterface = Utils.getRetrofitInterface();
retrofitInterface.upVote("sessionid=" + sessionID, complaintList.get(pos).getComplaintID(), 1).enqueue(new Callback<Venter.Complaint>() {
retrofitInterface.upVote(Utils.getSessionIDHeader(), complaintList.get(pos).getComplaintID(), 1).enqueue(new Callback<Venter.Complaint>() {
@Override
public void onResponse(Call<Venter.Complaint> call, Response<Venter.Complaint> response) {
if (response.isSuccessful()) {
......@@ -130,7 +130,7 @@ public class ComplaintsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
});
} else if (complaintList.get(position).getVoteCount() == 1) {
RetrofitInterface retrofitInterface = Utils.getRetrofitInterface();
retrofitInterface.upVote("sessionid=" + sessionID, complaintList.get(pos).getComplaintID(), 0).enqueue(new Callback<Venter.Complaint>() {
retrofitInterface.upVote(Utils.getSessionIDHeader(), complaintList.get(pos).getComplaintID(), 0).enqueue(new Callback<Venter.Complaint>() {
@Override
public void onResponse(Call<Venter.Complaint> call, Response<Venter.Complaint> response) {
if (response.isSuccessful()) {
......@@ -212,7 +212,6 @@ public class ComplaintsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
private void getComplaint(Venter.Complaint detailedComplaint) {
Bundle bundle = new Bundle();
bundle.putString("id", detailedComplaint.getComplaintID());
bundle.putString("sessionId", sessionID);
bundle.putString("userId", userID);
bundle.putString("userProfileUrl", userProfileUrl);
ComplaintFragment complaintFragment = new ComplaintFragment();
......@@ -232,7 +231,7 @@ public class ComplaintsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
"Yes",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
retrofitInterface.subscribetoComplaint("sessionid=" + sessionID, detailedComplaint.getComplaintID(), 0).enqueue(new Callback<Venter.Complaint>() {
retrofitInterface.subscribetoComplaint(Utils.getSessionIDHeader(), detailedComplaint.getComplaintID(), 0).enqueue(new Callback<Venter.Complaint>() {
@Override
public void onResponse(Call<Venter.Complaint> call, Response<Venter.Complaint> response) {
if (response.isSuccessful()) {
......@@ -263,7 +262,7 @@ public class ComplaintsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
AlertDialog alert11 = unsubscribe.create();
alert11.show();
} else if (detailedComplaint.getComplaintsubscribed() == 0){
retrofitInterface.subscribetoComplaint("sessionid=" + sessionID, detailedComplaint.getComplaintID(), 1).enqueue(new Callback<Venter.Complaint>() {
retrofitInterface.subscribetoComplaint(Utils.getSessionIDHeader(), detailedComplaint.getComplaintID(), 1).enqueue(new EmptyCallback<Venter.Complaint>() {
@Override
public void onResponse(Call<Venter.Complaint> call, Response<Venter.Complaint> response) {
if (response.isSuccessful()) {
......@@ -274,18 +273,12 @@ public class ComplaintsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
Toast.LENGTH_SHORT).show();
}
}
@Override
public void onFailure(Call<Venter.Complaint> call, Throwable t) {
Log.i(TAG, "failure in subscribe: " + t.toString());
}
});
}
}
public ComplaintsAdapter(Activity ctx, String sessionID, String userID, String userProfileUrl) {
public ComplaintsAdapter(Activity ctx, String userID, String userProfileUrl) {
this.context = ctx;
this.sessionID = sessionID;
this.userID = userID;
this.userProfileUrl = userProfileUrl;
inflater = LayoutInflater.from(ctx);
......
......@@ -80,7 +80,7 @@ public class ComplaintDetailsFragment extends Fragment {
private CircleImageView circleImageViewCreatorImage;
private View mView;
private static String sId, cId, uId, uProfileUrl;
private static String cId, uId, uProfileUrl;
private CommentsAdapter commentListAdapter;
private UpVotesAdapter upVotesAdapter;
private List<Venter.Comment> commentList;
......@@ -90,8 +90,7 @@ public class ComplaintDetailsFragment extends Fragment {
private NestedScrollView nestedScrollView;
private CircleIndicator circleIndicator;
public static ComplaintDetailsFragment getInstance(String sessionid, String complaintid, String userid, String userProfileUrl) {
sId = sessionid;
public static ComplaintDetailsFragment getInstance(String complaintid, String userid, String userProfileUrl) {
cId = complaintid;
uId = userid;
uProfileUrl = userProfileUrl;
......@@ -107,7 +106,7 @@ public class ComplaintDetailsFragment extends Fragment {
initialiseViews(view);
upVotesList = new ArrayList<>();
commentListAdapter = new CommentsAdapter(getContext(), sId, uId, this);
commentListAdapter = new CommentsAdapter(getContext(), uId, this);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getContext());
upVotesAdapter = new UpVotesAdapter(this, getContext());
recyclerViewComments.setLayoutManager(linearLayoutManager);
......@@ -273,7 +272,7 @@ public class ComplaintDetailsFragment extends Fragment {
private void postComment() {
final CommentCreateRequest commentCreateRequest = new CommentCreateRequest(editTextComment.getText().toString());
RetrofitInterface retrofitInterface = Utils.getRetrofitInterface();
retrofitInterface.postComment("sessionid=" + sId, cId, commentCreateRequest).enqueue(new Callback<Venter.Comment>() {
retrofitInterface.postComment(Utils.getSessionIDHeader(), cId, commentCreateRequest).enqueue(new Callback<Venter.Comment>() {
@Override
public void onResponse(Call<Venter.Comment> call, Response<Venter.Comment> response) {
if (response.isSuccessful()) {
......@@ -314,7 +313,7 @@ public class ComplaintDetailsFragment extends Fragment {
private void upVote(final Venter.Complaint detailedComplaint) {
RetrofitInterface retrofitInterface = Utils.getRetrofitInterface();
if (detailedComplaint.getVoteCount() == 0) {
retrofitInterface.upVote("sessionid=" + sId, cId, 1).enqueue(new Callback<Venter.Complaint>() {
retrofitInterface.upVote(Utils.getSessionIDHeader(), cId, 1).enqueue(new Callback<Venter.Complaint>() {
@Override
public void onResponse(Call<Venter.Complaint> call, Response<Venter.Complaint> response) {
if (response.isSuccessful()) {
......@@ -331,7 +330,7 @@ public class ComplaintDetailsFragment extends Fragment {
}
});
} else if (detailedComplaint.getVoteCount() ==1){
retrofitInterface.upVote("sessionid=" + sId, cId, 0).enqueue(new Callback<Venter.Complaint>() {
retrofitInterface.upVote(Utils.getSessionIDHeader(), cId, 0).enqueue(new Callback<Venter.Complaint>() {
@Override
public void onResponse(Call<Venter.Complaint> call, Response<Venter.Complaint> response) {
if (response.isSuccessful()) {
......@@ -360,7 +359,7 @@ public class ComplaintDetailsFragment extends Fragment {
"Yes",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
retrofitInterface.subscribetoComplaint("sessionid=" + sId, detailedComplaint.getComplaintID(), 0).enqueue(new Callback<Venter.Complaint>() {
retrofitInterface.subscribetoComplaint(Utils.getSessionIDHeader(), detailedComplaint.getComplaintID(), 0).enqueue(new Callback<Venter.Complaint>() {
@Override
public void onResponse(Call<Venter.Complaint> call, Response<Venter.Complaint> response) {
if (response.isSuccessful()) {
......@@ -389,7 +388,7 @@ public class ComplaintDetailsFragment extends Fragment {
AlertDialog alert11 = unsubscribe.create();
alert11.show();
} else if (detailedComplaint.getComplaintsubscribed() == 0){
retrofitInterface.subscribetoComplaint("sessionid=" + sId, detailedComplaint.getComplaintID(), 1).enqueue(new Callback<Venter.Complaint>() {
retrofitInterface.subscribetoComplaint(Utils.getSessionIDHeader(), detailedComplaint.getComplaintID(), 1).enqueue(new Callback<Venter.Complaint>() {
@Override
public void onResponse(Call<Venter.Complaint> call, Response<Venter.Complaint> response) {
if (response.isSuccessful()) {
......
......@@ -19,6 +19,7 @@ import java.util.Objects;
import app.insti.R;
import app.insti.Utils;
import app.insti.adapter.ComplaintDetailsPagerAdapter;
import app.insti.api.EmptyCallback;
import app.insti.api.RetrofitInterface;
import app.insti.api.model.User;
import app.insti.api.model.Venter;
......@@ -32,7 +33,7 @@ public class ComplaintFragment extends Fragment {
private TabLayout slidingTabLayout;
private ViewPager viewPager;
private View mview;
private String complaintId, sessionID, userId, userProfileUrl;
private String complaintId, userId, userProfileUrl;
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
......@@ -51,7 +52,6 @@ public class ComplaintFragment extends Fragment {
Bundle bundle = getArguments();
if (bundle != null) {
complaintId = bundle.getString("id");
sessionID = bundle.getString("sessionId");
userId = bundle.getString("userId");
userProfileUrl = bundle.getString("userProfileUrl");
callServerToGetDetailedComplaint();
......@@ -61,12 +61,12 @@ public class ComplaintFragment extends Fragment {
private void callServerToGetDetailedComplaint() {
RetrofitInterface retrofitInterface = Utils.getRetrofitInterface();
retrofitInterface.getComplaint("sessionid=" + sessionID, complaintId).enqueue(new Callback<Venter.Complaint>() {
retrofitInterface.getComplaint(Utils.getSessionIDHeader(), complaintId).enqueue(new EmptyCallback<Venter.Complaint>() {
@Override
public void onResponse(Call<Venter.Complaint> call, Response<Venter.Complaint> response) {
if (getActivity() == null || getView() == null) return;
if (response.body() != null) {
Venter.Complaint complaint = response.body();
if (complaint != null) {
for (User currentUser : complaint.getUsersUpVoted()) {
if (currentUser.getUserID().equals(userId)) {
complaint.setVoteCount(1);
......@@ -74,19 +74,11 @@ public class ComplaintFragment extends Fragment {
complaint.setVoteCount(0);
}
}
}
initTabViews(complaint);
//Make progress circle gone After loading
getActivity().findViewById(R.id.loadingPanel).setVisibility(View.GONE);
}
}
@Override
public void onFailure(Call<Venter.Complaint> call, Throwable t) {
if (t != null) {
Log.i(TAG, "error and t = " + t.toString());
}
}
});
}
......@@ -95,8 +87,7 @@ public class ComplaintFragment extends Fragment {
if (detailedComplaint != null) {
viewPager = mview.findViewById(R.id.tab_viewpager_details);
if (viewPager != null) {
Log.i(TAG, "viewPager != null");
ComplaintDetailsPagerAdapter complaintDetailsPagerAdapter = new ComplaintDetailsPagerAdapter(getChildFragmentManager(), sessionID, complaintId, userId, userProfileUrl);
ComplaintDetailsPagerAdapter complaintDetailsPagerAdapter = new ComplaintDetailsPagerAdapter(getChildFragmentManager(), complaintId, userId, userProfileUrl);
viewPager.setAdapter(complaintDetailsPagerAdapter);
slidingTabLayout.setupWithViewPager(viewPager);
......
......@@ -6,7 +6,6 @@ import android.support.v4.app.Fragment;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
......@@ -31,10 +30,9 @@ public class ComplaintsHomeFragment extends Fragment {
private static String TAG = ComplaintsHomeFragment.class.getSimpleName();
private boolean isCalled = false;
private TextView error_message_home;
private static String sID, uID, uProfileUrl;
private static String uID, uProfileUrl;
public static ComplaintsHomeFragment getInstance(String sessionID, String userID, String userProfileUrl) {
sID = sessionID;
public static ComplaintsHomeFragment getInstance(String userID, String userProfileUrl) {
uID = userID;
uProfileUrl = userProfileUrl;
return new ComplaintsHomeFragment();
......@@ -57,7 +55,7 @@ public class ComplaintsHomeFragment extends Fragment {
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_complaints_home, container, false);
RecyclerView recyclerViewHome = view.findViewById(R.id.recyclerViewHome);
homeListAdapter = new ComplaintsAdapter(getActivity(), sID, uID, uProfileUrl);
homeListAdapter = new ComplaintsAdapter(getActivity(), uID, uProfileUrl);
swipeContainer = view.findViewById(R.id.swipeContainer);
error_message_home = view.findViewById(R.id.error_message_home);
......@@ -93,16 +91,13 @@ public class ComplaintsHomeFragment extends Fragment {
private void callServerToGetNearbyComplaints() {
try {
RetrofitInterface retrofitInterface = Utils.getRetrofitInterface();
retrofitInterface.getAllComplaints("sessionid=" + sID).enqueue(new Callback<List<Venter.Complaint>>() {
retrofitInterface.getAllComplaints(Utils.getSessionIDHeader()).enqueue(new Callback<List<Venter.Complaint>>() {
@Override
public void onResponse(@NonNull Call<List<Venter.Complaint>> call, @NonNull Response<List<Venter.Complaint>> response) {
if (response.body() != null && !(response.body().isEmpty())) {
Log.i(TAG, "response.body != null");
Log.i(TAG, "response: " + response.body());
initialiseRecyclerView(response.body());
swipeContainer.setRefreshing(false);
} else {
Log.i(TAG, "response.body is empty");
error_message_home.setVisibility(View.VISIBLE);
error_message_home.setText(getString(R.string.no_complaints));
swipeContainer.setRefreshing(false);
......@@ -111,7 +106,6 @@ public class ComplaintsHomeFragment extends Fragment {
@Override
public void onFailure(@NonNull Call<List<Venter.Complaint>> call, @NonNull Throwable t) {
Log.i(TAG, "failure" + t.toString());
swipeContainer.setRefreshing(false);
error_message_home.setVisibility(View.VISIBLE);
}
......
......@@ -25,15 +25,14 @@ import retrofit2.Response;
public class ComplaintsMeFragment extends Fragment {
private static String uID, sID, uProfileUrl;
private static String uID, uProfileUrl;
private ComplaintsAdapter meListAdapter;
private TextView error_message_me;
private SwipeRefreshLayout swipeContainer;
private static String TAG = ComplaintsMeFragment.class.getSimpleName();
private boolean isCalled = false;
public static ComplaintsMeFragment getInstance(String sessionID, String userID, String userProfileUrl) {
sID = sessionID;
public static ComplaintsMeFragment getInstance(String userID, String userProfileUrl) {
uID = userID;
uProfileUrl = userProfileUrl;
return new ComplaintsMeFragment();
......@@ -57,7 +56,7 @@ public class ComplaintsMeFragment extends Fragment {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_complaints_me, container, false);
RecyclerView recyclerViewMe = view.findViewById(R.id.recyclerViewMe);
meListAdapter = new ComplaintsAdapter(getActivity(), sID, uID, uProfileUrl);
meListAdapter = new ComplaintsAdapter(getActivity(), uID, uProfileUrl);
swipeContainer = view.findViewById(R.id.swipeContainer);
error_message_me = view.findViewById(R.id.error_message_me);
......@@ -93,7 +92,7 @@ public class ComplaintsMeFragment extends Fragment {
private void callServerToGetMyComplaints() {
try {
RetrofitInterface retrofitInterface = Utils.getRetrofitInterface();
retrofitInterface.getUserComplaints("sessionid=" + sID).enqueue(new Callback<List<Venter.Complaint>>() {
retrofitInterface.getUserComplaints(Utils.getSessionIDHeader()).enqueue(new Callback<List<Venter.Complaint>>() {
@Override
public void onResponse(@NonNull Call<List<Venter.Complaint>> call, @NonNull Response<List<Venter.Complaint>> response) {
if (response.body() != null && !(response.body().isEmpty())) {
......
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