Commit b743c356 authored by preetamozarde3's avatar preetamozarde3 Committed by Varun Patil

Add support for additional venter fields (#266)

* Relevant Complaints Changes, Edit comments

* Relevant Complaints Changes, Edit comments

* Comments adapter changes

* Add back button

* Merge with Master

* Modify .gitignore file

* Create seperate branch for edit comments feature

* Optimize the edit comments code

* Make minor codacy changes

* Remove commented code and remove files from gitignore

* Add option to edit comments and removal of commented code

* Add option to edit comments

* Add fields for suggestions and location details, make required changes to complaint card and complaint details fragment.

* Removing unwanted code

* Removing unwanted files

* Adding required files

* Minor Codacy Changes

* Make changes to the model and the UI to accomodate notifications and subscriptions.

* Minor Codacy Changes

* Fix a bug and optimize the code

* Fix a minor bug to display location details

* Remove unused resources
parent 3124030c
...@@ -133,6 +133,9 @@ public interface RetrofitInterface { ...@@ -133,6 +133,9 @@ public interface RetrofitInterface {
@GET("venter/complaints/{complaintId}/upvote") @GET("venter/complaints/{complaintId}/upvote")
Call<Venter.Complaint> upVote(@Header("Cookie") String sessionId, @Path("complaintId") String complaintId, @Query("action") int count); Call<Venter.Complaint> upVote(@Header("Cookie") String sessionId, @Path("complaintId") String complaintId, @Query("action") int count);
@GET("venter/complaints/{complaintId}/subscribe")
Call<Venter.Complaint> subscribetoComplaint(@Header("Cookie") String sessionId, @Path("complaintId") String complaintId, @Query("action") int count);
@POST("venter/complaints") @POST("venter/complaints")
Call<ComplaintCreateResponse> postComplaint(@Header("Cookie") String sessionId, @Body ComplaintCreateRequest complaintCreateRequest); Call<ComplaintCreateResponse> postComplaint(@Header("Cookie") String sessionId, @Body ComplaintCreateRequest complaintCreateRequest);
......
...@@ -17,6 +17,10 @@ public class Venter { ...@@ -17,6 +17,10 @@ public class Venter {
private User complaintCreatedBy; private User complaintCreatedBy;
@SerializedName("description") @SerializedName("description")
private String description; private String description;
@SerializedName("suggestions")
private String complaintSuggestions;
@SerializedName("location_details")
private String complaintLocationDetails;
@SerializedName("report_date") @SerializedName("report_date")
private String complaintReportDate; private String complaintReportDate;
@SerializedName("status") @SerializedName("status")
...@@ -36,6 +40,7 @@ public class Venter { ...@@ -36,6 +40,7 @@ public class Venter {
@SerializedName("comments") @SerializedName("comments")
private List<Comment> comment; private List<Comment> comment;
private int voteCount; private int voteCount;
private int complaintsubscribed;
@NonNull @NonNull
public String getComplaintID() { public String getComplaintID() {
...@@ -62,6 +67,23 @@ public class Venter { ...@@ -62,6 +67,23 @@ public class Venter {
this.description = description; this.description = description;
} }
public String getComplaintSuggestions() {
return complaintSuggestions;
}
public void setComplaintSuggestions(String complaiintSuggestions) {
this.complaintSuggestions = complaiintSuggestions;
}
public String getComplaintLocationDetails() {
return complaintLocationDetails;
}
public void setComplaintLocationDetails(String complaintLocationDetails) {
this.complaintLocationDetails = complaintLocationDetails;
}
public String getComplaintReportDate() { public String getComplaintReportDate() {
return complaintReportDate; return complaintReportDate;
} }
...@@ -141,6 +163,13 @@ public class Venter { ...@@ -141,6 +163,13 @@ public class Venter {
public void setVoteCount(int voteCount) { public void setVoteCount(int voteCount) {
this.voteCount = voteCount; this.voteCount = voteCount;
} }
public int getComplaintsubscribed() {
return complaintsubscribed;
}
public void setComplaintsubscribed(int complaintsubscribed) {
this.complaintsubscribed = complaintsubscribed;
}
} }
public static class TagUri { public static class TagUri {
......
...@@ -11,6 +11,10 @@ import java.util.List; ...@@ -11,6 +11,10 @@ import java.util.List;
public class ComplaintCreateRequest { public class ComplaintCreateRequest {
@SerializedName("description") @SerializedName("description")
private String complaintDescription; private String complaintDescription;
@SerializedName("suggestions")
private String complaintSuggestions;
@SerializedName("location_details")
private String complaintLocationDetails;
@SerializedName("location_description") @SerializedName("location_description")
private String complaintLocation; private String complaintLocation;
@SerializedName("latitude") @SerializedName("latitude")
...@@ -22,8 +26,10 @@ public class ComplaintCreateRequest { ...@@ -22,8 +26,10 @@ public class ComplaintCreateRequest {
@SerializedName("images") @SerializedName("images")
private List<String> images; private List<String> images;
public ComplaintCreateRequest(String complaintDescription, String complaintLocation, Float complaintLatitude, Float complaintLongitude, List<String> tags, List<String> images) { public ComplaintCreateRequest(String complaintDescription, String complaintSuggestions, String complaintLocationDetails, String complaintLocation, Float complaintLatitude, Float complaintLongitude, List<String> tags, List<String> images) {
this.complaintDescription = complaintDescription; this.complaintDescription = complaintDescription;
this.complaintSuggestions = complaintSuggestions;
this.complaintLocationDetails = complaintLocationDetails;
this.complaintLocation = complaintLocation; this.complaintLocation = complaintLocation;
this.complaintLatitude = complaintLatitude; this.complaintLatitude = complaintLatitude;
this.complaintLongitude = complaintLongitude; this.complaintLongitude = complaintLongitude;
...@@ -39,6 +45,22 @@ public class ComplaintCreateRequest { ...@@ -39,6 +45,22 @@ public class ComplaintCreateRequest {
this.complaintDescription = complaintDescription; this.complaintDescription = complaintDescription;
} }
public String getComplaintSuggestions() {
return complaintSuggestions;
}
public void setComplaintSuggestions(String complaintSuggestions) {
this.complaintSuggestions = complaintSuggestions;
}
public String getComplaintLocationDetails() {
return complaintLocationDetails;
}
public void setComplaintLocationDetails(String complaintLocationDetails) {
this.complaintLocationDetails = complaintLocationDetails;
}
public String getComplaintLocation() { public String getComplaintLocation() {
return complaintLocation; return complaintLocation;
} }
......
...@@ -654,17 +654,16 @@ public class FileComplaintFragment extends Fragment { ...@@ -654,17 +654,16 @@ public class FileComplaintFragment extends Fragment {
} }
private void addComplaint() { private void addComplaint() {
final String complaint = "Complaint: \n" + descriptionAutoCompleteTextview.getText().toString(); final String complaint = descriptionAutoCompleteTextview.getText().toString();
final String suggestion; final String suggestion;
final String locationDetails; final String locationDetails;
Log.i(TAG, "\nSuggestion: " + editTextSuggestions.getText().toString());
if (!(editTextSuggestions.getText().toString().isEmpty())) { if (!(editTextSuggestions.getText().toString().isEmpty())) {
suggestion = "\n\nSuggestion: \n" + editTextSuggestions.getText().toString(); suggestion = editTextSuggestions.getText().toString();
} else { } else {
suggestion = ""; suggestion = "";
} }
if (!(editTextLocationDetails.getText().toString().isEmpty())) { if (!(editTextLocationDetails.getText().toString().isEmpty())) {
locationDetails = "\n\nLocation Details: \n" + editTextLocationDetails.getText().toString(); locationDetails = editTextLocationDetails.getText().toString();
} else { } else {
locationDetails = ""; locationDetails = "";
} }
...@@ -679,7 +678,7 @@ public class FileComplaintFragment extends Fragment { ...@@ -679,7 +678,7 @@ public class FileComplaintFragment extends Fragment {
public void onClick(DialogInterface dialogInterface, int i) { public void onClick(DialogInterface dialogInterface, int i) {
Location = new LatLng(19.133810, 72.913257); Location = new LatLng(19.133810, 72.913257);
Address = "IIT Area"; Address = "IIT Area";
ComplaintCreateRequest complaintCreateRequest = new ComplaintCreateRequest(complaint + suggestion + locationDetails, Address, (float) Location.latitude, (float) Location.longitude, Tags, uploadedImagesUrl); ComplaintCreateRequest complaintCreateRequest = new ComplaintCreateRequest(complaint, suggestion, locationDetails, Address, (float) Location.latitude, (float) Location.longitude, Tags, uploadedImagesUrl);
RetrofitInterface retrofitInterface = Utils.getRetrofitInterface(); RetrofitInterface retrofitInterface = Utils.getRetrofitInterface();
retrofitInterface.postComplaint("sessionid=" + getArguments().getString(Constants.SESSION_ID), complaintCreateRequest).enqueue(new Callback<ComplaintCreateResponse>() { retrofitInterface.postComplaint("sessionid=" + getArguments().getString(Constants.SESSION_ID), complaintCreateRequest).enqueue(new Callback<ComplaintCreateResponse>() {
@Override @Override
...@@ -715,7 +714,7 @@ public class FileComplaintFragment extends Fragment { ...@@ -715,7 +714,7 @@ public class FileComplaintFragment extends Fragment {
.create() .create()
.show(); .show();
} else { } else {
ComplaintCreateRequest complaintCreateRequest = new ComplaintCreateRequest(complaint + suggestion + locationDetails, Address, (float) Location.latitude, (float) Location.longitude, Tags, uploadedImagesUrl); ComplaintCreateRequest complaintCreateRequest = new ComplaintCreateRequest(complaint, suggestion, locationDetails, Address, (float) Location.latitude, (float) Location.longitude, Tags, uploadedImagesUrl);
RetrofitInterface retrofitInterface = Utils.getRetrofitInterface(); RetrofitInterface retrofitInterface = Utils.getRetrofitInterface();
retrofitInterface.postComplaint("sessionid=" + getArguments().getString(Constants.SESSION_ID), complaintCreateRequest).enqueue(new Callback<ComplaintCreateResponse>() { retrofitInterface.postComplaint("sessionid=" + getArguments().getString(Constants.SESSION_ID), complaintCreateRequest).enqueue(new Callback<ComplaintCreateResponse>() {
@Override @Override
......
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M20,2L4,2c-1.1,0 -1.99,0.9 -1.99,2L2,22l4,-4h14c1.1,0 2,-0.9 2,-2L22,4c0,-1.1 -0.9,-2 -2,-2zM13,14h-2v-2h2v2zM13,10h-2L11,6h2v4z"/>
</vector>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M21,19V5c0,-1.1 -0.9,-2 -2,-2H5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2zM8.5,13.5l2.5,3.01L14.5,12l4.5,6H5l3.5,-4.5z"/>
</vector>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M2.01,21L23,12 2.01,3 2,10l15,2 -15,2z"/>
</vector>
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto" xmlns:card_view="http://schemas.android.com/apk/res-auto"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/cardView" android:id="@+id/cardView"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
...@@ -21,19 +22,54 @@ ...@@ -21,19 +22,54 @@
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal" android:padding="5dp"
android:weightSum="4"> android:orientation="horizontal">
<de.hdodenhof.circleimageview.CircleImageView
android:id="@+id/circleImageViewUserImage"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="top"
android:scaleType="centerCrop" />
<LinearLayout
android:id="@+id/linearLayoutUser"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="12dp"
android:layout_marginRight="12dp"
android:layout_weight="3"
android:orientation="vertical">
<TextView <TextView
android:id="@+id/textViewUserName" android:id="@+id/textViewUserName"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="4" android:layout_weight="2"
android:text="User" android:text="User"
android:textColor="@android:color/black" android:textColor="@android:color/black"
android:textSize="16sp" android:textSize="16sp"
android:textStyle="bold" /> android:textStyle="bold" />
<TextView
android:id="@+id/textViewReportDate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="report date"
android:textColor="@color/colorGray"
android:textSize="14sp" />
<TextView
android:id="@+id/textViewLocation"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="location"
android:textColor="@color/colorGray"
android:textSize="14sp" />
</LinearLayout>
<TextView <TextView
android:id="@+id/textViewStatus" android:id="@+id/textViewStatus"
android:layout_width="wrap_content" android:layout_width="wrap_content"
...@@ -47,33 +83,113 @@ ...@@ -47,33 +83,113 @@
</LinearLayout> </LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/colorPrimary"/>
<View
android:layout_width="match_parent"
android:layout_height="20dp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView <TextView
android:id="@+id/textViewReportDate" android:id="@+id/complaint_description"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="report date" android:text="Complaint:"
android:textColor="@color/colorGray" android:textColor="@android:color/black"
android:textSize="14sp" /> android:textSize="16sp"
android:textStyle="bold"/>
<View
android:layout_width="match_parent"
android:layout_height="5dp" />
<TextView <TextView
android:id="@+id/textViewLocation" android:id="@+id/textViewDescription"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="location" android:textColor="@android:color/black"
android:textColor="@color/colorGray" android:textSize="16sp" />
android:textSize="14sp" />
<LinearLayout
android:id="@+id/linearLayoutSuggestions"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone">
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="10dp" /> android:layout_height="20dp" />
<TextView <TextView
android:id="@+id/textViewDescription" android:id="@+id/complaint_suggestions"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="location" android:text="Suggestions:"
android:textColor="@android:color/black" android:textColor="@android:color/black"
android:textSize="14sp" /> android:textSize="16sp"
android:textStyle="bold"/>
<View
android:layout_width="match_parent"
android:layout_height="5dp" />
<TextView
android:id="@+id/textViewSuggestions"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/black"
android:textSize="16sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayoutLocationDetails"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone">
<View
android:layout_width="match_parent"
android:layout_height="20dp" />
<TextView
android:id="@+id/complaint_locationDetails"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Location Details:"
android:textColor="@android:color/black"
android:textSize="16sp"
android:textStyle="bold"/>
<View
android:layout_width="match_parent"
android:layout_height="5dp" />
<TextView
android:id="@+id/textViewLocationDetails"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/black"
android:textSize="16sp" />
</LinearLayout>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/colorPrimary"
android:visibility="gone"/>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
...@@ -83,14 +199,14 @@ ...@@ -83,14 +199,14 @@
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:paddingStart="50dp" android:paddingStart="50dp"
android:paddingEnd="20dp" android:paddingEnd="20dp"
android:weightSum="2" android:weightSum="3"
android:background="@drawable/customborder"> android:background="@drawable/customborder">
<LinearLayout <LinearLayout
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1" android:layout_weight="1"
android:weightSum="2"> android:weightSum="3">
<ImageButton <ImageButton
android:id="@+id/buttonVotes" android:id="@+id/buttonVotes"
...@@ -115,7 +231,7 @@ ...@@ -115,7 +231,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1" android:layout_weight="1"
android:weightSum="2"> android:weightSum="3">
<ImageButton <ImageButton
android:id="@+id/buttonComments" android:id="@+id/buttonComments"
...@@ -135,6 +251,32 @@ ...@@ -135,6 +251,32 @@
android:text="12"/> android:text="12"/>
</LinearLayout> </LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:weightSum="3">
<ImageButton
android:id="@+id/buttonnotificationsoff"
style="@style/Widget.AppCompat.Button.Borderless"
android:layout_width="10dp"
android:layout_height="40dp"
android:visibility="visible"
android:layout_weight="1"
android:src="@drawable/baseline_notifications_black_24"/>
<ImageButton
android:id="@+id/buttonnotificationson"
style="@style/Widget.AppCompat.Button.Borderless"
android:layout_width="10dp"
android:layout_height="40dp"
android:visibility="gone"
android:layout_weight="1"
android:src="@drawable/baseline_notifications_active_black_24"/>
</LinearLayout>
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
......
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