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 {
@GET("venter/complaints/{complaintId}/upvote")
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")
Call<ComplaintCreateResponse> postComplaint(@Header("Cookie") String sessionId, @Body ComplaintCreateRequest complaintCreateRequest);
......
......@@ -17,6 +17,10 @@ public class Venter {
private User complaintCreatedBy;
@SerializedName("description")
private String description;
@SerializedName("suggestions")
private String complaintSuggestions;
@SerializedName("location_details")
private String complaintLocationDetails;
@SerializedName("report_date")
private String complaintReportDate;
@SerializedName("status")
......@@ -36,6 +40,7 @@ public class Venter {
@SerializedName("comments")
private List<Comment> comment;
private int voteCount;
private int complaintsubscribed;
@NonNull
public String getComplaintID() {
......@@ -62,6 +67,23 @@ public class Venter {
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() {
return complaintReportDate;
}
......@@ -141,6 +163,13 @@ public class Venter {
public void setVoteCount(int voteCount) {
this.voteCount = voteCount;
}
public int getComplaintsubscribed() {
return complaintsubscribed;
}
public void setComplaintsubscribed(int complaintsubscribed) {
this.complaintsubscribed = complaintsubscribed;
}
}
public static class TagUri {
......
......@@ -11,6 +11,10 @@ import java.util.List;
public class ComplaintCreateRequest {
@SerializedName("description")
private String complaintDescription;
@SerializedName("suggestions")
private String complaintSuggestions;
@SerializedName("location_details")
private String complaintLocationDetails;
@SerializedName("location_description")
private String complaintLocation;
@SerializedName("latitude")
......@@ -22,8 +26,10 @@ public class ComplaintCreateRequest {
@SerializedName("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.complaintSuggestions = complaintSuggestions;
this.complaintLocationDetails = complaintLocationDetails;
this.complaintLocation = complaintLocation;
this.complaintLatitude = complaintLatitude;
this.complaintLongitude = complaintLongitude;
......@@ -39,6 +45,22 @@ public class ComplaintCreateRequest {
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() {
return complaintLocation;
}
......
......@@ -654,17 +654,16 @@ public class FileComplaintFragment extends Fragment {
}
private void addComplaint() {
final String complaint = "Complaint: \n" + descriptionAutoCompleteTextview.getText().toString();
final String complaint = descriptionAutoCompleteTextview.getText().toString();
final String suggestion;
final String locationDetails;
Log.i(TAG, "\nSuggestion: " + editTextSuggestions.getText().toString());
if (!(editTextSuggestions.getText().toString().isEmpty())) {
suggestion = "\n\nSuggestion: \n" + editTextSuggestions.getText().toString();
suggestion = editTextSuggestions.getText().toString();
} else {
suggestion = "";
}
if (!(editTextLocationDetails.getText().toString().isEmpty())) {
locationDetails = "\n\nLocation Details: \n" + editTextLocationDetails.getText().toString();
locationDetails = editTextLocationDetails.getText().toString();
} else {
locationDetails = "";
}
......@@ -679,7 +678,7 @@ public class FileComplaintFragment extends Fragment {
public void onClick(DialogInterface dialogInterface, int i) {
Location = new LatLng(19.133810, 72.913257);
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.postComplaint("sessionid=" + getArguments().getString(Constants.SESSION_ID), complaintCreateRequest).enqueue(new Callback<ComplaintCreateResponse>() {
@Override
......@@ -715,7 +714,7 @@ public class FileComplaintFragment extends Fragment {
.create()
.show();
} 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.postComplaint("sessionid=" + getArguments().getString(Constants.SESSION_ID), complaintCreateRequest).enqueue(new Callback<ComplaintCreateResponse>() {
@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"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/cardView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
......@@ -21,19 +22,54 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="4">
android:padding="5dp"
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
android:id="@+id/textViewUserName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="4"
android:layout_weight="2"
android:text="User"
android:textColor="@android:color/black"
android:textSize="16sp"
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
android:id="@+id/textViewStatus"
android:layout_width="wrap_content"
......@@ -47,33 +83,113 @@
</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
android:id="@+id/textViewReportDate"
android:id="@+id/complaint_description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="report date"
android:textColor="@color/colorGray"
android:textSize="14sp" />
android:text="Complaint:"
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/textViewLocation"
android:id="@+id/textViewDescription"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="location"
android:textColor="@color/colorGray"
android:textSize="14sp" />
android:textColor="@android:color/black"
android:textSize="16sp" />
<LinearLayout
android:id="@+id/linearLayoutSuggestions"
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="10dp" />
android:layout_height="20dp" />
<TextView
android:id="@+id/textViewDescription"
android:id="@+id/complaint_suggestions"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="location"
android:text="Suggestions:"
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
android:layout_width="match_parent"
......@@ -83,14 +199,14 @@
android:layout_gravity="center_horizontal"
android:paddingStart="50dp"
android:paddingEnd="20dp"
android:weightSum="2"
android:weightSum="3"
android:background="@drawable/customborder">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:weightSum="2">
android:weightSum="3">
<ImageButton
android:id="@+id/buttonVotes"
......@@ -115,7 +231,7 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:weightSum="2">
android:weightSum="3">
<ImageButton
android:id="@+id/buttonComments"
......@@ -135,6 +251,32 @@
android:text="12"/>
</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>
......
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