Skip to content

Commit be97848

Browse files
authored
Merge pull request #45 from pulkit4tech/delete_privy
#30 : Added option for delete request
2 parents 89a1605 + 643e3e6 commit be97848

File tree

11 files changed

+181
-31
lines changed

11 files changed

+181
-31
lines changed

app/src/main/java/com/pulkit4tech/privy/PrivyDetailsActivity.java

Lines changed: 94 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,40 @@
66
import android.support.design.widget.Snackbar;
77
import android.support.v7.app.AppCompatActivity;
88
import android.os.Bundle;
9+
import android.support.v7.widget.CardView;
910
import android.support.v7.widget.Toolbar;
1011
import android.util.Log;
1112
import android.view.MenuItem;
1213
import android.view.View;
13-
import android.widget.RelativeLayout;
14+
import android.widget.Button;
1415
import android.widget.TextView;
15-
16+
import android.widget.Toast;
17+
18+
import com.android.volley.Response;
19+
import com.android.volley.VolleyError;
20+
import com.android.volley.toolbox.JsonObjectRequest;
21+
import com.android.volley.toolbox.Volley;
22+
import com.google.gson.GsonBuilder;
23+
import com.pulkit4tech.privy.data.PostPrivyDeleteRequest;
1624
import com.pulkit4tech.privy.data.json.LocationData;
1725
import com.pulkit4tech.privy.data.json.MarkerData;
26+
import com.pulkit4tech.privy.data.json.PostPrivyDeleteResponse;
27+
28+
import org.json.JSONObject;
1829

1930
import static android.content.Intent.ACTION_VIEW;
2031
import static com.pulkit4tech.privy.constants.Constants.DEBUG;
2132

2233
public class PrivyDetailsActivity extends AppCompatActivity {
2334

2435
private MarkerData data;
36+
private String GOOGLE_MAP_API_KEY = "key";
37+
private String MAPS = "maps";
38+
private String API = "api";
39+
private String PLACE = "place";
40+
private String DELETE = "delete";
41+
private String JSON = "json";
42+
private String OK = "OK";
2543

2644
@Override
2745
protected void onCreate(Bundle savedInstanceState) {
@@ -36,8 +54,81 @@ protected void onCreate(Bundle savedInstanceState) {
3654
setData();
3755
}
3856

57+
setDelete();
3958
}
4059

60+
private void setDelete() {
61+
Button delete = (Button) findViewById(R.id.delete_privy);
62+
delete.setOnClickListener(new View.OnClickListener() {
63+
@Override
64+
public void onClick(View view) {
65+
deletePrivy();
66+
}
67+
});
68+
}
69+
70+
private void deletePrivy() {
71+
JsonObjectRequest request = new JsonObjectRequest(
72+
postDeleteUrl(),
73+
postJsonBody(),
74+
postDelResListner,
75+
errorListener
76+
);
77+
78+
Volley.newRequestQueue(this).add(request);
79+
}
80+
81+
private JSONObject postJsonBody() {
82+
JSONObject jsonObject = null;
83+
try {
84+
PostPrivyDeleteRequest delete_data = new PostPrivyDeleteRequest();
85+
delete_data.setPlaceid(data.getPlaceid());
86+
jsonObject = new JSONObject(new GsonBuilder().create().toJson(delete_data));
87+
} catch (Exception e) {
88+
Log.d(DEBUG, e.toString());
89+
}
90+
91+
Log.d(DEBUG, "Delete Request Json Body : " + jsonObject.toString());
92+
return jsonObject;
93+
}
94+
95+
private String postDeleteUrl() {
96+
Uri.Builder builder = new Uri.Builder();
97+
builder.scheme("https")
98+
.authority(getString(R.string.request_api))
99+
.appendPath(MAPS)
100+
.appendPath(API)
101+
.appendPath(PLACE)
102+
.appendPath(DELETE)
103+
.appendPath(JSON)
104+
.appendQueryParameter(GOOGLE_MAP_API_KEY, getString(R.string.google_maps_key));
105+
String url = builder.build().toString();
106+
Log.d(DEBUG, url);
107+
return url;
108+
}
109+
110+
private Response.Listener postDelResListner = new Response.Listener<JSONObject>() {
111+
@Override
112+
public void onResponse(JSONObject response) {
113+
PostPrivyDeleteResponse res = new GsonBuilder().create().fromJson(response.toString(), PostPrivyDeleteResponse.class);
114+
if (res.getStatus().equals(OK)) {
115+
Toast.makeText(getApplicationContext(), getString(R.string.delete_request_success), Toast.LENGTH_LONG).show();
116+
finish();
117+
} else {
118+
Log.d(DEBUG, res.toString());
119+
snackMsg(getString(R.string.delete_request_failed));
120+
}
121+
}
122+
};
123+
124+
private Response.ErrorListener errorListener = new Response.ErrorListener() {
125+
@Override
126+
public void onErrorResponse(VolleyError error) {
127+
snackMsg(getString(R.string.network_error));
128+
Log.d(DEBUG, error.toString());
129+
}
130+
};
131+
41132
private void setFab() {
42133
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
43134
fab.setOnClickListener(new View.OnClickListener() {
@@ -124,7 +215,6 @@ private MarkerData retrieveData() {
124215

125216
@Override
126217
public boolean onOptionsItemSelected(MenuItem item) {
127-
// handle arrow click here
128218
if (item.getItemId() == android.R.id.home) {
129219
finish(); // close this activity and return to preview activity (if there is any)
130220
}
@@ -133,6 +223,6 @@ public boolean onOptionsItemSelected(MenuItem item) {
133223
}
134224

135225
private void snackMsg(String msg) {
136-
Snackbar.make((RelativeLayout) findViewById(R.id.relative_layout_privy_detail), msg, Snackbar.LENGTH_LONG).show();
226+
Snackbar.make((CardView) findViewById(R.id.cardview), msg, Snackbar.LENGTH_LONG).show();
137227
}
138228
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package com.pulkit4tech.privy.data;
2+
3+
public class PostPrivyDeleteRequest {
4+
private String place_id;
5+
6+
public String getPlaceid() {
7+
return place_id;
8+
}
9+
10+
public void setPlaceid(String place_id) {
11+
this.place_id = place_id;
12+
}
13+
14+
@Override
15+
public String toString() {
16+
return "PostPrivyDeleteRequest{" +
17+
"place_id='" + place_id + '\'' +
18+
'}';
19+
}
20+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package com.pulkit4tech.privy.data.json;
2+
3+
public class PostPrivyDeleteResponse {
4+
private String status;
5+
private String error_message;
6+
7+
public String getStatus() {
8+
return status;
9+
}
10+
11+
public void setStatus(String status) {
12+
this.status = status;
13+
}
14+
15+
public String getErrormessage() {
16+
return error_message;
17+
}
18+
19+
public void setErrormessage(String error_message) {
20+
this.error_message = error_message;
21+
}
22+
23+
@Override
24+
public String toString() {
25+
return "PostPrivyDeleteResponse{" +
26+
"status='" + status + '\'' +
27+
", error_message='" + error_message + '\'' +
28+
'}';
29+
}
30+
}

app/src/main/java/com/pulkit4tech/privy/utilities/NetworkRequest.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public class NetworkRequest {
5050
private String NAME_KEY = "name";
5151
private String NAME_VALUE = "toilet";
5252
private String RADIUS = "radius";
53-
// private String RANKBY = "rankby";
53+
// private String RANKBY = "rankby";
5454
// private String DISTANCE = "distance";
5555
private String GOOGLE_MAP_API_KEY = "key";
5656
private String MAPS = "maps";
@@ -105,9 +105,9 @@ public void onResponse(String response) {
105105
GetPrivyResponse post = gson.fromJson(response, GetPrivyResponse.class);
106106
if (post.getResults().size() == 0) {
107107
if (post.getStatus().equals("ZERO_RESULTS"))
108-
snackMsg(mContext.getResources().getString(R.string.no_result_msg));
108+
snackMsg(mContext.getString(R.string.no_result_msg));
109109
else {
110-
snackMsg(mContext.getResources().getString(R.string.error_retrieving_data_msg));
110+
snackMsg(mContext.getString(R.string.error_retrieving_data_msg));
111111
Log.e(DEBUG, post.toString());
112112
}
113113
} else {
@@ -140,15 +140,15 @@ public boolean onMarkerClick(Marker marker) {
140140
private Response.ErrorListener getErrorListner = new Response.ErrorListener() {
141141
@Override
142142
public void onErrorResponse(VolleyError error) {
143-
snackMsg(mContext.getResources().getString(R.string.network_error));
143+
snackMsg(mContext.getString(R.string.network_error));
144144
Log.d(DEBUG, error.toString());
145145
}
146146
};
147147

148148
private String getRequestUrl() {
149149
Uri.Builder builder = new Uri.Builder();
150150
builder.scheme("https")
151-
.authority(mContext.getResources().getString(R.string.request_api))
151+
.authority(mContext.getString(R.string.request_api))
152152
.appendPath(MAPS)
153153
.appendPath(API)
154154
.appendPath(PLACE)
@@ -157,8 +157,8 @@ private String getRequestUrl() {
157157
.encodedQuery(LOCATION + "=" + String.format("%f,%f", myLocation.latitude, myLocation.longitude))
158158
.appendQueryParameter(NAME_KEY, NAME_VALUE)
159159
// .appendQueryParameter(RANKBY,DISTANCE)
160-
.appendQueryParameter(RADIUS, mContext.getResources().getString(R.string.radius))
161-
.appendQueryParameter(GOOGLE_MAP_API_KEY, mContext.getResources().getString(R.string.google_maps_key));
160+
.appendQueryParameter(RADIUS, mContext.getString(R.string.radius))
161+
.appendQueryParameter(GOOGLE_MAP_API_KEY, mContext.getString(R.string.google_maps_key));
162162

163163
return builder.build().toString();
164164
}
@@ -179,21 +179,21 @@ public void onResponse(JSONObject response) {
179179
private Response.ErrorListener postErrorListner = new Response.ErrorListener() {
180180
@Override
181181
public void onErrorResponse(VolleyError error) {
182-
snackMsg(mContext.getResources().getString(R.string.network_error));
182+
snackMsg(mContext.getString(R.string.network_error));
183183
Log.d(DEBUG, error.toString());
184184
}
185185
};
186186

187187
private String postRequestUrl() {
188188
Uri.Builder builder = new Uri.Builder();
189189
builder.scheme("https")
190-
.authority(mContext.getResources().getString(R.string.request_api))
190+
.authority(mContext.getString(R.string.request_api))
191191
.appendPath(MAPS)
192192
.appendPath(API)
193193
.appendPath(PLACE)
194194
.appendPath(ADD)
195195
.appendPath(JSON)
196-
.appendQueryParameter(GOOGLE_MAP_API_KEY, mContext.getResources().getString(R.string.google_maps_key));
196+
.appendQueryParameter(GOOGLE_MAP_API_KEY, mContext.getString(R.string.google_maps_key));
197197
String url = builder.build().toString();
198198
Log.d(DEBUG, url);
199199
return url;
@@ -209,7 +209,7 @@ private JSONObject postJsonBody() {
209209
Log.d(DEBUG, jsonObject.toString());
210210
return jsonObject;
211211
}
212-
212+
213213
private void snackMsg(String msg) {
214214
Snackbar.make(mContext.findViewById(R.id.coordinator_layout), msg, Snackbar.LENGTH_LONG).show();
215215
}
25.2 KB
Loading
-5.88 KB
Binary file not shown.
-7.28 KB
Binary file not shown.

app/src/main/res/layout/activity_privy_details.xml

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
android:layout_width="match_parent"
44
android:layout_height="match_parent"
55
android:id="@+id/relative_layout_privy_detail"
6+
android:background="@drawable/city_background"
67
>
78

89
<android.support.design.widget.AppBarLayout
@@ -21,12 +22,16 @@
2122
</android.support.design.widget.AppBarLayout>
2223

2324
<android.support.v7.widget.CardView
25+
xmlns:card_view="http://schemas.android.com/apk/res-auto"
2426
android:id="@+id/cardview"
2527
android:layout_width="match_parent"
2628
android:layout_height="wrap_content"
2729
android:layout_below="@id/app_bar_layout"
2830
android:layout_margin="@dimen/card_view_margin"
29-
android:elevation="@dimen/card_view_elevation">
31+
card_view:cardUseCompatPadding="true"
32+
card_view:cardElevation="@dimen/card_view_elevation"
33+
card_view:cardCornerRadius="@dimen/card_view_radius"
34+
>
3035

3136
<RelativeLayout
3237
android:id="@+id/relative_layout1"
@@ -44,7 +49,7 @@
4449

4550
<LinearLayout
4651
android:layout_width="match_parent"
47-
android:layout_height="50sp"
52+
android:layout_height="@dimen/privy_detail_list_item_height"
4853
android:orientation="horizontal"
4954
android:weightSum="2">
5055

@@ -67,7 +72,7 @@
6772

6873
<LinearLayout
6974
android:layout_width="match_parent"
70-
android:layout_height="50sp"
75+
android:layout_height="@dimen/privy_detail_list_item_height"
7176
android:orientation="horizontal"
7277
android:weightSum="2">
7378

@@ -90,7 +95,7 @@
9095

9196
<LinearLayout
9297
android:layout_width="match_parent"
93-
android:layout_height="50sp"
98+
android:layout_height="@dimen/privy_detail_list_item_height"
9499
android:orientation="horizontal"
95100
android:weightSum="2">
96101

@@ -113,7 +118,7 @@
113118

114119
<LinearLayout
115120
android:layout_width="match_parent"
116-
android:layout_height="50sp"
121+
android:layout_height="@dimen/privy_detail_list_item_height"
117122
android:orientation="horizontal"
118123
android:weightSum="2">
119124

@@ -136,7 +141,7 @@
136141

137142
<LinearLayout
138143
android:layout_width="match_parent"
139-
android:layout_height="50sp"
144+
android:layout_height="@dimen/privy_detail_list_item_height"
140145
android:orientation="horizontal"
141146
android:weightSum="2">
142147

@@ -188,23 +193,23 @@
188193
android:id="@+id/textView6"
189194
android:layout_width="wrap_content"
190195
android:layout_height="wrap_content"
196+
android:text="@string/wrong_info"
197+
android:textColor="@android:color/white"
198+
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
199+
android:layout_below="@+id/cardview"
191200
android:layout_alignLeft="@+id/cardview"
192201
android:layout_alignStart="@+id/cardview"
193-
android:layout_below="@+id/cardview"
194-
android:text="Wrong Info ?"
195-
android:textSize="12sp" />
202+
android:layout_marginStart="@dimen/card_view_margin"/>
196203

197204
<Button
198205
android:id="@+id/delete_privy"
199206
android:layout_width="88dp"
200207
android:layout_height="wrap_content"
201-
android:layout_alignParentLeft="true"
202-
android:layout_alignParentStart="true"
203-
android:layout_below="@+id/cardview"
204-
android:layout_margin="10dp"
205208
android:text="Delete"
206209
android:textColor="@android:color/white"
207210
android:backgroundTint="@color/colorPrimary"
208-
/>
211+
android:layout_alignBaseline="@+id/textView6"
212+
android:layout_alignBottom="@+id/textView6"
213+
android:layout_centerHorizontal="true" />
209214

210215
</RelativeLayout>

app/src/main/res/layout/nav_header_main.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
xmlns:app="http://schemas.android.com/apk/res-auto"
44
android:layout_width="match_parent"
55
android:layout_height="@dimen/nav_header_height"
6-
android:background="@drawable/navigation_header"
6+
android:background="@drawable/city_background"
77
android:gravity="bottom"
88
android:orientation="vertical"
99
android:paddingBottom="@dimen/activity_vertical_margin"

app/src/main/res/values/dimens.xml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
<dimen name="profile_pic_width">80sp</dimen>
1313
<dimen name="profile_pic_height">80sp</dimen>
1414
<dimen name="card_view_margin">16sp</dimen>
15-
<dimen name="card_view_elevation">16dp</dimen>
15+
<dimen name="card_view_elevation">10dp</dimen>
1616
<dimen name="fab_elevation">5sp</dimen>
17+
<dimen name="privy_detail_list_item_height">45dp</dimen>
18+
<dimen name="card_view_radius">10dp</dimen>
1719
</resources>

0 commit comments

Comments
 (0)