diff --git a/app/src/main/java/fr/utbm/lo53/p2017/positionningapp/Calibration.java b/app/src/main/java/fr/utbm/lo53/p2017/positionningapp/Calibration.java index 2c7ba82..20bd1bc 100644 --- a/app/src/main/java/fr/utbm/lo53/p2017/positionningapp/Calibration.java +++ b/app/src/main/java/fr/utbm/lo53/p2017/positionningapp/Calibration.java @@ -13,6 +13,7 @@ import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.ImageView; import android.widget.Spinner; +import android.widget.TextView; import com.android.volley.Request; import com.android.volley.RequestQueue; @@ -20,6 +21,7 @@ import com.android.volley.Response; import com.android.volley.VolleyError; import com.android.volley.toolbox.JsonObjectRequest; import com.android.volley.toolbox.JsonRequest; +import com.android.volley.toolbox.StringRequest; import com.android.volley.toolbox.Volley; import org.json.JSONException; @@ -46,6 +48,8 @@ public class Calibration extends BaseActivity { final Button cancelButton = (Button) findViewById(R.id.cancelButton); final Button measureButton = (Button) findViewById(R.id.measureButton); final Spinner spinner = (Spinner) findViewById(R.id.spinner); + final TextView txt_spinner = (TextView) findViewById(R.id.txt_select_floor); + queue = Volley.newRequestQueue(this); ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.map_choices, android.R.layout.simple_spinner_dropdown_item); @@ -85,6 +89,7 @@ public class Calibration extends BaseActivity { cancelButton.setVisibility(View.VISIBLE); measureButton.setVisibility(View.VISIBLE); spinner.setVisibility(View.INVISIBLE); + txt_spinner.setVisibility(View.INVISIBLE); } }); cancelButton.setOnClickListener(new View.OnClickListener() { @@ -95,6 +100,7 @@ public class Calibration extends BaseActivity { measureButton.setVisibility(View.INVISIBLE); MapMarker.setVisibility(View.INVISIBLE); spinner.setVisibility(View.VISIBLE); + txt_spinner.setVisibility(View.VISIBLE); } }); spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @@ -127,34 +133,51 @@ public class Calibration extends BaseActivity { Snackbar.make(v, "You need to set a point before measurement.", Snackbar.LENGTH_LONG) .setAction("Action", null).show(); } else { - JsonRequest request = new JsonObjectRequest(Request.Method.GET,getURLSolver().calibrateURL(getMacAddress(), width,height,map_id),null, - new Response.Listener() { - @Override - public void onResponse(JSONObject response) { - try { - String x = response.getString("calibration"); - if(x.equals("try_again")){ - Snackbar.make(v, "An error with the server occurred, please try again", Snackbar.LENGTH_LONG) - .setAction("Action", null).show(); - }else{ - Snackbar.make(v, "Calibration completed", Snackbar.LENGTH_LONG) - .setAction("Action", null).show(); - } - } catch (JSONException e) { - Log.e(TAG, e.toString()); - Snackbar.make(v, "Could not parse the response !", Snackbar.LENGTH_LONG) - .setAction("Action", null).show(); - } - } - }, - new Response.ErrorListener() { + StringRequest request = new StringRequest(Request.Method.GET, getURLSolver().calibrateURL(getMacAddress(), width,height,map_id), + new Response.Listener() { @Override - public void onErrorResponse(VolleyError error) { - Snackbar.make(v, "Error: " + error.getMessage(), Snackbar.LENGTH_LONG) + public void onResponse(String response) { + Snackbar.make(v, "Calibration request sent successfully", Snackbar.LENGTH_SHORT) .setAction("Action", null).show(); - Log.i(TAG, "Error during calibration request"); } - }); + }, new Response.ErrorListener() { + @Override + public void onErrorResponse(VolleyError error) { + Snackbar.make(v, "Error during calibration request", Snackbar.LENGTH_LONG) + .setAction("Action", null).show(); + error.printStackTrace(); + } + }); + +// JsonRequest request = new JsonObjectRequest(Request.Method.GET,getURLSolver().calibrateURL(getMacAddress(), width,height,map_id),null, +// new Response.Listener() { +// @Override +// public void onResponse(JSONObject response) { +// try { +// String x = response.getString("calibration"); +// if(x.equals("try_again")){ +// Snackbar.make(v, "An error with the server occurred, please try again", Snackbar.LENGTH_LONG) +// .setAction("Action", null).show(); +// }else{ +// Snackbar.make(v, "Calibration completed", Snackbar.LENGTH_LONG) +// .setAction("Action", null).show(); +// } +// } catch (JSONException e) { +// Log.e(TAG, e.toString()); +// Snackbar.make(v, "Could not parse the response !", Snackbar.LENGTH_LONG) +// .setAction("Action", null).show(); +// } +// } +// }, +// new Response.ErrorListener() { +// @Override +// public void onErrorResponse(VolleyError error) { +// Snackbar.make(v, "Error during calibration request", Snackbar.LENGTH_LONG) +// .setAction("Action", null).show(); +// error.printStackTrace(); +// } +// }); + queue.add(request); Log.i("TAG", String.format("Request : %s", request.getUrl())); } diff --git a/app/src/main/java/fr/utbm/lo53/p2017/positionningapp/PositioningActivity.java b/app/src/main/java/fr/utbm/lo53/p2017/positionningapp/PositioningActivity.java index 45e6ca7..b8c7236 100644 --- a/app/src/main/java/fr/utbm/lo53/p2017/positionningapp/PositioningActivity.java +++ b/app/src/main/java/fr/utbm/lo53/p2017/positionningapp/PositioningActivity.java @@ -44,7 +44,7 @@ public class PositioningActivity extends BaseActivity { private boolean isLocating = false; - private Integer mapId = null; + private int mapId = 0; private final Handler handler = new Handler(); private final Runnable runnable = new Runnable() { @@ -61,7 +61,6 @@ public class PositioningActivity extends BaseActivity { float x = (float) response.getDouble("x"); float y = (float) response.getDouble("y"); int mapId = response.getInt("map"); - imageLoading.setVisibility(View.GONE); if (hasCorrectMap(mapId)) { putPoint(x, y); } else { @@ -74,10 +73,7 @@ public class PositioningActivity extends BaseActivity { }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { - // TODO: Remove random position - Random r = new Random(); - putPoint(r.nextFloat(), r.nextFloat()); - Snackbar.make(mapView, "Error during positioning request", Snackbar.LENGTH_LONG).show(); + Snackbar.make(mapView, "Error during positioning request", Snackbar.LENGTH_LONG).show(); } }); Log.v(TAG, "" + locateRequest); @@ -167,15 +163,16 @@ public class PositioningActivity extends BaseActivity { mapMarker.setX(mapView.getX() + x_on_map - mapMarker.getWidth()/2); mapMarker.setY(mapView.getY() + y_on_map - mapMarker.getHeight()); mapMarker.setVisibility(View.VISIBLE); - mapView.setVisibility(View.VISIBLE); + imageLoading.setVisibility(View.INVISIBLE); } private boolean hasCorrectMap(int mapId) { - return (this.mapId != null && this.mapId.equals(mapId)); + return this.mapId == mapId; } private void getMap(final int mapId) { - mapView.setVisibility(View.INVISIBLE); + imageLoading.clearAnimation(); + imageLoading.setVisibility(View.INVISIBLE); ImageRequest mapRequest = new ImageRequest( getURLSolver().mapBytesURL(mapId), new Response.Listener() { @@ -190,7 +187,10 @@ public class PositioningActivity extends BaseActivity { }, 0, 0, null, new Response.ErrorListener() { public void onErrorResponse(VolleyError error) { - Snackbar.make(mapView, "Can't load map !", Snackbar.LENGTH_LONG) + PositioningActivity.this.mapId = 1; + mapView.setImageResource(R.drawable.map); + mapView.setVisibility(View.VISIBLE); + Snackbar.make(mapView, "Loading default map...", Snackbar.LENGTH_LONG) .setAction("Action", null).show(); } }); diff --git a/app/src/main/res/layout/content_calibration.xml b/app/src/main/res/layout/content_calibration.xml index 97bfcdc..d41e0c3 100644 --- a/app/src/main/res/layout/content_calibration.xml +++ b/app/src/main/res/layout/content_calibration.xml @@ -101,4 +101,15 @@ android:layout_marginLeft="8dp" app:layout_constraintLeft_toLeftOf="parent" /> + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1600382..8f7fe0d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -97,4 +97,6 @@ Cancel Measure Start locating + + Select your actual floor: -- libgit2 0.21.4