Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

#30 : Added option for delete request #45

Merged
merged 1 commit into from
Jan 14, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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