Search in sources :

Example 11 with Response

use of com.android.volley.Response in project easy by MehdiBenmesa.

the class TimeLineActivity method setDataListItemsStudent.

public void setDataListItemsStudent(final Itimeline callback) {
    try {
        CustomRequest jsonReq = new CustomRequest(Request.Method.GET, GET_TIME_TABLE_STUDENT + "/" + user.getString("section") + "/" + user.getString("groupe"), null, new Response.Listener<JSONObject>() {

            @Override
            public void onResponse(JSONObject response) {
                callback.onDataRecieved(response);
            }
        }, new Response.ErrorListener() {

            @Override
            public void onErrorResponse(VolleyError error) {
            }
        });
        App.getInstance().addToRequestQueue(jsonReq);
    } catch (JSONException e) {
        e.printStackTrace();
    }
}
Also used : Response(com.android.volley.Response) VolleyError(com.android.volley.VolleyError) JSONObject(org.json.JSONObject) JSONException(org.json.JSONException) CustomRequest(dz.easy.androidclient.Util.CustomRequest)

Example 12 with Response

use of com.android.volley.Response in project easy by MehdiBenmesa.

the class StartActivity method handleSignInResult.

// [END onActivityResult]
//1D:80:89:02:65:1A:38:03:60:08:D1:38:24:EA:CA:C0:F9:59:48:AC
// [START handleSignInResult]
private void handleSignInResult(GoogleSignInResult result) {
    Log.d(TAG, "handleSignInResult:" + result.isSuccess());
    if (result.isSuccess()) {
        // Signed in successfully, show authenticated UI.
        GoogleSignInAccount acct = result.getSignInAccount();
        updateUI(true);
        App.getInstance().setAccessToken(acct.getIdToken());
        App.getInstance().setEmail(acct.getEmail());
        if (acct.getEmail().substring(acct.getEmail().length() - 6, acct.getEmail().length()).equals("esi.dz")) {
            CustomRequest jsonReq = new CustomRequest(Request.Method.POST, APP_LOGIN, null, new Response.Listener<JSONObject>() {

                @Override
                public void onResponse(JSONObject response) {
                    try {
                        JSONObject user = response.getJSONObject("user");
                        Log.i(TAG, "Signed in as: " + user.getString("name"));
                        //JSONArray resp = responseBody.to;
                        if (user.getString("mail").equals(App.getInstance().getEmail())) {
                            startUserActivity(user);
                        }
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
            }, new Response.ErrorListener() {

                @Override
                public void onErrorResponse(VolleyError error) {
                    hidepDialog();
                }
            }) {

                @Override
                protected Map<String, String> getParams() {
                    Map<String, String> params = new HashMap<String, String>();
                    params.put("email", App.getInstance().getEmail());
                    params.put("idToken", App.getInstance().getAccessToken());
                    return params;
                }
            };
            App.getInstance().addToRequestQueue(jsonReq);
        } else {
            String msg = "c'est pas un compte ESI ";
            Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();
        }
    } else {
        // Signed out, show unauthenticated UI.
        updateUI(false);
    }
}
Also used : Response(com.android.volley.Response) VolleyError(com.android.volley.VolleyError) GoogleSignInAccount(com.google.android.gms.auth.api.signin.GoogleSignInAccount) JSONObject(org.json.JSONObject) HashMap(java.util.HashMap) JSONException(org.json.JSONException) CustomRequest(dz.easy.androidclient.Util.CustomRequest)

Example 13 with Response

use of com.android.volley.Response in project Space-Station-Tracker by Kiarasht.

the class MapsActivity method updatePolyline.

/**
     * Update polyline sets the future predictions of ISS's position for up to 90 minutes.
     */
private void updatePolyline(Date currentDate) {
    long currentLong = currentDate.getTime() / 1000;
    final long[] futureTen = new long[10];
    for (int i = 0; i < futureTen.length; ++i) {
        futureTen[i] = currentLong + (30 * mPoly++);
    }
    final StringBuilder urlBuilder = new StringBuilder();
    for (long aFutureTen : futureTen) {
        urlBuilder.append(aFutureTen).append(",");
    }
    urlBuilder.setLength(urlBuilder.length() - 1);
    //TODO: As a user, I would like the option of changing the units from metric to imperial
    final String units = "miles";
    final String url = "https://api.wheretheiss.at/v1/satellites/25544/positions?timestamps=" + urlBuilder.toString() + "&units=" + units;
    final int finalStart = mPoly;
    JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(url, new Response.Listener<JSONArray>() {

        @Override
        public void onResponse(JSONArray response) {
            try {
                final LatLng[] latLngs = new LatLng[10];
                for (int i = 0; i < response.length(); ++i) {
                    latLngs[i] = new LatLng(response.getJSONObject(i).getDouble("latitude"), response.getJSONObject(i).getDouble("longitude"));
                }
                MapsActivity.this.runOnUiThread(new Runnable() {

                    public void run() {
                        if (finalStart == 10) {
                            for (int i = 0; i < futureTen.length - 1; ++i) {
                                mPolyLine = mMap.addPolyline(new PolylineOptions().add(latLngs[i], latLngs[i + 1]).width(mCurrentWidth).color(mCurrentColor));
                                mPolyArray[mPolyCounter++] = mPolyLine;
                            }
                            mLast = latLngs[latLngs.length - 1];
                            ++mProgress;
                        } else {
                            mPolyArray[mPolyCounter++] = mMap.addPolyline(new PolylineOptions().add(mLast, latLngs[0]).width(mCurrentWidth).color(mCurrentColor));
                            for (int i = 0; i < futureTen.length - 1; ++i) {
                                mPolyArray[mPolyCounter++] = mMap.addPolyline(new PolylineOptions().add(latLngs[i], latLngs[i + 1]).width(mCurrentWidth).color(mCurrentColor));
                            }
                            mLast = latLngs[latLngs.length - 1];
                            ++mProgress;
                        }
                    }
                });
            } catch (Exception e) {
                if (mLast == null) {
                    FirebaseCrash.report(new Exception("mLast was null"));
                }
                e.printStackTrace();
            }
        }
    }, new Response.ErrorListener() {

        @Override
        public void onErrorResponse(VolleyError e) {
        }
    });
    mRequestQueue.add(jsonArrayRequest);
}
Also used : VolleyError(com.android.volley.VolleyError) JsonArrayRequest(com.android.volley.toolbox.JsonArrayRequest) JSONArray(org.json.JSONArray) PolylineOptions(com.google.android.gms.maps.model.PolylineOptions) Response(com.android.volley.Response) LatLng(com.google.android.gms.maps.model.LatLng)

Example 14 with Response

use of com.android.volley.Response in project Space-Station-Tracker by Kiarasht.

the class MapsActivity method trackISS.

/**
     * Get the Lat and Lon of ISS and move the map to that position when called.
     */
private void trackISS() {
    final String url = "https://api.wheretheiss.at/v1/satellites/25544";
    JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener<JSONObject>() {

        @Override
        public void onResponse(JSONObject response) {
            try {
                // Server responded successfully
                mSuccess = 0;
                final double latParameter = Double.parseDouble(response.getString("latitude"));
                final double lngParameter = Double.parseDouble(response.getString("longitude"));
                final LatLng ISS = new LatLng(latParameter, lngParameter);
                final String LAT;
                final String LNG;
                if (latParameter < 0) {
                    LAT = mDecimalFormat.format(latParameter) + "° S";
                } else {
                    LAT = mDecimalFormat.format(latParameter) + "° N";
                }
                if (lngParameter < 0) {
                    LNG = mDecimalFormat.format(lngParameter) + "° W";
                } else {
                    LNG = mDecimalFormat.format(lngParameter) + "° E";
                }
                final String position = LAT + ", " + LNG;
                final String visibility = response.getString("visibility");
                final StringBuilder moreInfo = new StringBuilder();
                moreInfo.append("Altitude: ").append(mDecimalFormat.format(Double.parseDouble(response.getString("altitude")))).append(" km").append("\n").append("Velocity: ").append(mDecimalFormat.format(Double.parseDouble(response.getString("velocity")))).append(" kph").append("\n").append("Footprint: ").append(mDecimalFormat.format(Double.parseDouble(response.getString("footprint")))).append(" km").append("\n").append("Solar LAT: ").append(mDecimalFormat.format(Double.parseDouble(response.getString("solar_lat")))).append("°").append("\n").append("Solar LON: ").append(mDecimalFormat.format(Double.parseDouble(response.getString("solar_lon")))).append("°").append("\n").append("Visibility: ").append(visibility.substring(0, 1).toUpperCase()).append(visibility.substring(1)).append("\n");
                MapsActivity.this.runOnUiThread(new Runnable() {

                    public void run() {
                        if (mOnce) {
                            mMap.moveCamera(CameraUpdateFactory.newLatLng(ISS));
                            if (mMap.getUiSettings().isScrollGesturesEnabled()) {
                                mMap.getUiSettings().setScrollGesturesEnabled(false);
                            }
                            mOnce = false;
                        } else if (mSharedPreferences.getBoolean("lock_ISS", false)) {
                            mMap.moveCamera(CameraUpdateFactory.newLatLng(ISS));
                            if (mMap.getUiSettings().isScrollGesturesEnabled()) {
                                mMap.getUiSettings().setScrollGesturesEnabled(false);
                            }
                        } else if (!mSharedPreferences.getBoolean("lock_ISS", false)) {
                            mMap.getUiSettings().setScrollGesturesEnabled(true);
                        }
                        if (mMarker != null) {
                            mMarker.remove();
                        }
                        mDescription.setText(moreInfo.toString());
                        mLatLong.setText(position);
                        mMarkerOptions.position(ISS);
                        mMarker = mMap.addMarker(mMarkerOptions);
                    }
                });
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }, new Response.ErrorListener() {

        @Override
        public void onErrorResponse(VolleyError e) {
            // Server did not respond. Got 5 chances before stop trying.
            if (++mSuccess <= 4) {
                Toast.makeText(MapsActivity.this, getResources().getString(R.string.errorLessFive, mSuccess, mRefreshrate), Toast.LENGTH_SHORT).show();
            } else {
                Toast.makeText(MapsActivity.this, R.string.errorFiveTimes, Toast.LENGTH_LONG).show();
                if (mTimer != null) {
                    mTimer.cancel();
                    mTimer.purge();
                }
                mTimer = null;
            }
        }
    });
    jsonObjectRequest.setTag(TAG);
    mRequestQueue.add(jsonObjectRequest);
}
Also used : Response(com.android.volley.Response) VolleyError(com.android.volley.VolleyError) JSONObject(org.json.JSONObject) JsonObjectRequest(com.android.volley.toolbox.JsonObjectRequest) LatLng(com.google.android.gms.maps.model.LatLng)

Example 15 with Response

use of com.android.volley.Response in project Space-Station-Tracker by Kiarasht.

the class Locations method displayPasses.

/**
     * After successfully getting a city and country from the last JSON parsing, search a database
     * to see when ISS will pass by this city, country.
     */
public List<Date> displayPasses(final String latitude, final String longitude, final Context applicationContext) {
    // Used for Alert service
    final List<Date> passes = new ArrayList<>();
    final String url;
    if (latitude == null && longitude == null) {
        // Location.java is calling this method
        url = "http://api.open-notify.org/iss-pass.json?lat=" + mLatitude + "&lon=" + mLongitude + "&n=20";
    } else {
        // Alert.java is calling this method
        url = "http://api.open-notify.org/iss-pass.json?lat=" + latitude + "&lon=" + longitude;
    }
    JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener<JSONObject>() {

        @Override
        public void onResponse(JSONObject response) {
            try {
                final JSONArray results = response.getJSONArray("response");
                final List<SightSee> dates = new ArrayList<>();
                for (int i = 0; i < results.length(); ++i) {
                    final JSONObject aPass = results.getJSONObject(i);
                    passes.add(new Date(Long.parseLong(aPass.getString("risetime")) * 1000L));
                    final SightSee aSightSee = new SightSee(aPass.getInt("duration"), aPass.getInt("risetime"));
                    dates.add(aSightSee);
                }
                final View headerView = LayoutInflater.from(mActivity).inflate(R.layout.locations_header, null);
                headerView.post(new Runnable() {

                    @Override
                    public void run() {
                        headerView.getLayoutParams().height = mFlexibleSpaceImageHeight;
                    }
                });
                mAdapter = new LocationAdapter(mActivity, headerView);
                mAdapter.setDataSet(dates);
                mRecyclerView.setAdapter(mAdapter);
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
    }, new Response.ErrorListener() {

        @Override
        public void onErrorResponse(VolleyError e) {
            if (latitude == null && longitude == null) {
                Toast.makeText(Locations.this, R.string.errorConnection, Toast.LENGTH_LONG).show();
            }
        }
    });
    // If Alert.java called us
    if (requestQueue == null) {
        RequestQueue requestQueue = Volley.newRequestQueue(applicationContext);
        requestQueue.add(jsonObjectRequest);
    } else {
        // If Locations.java called us
        jsonObjectRequest.setTag(TAG);
        requestQueue.add(jsonObjectRequest);
    }
    // Only Alert.java benefits from this return
    return passes;
}
Also used : VolleyError(com.android.volley.VolleyError) LocationAdapter(com.restart.spacestationtracker.adapter.LocationAdapter) ArrayList(java.util.ArrayList) JSONArray(org.json.JSONArray) JSONException(org.json.JSONException) ImageView(android.widget.ImageView) ObservableRecyclerView(com.github.ksoichiro.android.observablescrollview.ObservableRecyclerView) View(android.view.View) AdView(com.google.android.gms.ads.AdView) TextView(android.widget.TextView) Date(java.util.Date) Response(com.android.volley.Response) JSONObject(org.json.JSONObject) SightSee(com.restart.spacestationtracker.data.SightSee) RequestQueue(com.android.volley.RequestQueue) ArrayList(java.util.ArrayList) List(java.util.List) JsonObjectRequest(com.android.volley.toolbox.JsonObjectRequest)

Aggregations

Response (com.android.volley.Response)111 VolleyError (com.android.volley.VolleyError)109 JSONObject (org.json.JSONObject)81 JsonObjectRequest (com.android.volley.toolbox.JsonObjectRequest)61 RequestQueue (com.android.volley.RequestQueue)59 HashMap (java.util.HashMap)58 JSONException (org.json.JSONException)58 User (model.User)50 JSONArray (org.json.JSONArray)29 Context (android.content.Context)18 Toast (android.widget.Toast)18 CustomRequestArray (dz.easy.androidclient.Util.CustomRequestArray)18 StringRequest (com.android.volley.toolbox.StringRequest)14 TextView (android.widget.TextView)10 CustomRequest (dz.easy.androidclient.Util.CustomRequest)9 LinearLayoutManager (android.support.v7.widget.LinearLayoutManager)7 Intent (android.content.Intent)6 GridLayoutManager (android.support.v7.widget.GridLayoutManager)6 JsonArrayRequest (com.android.volley.toolbox.JsonArrayRequest)6 MaterialViewPagerHeaderDecorator (com.github.florent37.materialviewpager.header.MaterialViewPagerHeaderDecorator)5