From ff7704856ec6f869fd061245e9a50fe472629286 Mon Sep 17 00:00:00 2001 From: shadman-sakib Date: Fri, 13 Dec 2019 17:37:19 +0600 Subject: [PATCH] updated and fixed api response --- .../barikoilocation/library/MainActivity.java | 23 ++++++++++--------- .../java/barikoi/barikoilocation/Api.java | 2 +- .../barikoilocation/GeoCode/GeoCodeAPI.java | 15 +++++++++--- .../barikoi/barikoilocation/JsonUtils.java | 6 ++--- .../NearbyPlace/NearbyPlaceAPI.java | 23 ++++++++++++------- .../ReverseGeo/ReverseGeoAPI.java | 20 +++++++++++----- .../SearchAutoCompleteAPI.java | 23 ++++++++++++------- 7 files changed, 72 insertions(+), 40 deletions(-) diff --git a/app/src/main/java/barikoi/barikoilocation/library/MainActivity.java b/app/src/main/java/barikoi/barikoilocation/library/MainActivity.java index 8972027..1a36567 100644 --- a/app/src/main/java/barikoi/barikoilocation/library/MainActivity.java +++ b/app/src/main/java/barikoi/barikoilocation/library/MainActivity.java @@ -14,11 +14,9 @@ import barikoi.barikoilocation.GeoCode.PlaceGeoCodeListener; import barikoi.barikoilocation.NearbyPlace.NearbyPlaceAPI; import barikoi.barikoilocation.NearbyPlace.NearbyPlaceListener; -import barikoi.barikoilocation.PlaceModels.GeoCodePlaceModel; -import barikoi.barikoilocation.PlaceModels.NearbyPlacesByCategoryPlaceModel; -import barikoi.barikoilocation.PlaceModels.NearbyPlacesModel; -import barikoi.barikoilocation.PlaceModels.ReverseGeoPlaceModel; -import barikoi.barikoilocation.PlaceModels.SearchAutoCompletePlaceModel; +import barikoi.barikoilocation.PlaceModels.GeoCodePlace; +import barikoi.barikoilocation.PlaceModels.NearbyPlace; +import barikoi.barikoilocation.PlaceModels.ReverseGeoPlace; import barikoi.barikoilocation.ReverseGeo.ReverseGeoAPI; import barikoi.barikoilocation.ReverseGeo.ReverseGeoAPIListener; import barikoi.barikoilocation.PlaceModels.Place; @@ -42,14 +40,14 @@ protected void onCreate(Bundle savedInstanceState) { searchAutocompleteFragment =(SearchAutocompleteFragment)getSupportFragmentManager().findFragmentById(R.id.place_autocomplete_fragment); searchAutocompleteFragment.setPlaceSelectionListener(new SearchAutocompleteFragment.PlaceSelectionListener() { @Override - public void onPlaceSelected(SearchAutoCompletePlaceModel place) { + public void onPlaceSelected(GeoCodePlace place) { Toast.makeText(MainActivity.this, ""+place.getAddress(), Toast.LENGTH_SHORT).show(); Log.d("MainActivity",""+place.getAddress()); } @Override public void onFailure(String error) { - + Toast.makeText(MainActivity.this, error, Toast.LENGTH_SHORT).show(); } }); reverseGeo.setOnClickListener(new View.OnClickListener() { @@ -59,15 +57,16 @@ public void onClick(View view) { .setLatLng(Double.parseDouble(lat.getText().toString()),Double.parseDouble(lon.getText().toString())) .build() .getAddress(new ReverseGeoAPIListener() { + @Override - public void reversedAddress(ReverseGeoPlaceModel place) { + public void reversedAddress(ReverseGeoPlace place) { Toast.makeText(MainActivity.this, ""+place.getAddress(), Toast.LENGTH_SHORT).show(); Log.d("ReverseGeoPlace",""+place.getAddress()); } @Override public void onFailure(String message) { - + Toast.makeText(MainActivity.this, message, Toast.LENGTH_SHORT).show(); } }); } @@ -83,10 +82,11 @@ public void onClick(View view) { .build() .generateNearbyPlaceListByType(new NearbyPlaceListener() { @Override - public void onPlaceListReceivedByCategory(ArrayList places) { + public void onPlaceListReceived(ArrayList places) { Toast.makeText(MainActivity.this, ""+places.get(0).getAddress(), Toast.LENGTH_SHORT).show(); Log.d("Nearby",""+places.size()); } + @Override public void onFailure(String message) { Toast.makeText(MainActivity.this, "Error: "+message, Toast.LENGTH_SHORT).show(); @@ -101,8 +101,9 @@ public void onClick(View view) { .idOrCode(geo.getText().toString()) .build() .generateList(new PlaceGeoCodeListener() { + @Override - public void onGeoCodePlace(GeoCodePlaceModel place) { + public void onGeoCodePlace(GeoCodePlace place) { Toast.makeText(MainActivity.this, ""+place.getAddress(), Toast.LENGTH_SHORT).show(); Log.d("onGeoCodePlace",""+place.getAddress()); } diff --git a/barikoilocation/src/main/java/barikoi/barikoilocation/Api.java b/barikoilocation/src/main/java/barikoi/barikoilocation/Api.java index cf37f84..fb48a99 100644 --- a/barikoilocation/src/main/java/barikoi/barikoilocation/Api.java +++ b/barikoilocation/src/main/java/barikoi/barikoilocation/Api.java @@ -13,7 +13,7 @@ public class Api { public static final String url_base="https://barikoi.xyz/v1/"; - public static final String reverseString =url_base+"api/search/reverse/geocode/"+BarikoiAPI.getAccessToken()+"/place"; + public static final String reverseString =url_base+"api/search/reverse/"+BarikoiAPI.getAccessToken()+"/geocode"; public static final String autoCompleteString =url_base+"api/search/autocomplete/"+BarikoiAPI.getAccessToken()+"/place"; public static final String geoCodeString =url_base+"api/search/geocode/"+BarikoiAPI.getAccessToken()+"/place/"; public static final String nearbyPlacesString =url_base+"api/search/nearby/"+BarikoiAPI.getAccessToken()+"/"; diff --git a/barikoilocation/src/main/java/barikoi/barikoilocation/GeoCode/GeoCodeAPI.java b/barikoilocation/src/main/java/barikoi/barikoilocation/GeoCode/GeoCodeAPI.java index e7ffafe..ac9e18f 100644 --- a/barikoilocation/src/main/java/barikoi/barikoilocation/GeoCode/GeoCodeAPI.java +++ b/barikoilocation/src/main/java/barikoi/barikoilocation/GeoCode/GeoCodeAPI.java @@ -53,9 +53,18 @@ public void generateList(PlaceGeoCodeListener placeGeoCodeListener) { Api.geoCodeString +this.idOrCode, (String response) -> { try { - JSONObject data = new JSONArray(response).getJSONObject(0); - GeoCodePlace place = JsonUtils.getGeoCodePlace(data); - placeGeoCodeListener.onGeoCodePlace(place); + JSONObject data = new JSONObject(response); + if(data.has("status")) { + if (data.getInt("status") == 200) { + GeoCodePlace place = JsonUtils.getGeoCodePlace(data.getJSONObject("place")); + placeGeoCodeListener.onGeoCodePlace(place); + }else{ + placeGeoCodeListener.onFailure(data.getString("message")); + } + }else{ + placeGeoCodeListener.onFailure(data.getString("message")); + } + } catch (JSONException e) { placeGeoCodeListener.onFailure(JsonUtils.logError(TAG,response)); } diff --git a/barikoilocation/src/main/java/barikoi/barikoilocation/JsonUtils.java b/barikoilocation/src/main/java/barikoi/barikoilocation/JsonUtils.java index 33e6eef..f6cf264 100644 --- a/barikoilocation/src/main/java/barikoi/barikoilocation/JsonUtils.java +++ b/barikoilocation/src/main/java/barikoi/barikoilocation/JsonUtils.java @@ -74,7 +74,7 @@ public static ArrayList getSearchAutoCompletePlaces(JSO for (int i = 0; i < placearray.length(); i++) { JSONObject report = placearray.getJSONObject(i); String id = report.has("id")? report.getString("id"):""; - String address =report.has("Address")? report.getString("Address"):""; + String address =report.has("address")? report.getString("address"):""; String code = report.has("uCode")?report.getString("uCode"):""; String area=report.has("area")? report.getString("area"):""; @@ -96,7 +96,7 @@ public static GeoCodePlace getGeoCodePlace(JSONObject jsonObject){ try{ String lon = jsonObject.has("longitude")? jsonObject.getString("longitude"):""; String lat = jsonObject.has("latitude")?jsonObject.getString("latitude"):""; - String address =jsonObject.has("Address")? jsonObject.getString("Address"):""; + String address =jsonObject.has("address")? jsonObject.getString("address"):""; String code = jsonObject.has("uCode")?jsonObject.getString("uCode"):""; String area=jsonObject.has("area")? jsonObject.getString("area"):""; String city=jsonObject.has("city")? jsonObject.getString("city"):""; @@ -134,7 +134,7 @@ public static ReverseGeoPlace getReverseGeoPlace(JSONObject jsonObject){ try{ double distance_within_meters = jsonObject.has("distance_within_meters")?jsonObject.getDouble("distance_within_meters"):0.0; String id = jsonObject.has("id")?jsonObject.getString("id"):""; - String address =jsonObject.has("Address")? jsonObject.getString("Address"):""; + String address =jsonObject.has("address")? jsonObject.getString("address"):""; String area=jsonObject.has("area")? jsonObject.getString("area"):""; String city=jsonObject.has("city")? jsonObject.getString("city"):""; diff --git a/barikoilocation/src/main/java/barikoi/barikoilocation/NearbyPlace/NearbyPlaceAPI.java b/barikoilocation/src/main/java/barikoi/barikoilocation/NearbyPlace/NearbyPlaceAPI.java index dc248ab..7622b48 100644 --- a/barikoilocation/src/main/java/barikoi/barikoilocation/NearbyPlace/NearbyPlaceAPI.java +++ b/barikoilocation/src/main/java/barikoi/barikoilocation/NearbyPlace/NearbyPlaceAPI.java @@ -86,15 +86,22 @@ public void generateNearbyPlaceList(NearbyPlaceListener nearbyPlaceListener){ (String response) -> { try { JSONObject data=new JSONObject(response); - JSONArray placearray = data.getJSONArray("Place"); + if(data.has("status")) { + if (data.getInt("status") == 200) { + JSONArray placearray = data.getJSONArray("Place"); + + if (placearray.length() == 0) { + Log.d(TAG,"No places Found"); + nearbyPlaceListener.onFailure("No places Found"); + } else { + ArrayList searchPlaces = JsonUtils.getNearbyPlace(placearray); + nearbyPlaceListener.onPlaceListReceived(searchPlaces); + } + }else{ + nearbyPlaceListener.onFailure(data.getString("message")); + } + }else nearbyPlaceListener.onFailure(data.getString("message")); - if (placearray.length() == 0) { - Log.d(TAG,"No places Found"); - nearbyPlaceListener.onFailure("No places Found"); - } else { - ArrayList searchPlaces = JsonUtils.getNearbyPlace(placearray); - nearbyPlaceListener.onPlaceListReceived(searchPlaces); - } } catch (JSONException e) { nearbyPlaceListener.onFailure(JsonUtils.logError(TAG,response)); diff --git a/barikoilocation/src/main/java/barikoi/barikoilocation/ReverseGeo/ReverseGeoAPI.java b/barikoilocation/src/main/java/barikoi/barikoilocation/ReverseGeo/ReverseGeoAPI.java index 778ce2a..3387fc3 100644 --- a/barikoilocation/src/main/java/barikoi/barikoilocation/ReverseGeo/ReverseGeoAPI.java +++ b/barikoilocation/src/main/java/barikoi/barikoilocation/ReverseGeo/ReverseGeoAPI.java @@ -69,13 +69,21 @@ public void onResponse(String response) { } } try { - JSONObject place= new JSONObject(response).getJSONArray("Place").getJSONObject(0); - ReverseGeoPlace p=JsonUtils.getReverseGeoPlace(place); - if(p!=null && reverseGeoAPIListener !=null ) reverseGeoAPIListener.reversedAddress(p); - else { - Log.d(TAG,"ReverseGeo Listener is null"); - reverseGeoAPIListener.onFailure("ReverseGeo Listener is null"); + JSONObject responsejson=new JSONObject(response); + if(responsejson.has("status")){ + if(responsejson.getInt("status")==200){ + JSONObject place= responsejson.getJSONObject("place"); + ReverseGeoPlace p=JsonUtils.getReverseGeoPlace(place); + if(p!=null && reverseGeoAPIListener !=null ) reverseGeoAPIListener.reversedAddress(p); + else { + Log.d(TAG,"ReverseGeo Listener is null"); + reverseGeoAPIListener.onFailure("ReverseGeo Listener has not been implemented"); + } + }else{ + reverseGeoAPIListener.onFailure(responsejson.getString("message")); + } } + } catch (JSONException e) { reverseGeoAPIListener.onFailure(JsonUtils.logError(TAG,response)); } diff --git a/barikoilocation/src/main/java/barikoi/barikoilocation/SearchAutoComplete/SearchAutoCompleteAPI.java b/barikoilocation/src/main/java/barikoi/barikoilocation/SearchAutoComplete/SearchAutoCompleteAPI.java index 4bb202d..5f91f1a 100644 --- a/barikoilocation/src/main/java/barikoi/barikoilocation/SearchAutoComplete/SearchAutoCompleteAPI.java +++ b/barikoilocation/src/main/java/barikoi/barikoilocation/SearchAutoComplete/SearchAutoCompleteAPI.java @@ -56,15 +56,22 @@ public void generateList(SearchAutoCompleteListener searchAutoCompleteListener) (String response) -> { try { JSONObject data = new JSONObject(response); - JSONArray placearray = data.getJSONArray("places"); + if(data.has("status")){ + if(data.getInt("status")==200){ + JSONArray placearray = data.getJSONArray("places"); + + if (placearray.length() == 0) { + Log.d(TAG,"Place Not Found"); + searchAutoCompleteListener.onFailure(JsonUtils.logError(TAG,response)); + } else { + ArrayList searchPlaces = JsonUtils.getSearchAutoCompletePlaces(placearray); + searchAutoCompleteListener.onPlaceListReceived(searchPlaces); + } + }else{ + searchAutoCompleteListener.onFailure(data.getString("message")); + } + }else searchAutoCompleteListener.onFailure(data.getString("message")); - if (placearray.length() == 0) { - Log.d(TAG,"Place Not Found"); - searchAutoCompleteListener.onFailure(JsonUtils.logError(TAG,response)); - } else { - ArrayList searchPlaces = JsonUtils.getSearchAutoCompletePlaces(placearray); - searchAutoCompleteListener.onPlaceListReceived(searchPlaces); - } } catch (JSONException e) { searchAutoCompleteListener.onFailure(JsonUtils.logError(TAG,response)); }