Search in sources :

Example 1 with RideRountine

use of br.ufrj.caronae.models.RideRountine in project caronae-android by caronae.

the class DuplicateRidesDialogFrag method createRide.

private void createRide(Ride ride) {
    pd = ProgressDialog.show(getContext(), "", getString(R.string.wait), true, true);
    CaronaeAPI.service(getContext()).offerRide(ride).enqueue(new Callback<List<RideRountine>>() {

        @Override
        public void onResponse(Call<List<RideRountine>> call, Response<List<RideRountine>> response) {
            if (response.isSuccessful()) {
                List<RideRountine> rideRountines = response.body();
                List<Ride> rides = new ArrayList<>();
                for (RideRountine rideRountine : rideRountines) {
                    rides.add(new Ride(rideRountine));
                }
                for (Ride ride : rides) {
                    Ride ride2 = new Ride(ride);
                    ride2.setDbId(ride.getId().intValue());
                    FirebaseTopicsHandler.subscribeFirebaseTopic(String.valueOf(ride.getId().intValue()));
                    ride2.save();
                    Util.createChatAssets(ride2, getContext());
                }
                pd.dismiss();
                ((MainAct) getActivity()).removeFromBackstack(RideOfferFrag.class);
                ((MainAct) getActivity()).showActiveRidesFrag();
                Util.toast(R.string.frag_rideOffer_rideSaved);
            } else {
                Util.treatResponseFromServer(response);
                pd.dismiss();
                if (response.code() == 403) {
                    Util.toast(R.string.past_ride_creation);
                } else {
                    Util.toast(R.string.frag_rideOffer_errorRideSaved);
                    Log.e("offerRide", response.message());
                }
            }
        }

        @Override
        public void onFailure(Call<List<RideRountine>> call, Throwable t) {
            pd.dismiss();
            Util.toast(R.string.frag_rideOffer_errorRideSaved);
            Log.e("offerRide", t.getMessage());
        }
    });
}
Also used : RideOfferFrag(br.ufrj.caronae.frags.RideOfferFrag) RideRountine(br.ufrj.caronae.models.RideRountine) ArrayList(java.util.ArrayList) List(java.util.List) Ride(br.ufrj.caronae.models.Ride)

Aggregations

RideOfferFrag (br.ufrj.caronae.frags.RideOfferFrag)1 Ride (br.ufrj.caronae.models.Ride)1 RideRountine (br.ufrj.caronae.models.RideRountine)1 ArrayList (java.util.ArrayList)1 List (java.util.List)1