Skip to content

Commit

Permalink
#30 : Added option for delete request
Browse files Browse the repository at this point in the history
  • Loading branch information
pulkit4tech committed Jan 14, 2017
1 parent 89a1605 commit 643e3e6
Show file tree
Hide file tree
Showing 11 changed files with 181 additions and 31 deletions.
98 changes: 94 additions & 4 deletions app/src/main/java/com/pulkit4tech/privy/PrivyDetailsActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,40 @@
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.CardView;
import android.support.v7.widget.Toolbar;
import android.util.Log;
import android.view.MenuItem;
import android.view.View;
import android.widget.RelativeLayout;
import android.widget.Button;
import android.widget.TextView;

import android.widget.Toast;

import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.JsonObjectRequest;
import com.android.volley.toolbox.Volley;
import com.google.gson.GsonBuilder;
import com.pulkit4tech.privy.data.PostPrivyDeleteRequest;
import com.pulkit4tech.privy.data.json.LocationData;
import com.pulkit4tech.privy.data.json.MarkerData;
import com.pulkit4tech.privy.data.json.PostPrivyDeleteResponse;

import org.json.JSONObject;

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

public class PrivyDetailsActivity extends AppCompatActivity {

private MarkerData data;
private String GOOGLE_MAP_API_KEY = "key";
private String MAPS = "maps";
private String API = "api";
private String PLACE = "place";
private String DELETE = "delete";
private String JSON = "json";
private String OK = "OK";

@Override
protected void onCreate(Bundle savedInstanceState) {
Expand All @@ -36,8 +54,81 @@ protected void onCreate(Bundle savedInstanceState) {
setData();
}

setDelete();
}

private void setDelete() {
Button delete = (Button) findViewById(R.id.delete_privy);
delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
deletePrivy();
}
});
}

private void deletePrivy() {
JsonObjectRequest request = new JsonObjectRequest(
postDeleteUrl(),
postJsonBody(),
postDelResListner,
errorListener
);

Volley.newRequestQueue(this).add(request);
}

private JSONObject postJsonBody() {
JSONObject jsonObject = null;
try {
PostPrivyDeleteRequest delete_data = new PostPrivyDeleteRequest();
delete_data.setPlaceid(data.getPlaceid());
jsonObject = new JSONObject(new GsonBuilder().create().toJson(delete_data));
} catch (Exception e) {
Log.d(DEBUG, e.toString());
}

Log.d(DEBUG, "Delete Request Json Body : " + jsonObject.toString());
return jsonObject;
}

private String postDeleteUrl() {
Uri.Builder builder = new Uri.Builder();
builder.scheme("https")
.authority(getString(R.string.request_api))
.appendPath(MAPS)
.appendPath(API)
.appendPath(PLACE)
.appendPath(DELETE)
.appendPath(JSON)
.appendQueryParameter(GOOGLE_MAP_API_KEY, getString(R.string.google_maps_key));
String url = builder.build().toString();
Log.d(DEBUG, url);
return url;
}

private Response.Listener postDelResListner = new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
PostPrivyDeleteResponse res = new GsonBuilder().create().fromJson(response.toString(), PostPrivyDeleteResponse.class);
if (res.getStatus().equals(OK)) {
Toast.makeText(getApplicationContext(), getString(R.string.delete_request_success), Toast.LENGTH_LONG).show();
finish();
} else {
Log.d(DEBUG, res.toString());
snackMsg(getString(R.string.delete_request_failed));
}
}
};

private Response.ErrorListener errorListener = new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
snackMsg(getString(R.string.network_error));
Log.d(DEBUG, error.toString());
}
};

private void setFab() {
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
Expand Down Expand Up @@ -124,7 +215,6 @@ private MarkerData retrieveData() {

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

private void snackMsg(String msg) {
Snackbar.make((RelativeLayout) findViewById(R.id.relative_layout_privy_detail), msg, Snackbar.LENGTH_LONG).show();
Snackbar.make((CardView) findViewById(R.id.cardview), msg, Snackbar.LENGTH_LONG).show();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package com.pulkit4tech.privy.data;

public class PostPrivyDeleteRequest {
private String place_id;

public String getPlaceid() {
return place_id;
}

public void setPlaceid(String place_id) {
this.place_id = place_id;
}

@Override
public String toString() {
return "PostPrivyDeleteRequest{" +
"place_id='" + place_id + '\'' +
'}';
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package com.pulkit4tech.privy.data.json;

public class PostPrivyDeleteResponse {
private String status;
private String error_message;

public String getStatus() {
return status;
}

public void setStatus(String status) {
this.status = status;
}

public String getErrormessage() {
return error_message;
}

public void setErrormessage(String error_message) {
this.error_message = error_message;
}

@Override
public String toString() {
return "PostPrivyDeleteResponse{" +
"status='" + status + '\'' +
", error_message='" + error_message + '\'' +
'}';
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ public class NetworkRequest {
private String NAME_KEY = "name";
private String NAME_VALUE = "toilet";
private String RADIUS = "radius";
// private String RANKBY = "rankby";
// private String RANKBY = "rankby";
// private String DISTANCE = "distance";
private String GOOGLE_MAP_API_KEY = "key";
private String MAPS = "maps";
Expand Down Expand Up @@ -105,9 +105,9 @@ public void onResponse(String response) {
GetPrivyResponse post = gson.fromJson(response, GetPrivyResponse.class);
if (post.getResults().size() == 0) {
if (post.getStatus().equals("ZERO_RESULTS"))
snackMsg(mContext.getResources().getString(R.string.no_result_msg));
snackMsg(mContext.getString(R.string.no_result_msg));
else {
snackMsg(mContext.getResources().getString(R.string.error_retrieving_data_msg));
snackMsg(mContext.getString(R.string.error_retrieving_data_msg));
Log.e(DEBUG, post.toString());
}
} else {
Expand Down Expand Up @@ -140,15 +140,15 @@ public boolean onMarkerClick(Marker marker) {
private Response.ErrorListener getErrorListner = new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
snackMsg(mContext.getResources().getString(R.string.network_error));
snackMsg(mContext.getString(R.string.network_error));
Log.d(DEBUG, error.toString());
}
};

private String getRequestUrl() {
Uri.Builder builder = new Uri.Builder();
builder.scheme("https")
.authority(mContext.getResources().getString(R.string.request_api))
.authority(mContext.getString(R.string.request_api))
.appendPath(MAPS)
.appendPath(API)
.appendPath(PLACE)
Expand All @@ -157,8 +157,8 @@ private String getRequestUrl() {
.encodedQuery(LOCATION + "=" + String.format("%f,%f", myLocation.latitude, myLocation.longitude))
.appendQueryParameter(NAME_KEY, NAME_VALUE)
// .appendQueryParameter(RANKBY,DISTANCE)
.appendQueryParameter(RADIUS, mContext.getResources().getString(R.string.radius))
.appendQueryParameter(GOOGLE_MAP_API_KEY, mContext.getResources().getString(R.string.google_maps_key));
.appendQueryParameter(RADIUS, mContext.getString(R.string.radius))
.appendQueryParameter(GOOGLE_MAP_API_KEY, mContext.getString(R.string.google_maps_key));

return builder.build().toString();
}
Expand All @@ -179,21 +179,21 @@ public void onResponse(JSONObject response) {
private Response.ErrorListener postErrorListner = new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
snackMsg(mContext.getResources().getString(R.string.network_error));
snackMsg(mContext.getString(R.string.network_error));
Log.d(DEBUG, error.toString());
}
};

private String postRequestUrl() {
Uri.Builder builder = new Uri.Builder();
builder.scheme("https")
.authority(mContext.getResources().getString(R.string.request_api))
.authority(mContext.getString(R.string.request_api))
.appendPath(MAPS)
.appendPath(API)
.appendPath(PLACE)
.appendPath(ADD)
.appendPath(JSON)
.appendQueryParameter(GOOGLE_MAP_API_KEY, mContext.getResources().getString(R.string.google_maps_key));
.appendQueryParameter(GOOGLE_MAP_API_KEY, mContext.getString(R.string.google_maps_key));
String url = builder.build().toString();
Log.d(DEBUG, url);
return url;
Expand All @@ -209,7 +209,7 @@ private JSONObject postJsonBody() {
Log.d(DEBUG, jsonObject.toString());
return jsonObject;
}

private void snackMsg(String msg) {
Snackbar.make(mContext.findViewById(R.id.coordinator_layout), msg, Snackbar.LENGTH_LONG).show();
}
Expand Down
Binary file added app/src/main/res/drawable/city_background.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed app/src/main/res/drawable/default_profile.png
Binary file not shown.
Binary file removed app/src/main/res/drawable/navigation_header.png
Binary file not shown.
33 changes: 19 additions & 14 deletions app/src/main/res/layout/activity_privy_details.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/relative_layout_privy_detail"
android:background="@drawable/city_background"
>

<android.support.design.widget.AppBarLayout
Expand All @@ -21,12 +22,16 @@
</android.support.design.widget.AppBarLayout>

<android.support.v7.widget.CardView
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/cardview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/app_bar_layout"
android:layout_margin="@dimen/card_view_margin"
android:elevation="@dimen/card_view_elevation">
card_view:cardUseCompatPadding="true"
card_view:cardElevation="@dimen/card_view_elevation"
card_view:cardCornerRadius="@dimen/card_view_radius"
>

<RelativeLayout
android:id="@+id/relative_layout1"
Expand All @@ -44,7 +49,7 @@

<LinearLayout
android:layout_width="match_parent"
android:layout_height="50sp"
android:layout_height="@dimen/privy_detail_list_item_height"
android:orientation="horizontal"
android:weightSum="2">

Expand All @@ -67,7 +72,7 @@

<LinearLayout
android:layout_width="match_parent"
android:layout_height="50sp"
android:layout_height="@dimen/privy_detail_list_item_height"
android:orientation="horizontal"
android:weightSum="2">

Expand All @@ -90,7 +95,7 @@

<LinearLayout
android:layout_width="match_parent"
android:layout_height="50sp"
android:layout_height="@dimen/privy_detail_list_item_height"
android:orientation="horizontal"
android:weightSum="2">

Expand All @@ -113,7 +118,7 @@

<LinearLayout
android:layout_width="match_parent"
android:layout_height="50sp"
android:layout_height="@dimen/privy_detail_list_item_height"
android:orientation="horizontal"
android:weightSum="2">

Expand All @@ -136,7 +141,7 @@

<LinearLayout
android:layout_width="match_parent"
android:layout_height="50sp"
android:layout_height="@dimen/privy_detail_list_item_height"
android:orientation="horizontal"
android:weightSum="2">

Expand Down Expand Up @@ -188,23 +193,23 @@
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/wrong_info"
android:textColor="@android:color/white"
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
android:layout_below="@+id/cardview"
android:layout_alignLeft="@+id/cardview"
android:layout_alignStart="@+id/cardview"
android:layout_below="@+id/cardview"
android:text="Wrong Info ?"
android:textSize="12sp" />
android:layout_marginStart="@dimen/card_view_margin"/>

<Button
android:id="@+id/delete_privy"
android:layout_width="88dp"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@+id/cardview"
android:layout_margin="10dp"
android:text="Delete"
android:textColor="@android:color/white"
android:backgroundTint="@color/colorPrimary"
/>
android:layout_alignBaseline="@+id/textView6"
android:layout_alignBottom="@+id/textView6"
android:layout_centerHorizontal="true" />

</RelativeLayout>
2 changes: 1 addition & 1 deletion app/src/main/res/layout/nav_header_main.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="@dimen/nav_header_height"
android:background="@drawable/navigation_header"
android:background="@drawable/city_background"
android:gravity="bottom"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
Expand Down
4 changes: 3 additions & 1 deletion app/src/main/res/values/dimens.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
<dimen name="profile_pic_width">80sp</dimen>
<dimen name="profile_pic_height">80sp</dimen>
<dimen name="card_view_margin">16sp</dimen>
<dimen name="card_view_elevation">16dp</dimen>
<dimen name="card_view_elevation">10dp</dimen>
<dimen name="fab_elevation">5sp</dimen>
<dimen name="privy_detail_list_item_height">45dp</dimen>
<dimen name="card_view_radius">10dp</dimen>
</resources>
Loading

0 comments on commit 643e3e6

Please sign in to comment.