diff --git a/app/src/main/java/com/pulkit4tech/privy/PrivyDetailsActivity.java b/app/src/main/java/com/pulkit4tech/privy/PrivyDetailsActivity.java index 6345304..c58f1d2 100644 --- a/app/src/main/java/com/pulkit4tech/privy/PrivyDetailsActivity.java +++ b/app/src/main/java/com/pulkit4tech/privy/PrivyDetailsActivity.java @@ -6,15 +6,26 @@ 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; @@ -22,6 +33,13 @@ 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) { @@ -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() { + @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() { @@ -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) } @@ -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(); } } diff --git a/app/src/main/java/com/pulkit4tech/privy/data/PostPrivyDeleteRequest.java b/app/src/main/java/com/pulkit4tech/privy/data/PostPrivyDeleteRequest.java new file mode 100644 index 0000000..0379a93 --- /dev/null +++ b/app/src/main/java/com/pulkit4tech/privy/data/PostPrivyDeleteRequest.java @@ -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 + '\'' + + '}'; + } +} diff --git a/app/src/main/java/com/pulkit4tech/privy/data/json/PostPrivyDeleteResponse.java b/app/src/main/java/com/pulkit4tech/privy/data/json/PostPrivyDeleteResponse.java new file mode 100644 index 0000000..f02b898 --- /dev/null +++ b/app/src/main/java/com/pulkit4tech/privy/data/json/PostPrivyDeleteResponse.java @@ -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 + '\'' + + '}'; + } +} diff --git a/app/src/main/java/com/pulkit4tech/privy/utilities/NetworkRequest.java b/app/src/main/java/com/pulkit4tech/privy/utilities/NetworkRequest.java index d139cfa..70bc5b3 100644 --- a/app/src/main/java/com/pulkit4tech/privy/utilities/NetworkRequest.java +++ b/app/src/main/java/com/pulkit4tech/privy/utilities/NetworkRequest.java @@ -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"; @@ -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 { @@ -140,7 +140,7 @@ 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()); } }; @@ -148,7 +148,7 @@ public void onErrorResponse(VolleyError error) { 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) @@ -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(); } @@ -179,7 +179,7 @@ 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()); } }; @@ -187,13 +187,13 @@ public void onErrorResponse(VolleyError error) { 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; @@ -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(); } diff --git a/app/src/main/res/drawable/city_background.png b/app/src/main/res/drawable/city_background.png new file mode 100644 index 0000000..a783d02 Binary files /dev/null and b/app/src/main/res/drawable/city_background.png differ diff --git a/app/src/main/res/drawable/default_profile.png b/app/src/main/res/drawable/default_profile.png deleted file mode 100644 index ccb6b6d..0000000 Binary files a/app/src/main/res/drawable/default_profile.png and /dev/null differ diff --git a/app/src/main/res/drawable/navigation_header.png b/app/src/main/res/drawable/navigation_header.png deleted file mode 100644 index 3315880..0000000 Binary files a/app/src/main/res/drawable/navigation_header.png and /dev/null differ diff --git a/app/src/main/res/layout/activity_privy_details.xml b/app/src/main/res/layout/activity_privy_details.xml index a32decb..c88ab60 100644 --- a/app/src/main/res/layout/activity_privy_details.xml +++ b/app/src/main/res/layout/activity_privy_details.xml @@ -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" > + card_view:cardUseCompatPadding="true" + card_view:cardElevation="@dimen/card_view_elevation" + card_view:cardCornerRadius="@dimen/card_view_radius" + > @@ -67,7 +72,7 @@ @@ -90,7 +95,7 @@ @@ -113,7 +118,7 @@ @@ -136,7 +141,7 @@ @@ -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"/>