Search in sources :

Example 21 with DialogFragment

use of com.rey.material.app.DialogFragment in project caronae-android by caronae.

the class RideSearchFrag method showCampiListFragment.

private void showCampiListFragment(String[] campis, boolean[] ifCampiAreSelected, String title) {
    // SelectorDialogFrag dialog = new SelectorDialogFrag();
    // int[] colorId = new int[campis.length];
    // for (int color = 0; color < colorId.length; color++) {
    // colorId[color] = Util.getColorbyCampi(campis[color]);
    // }
    // dialog.newInstance(campis,
    // colorId,
    // ifCampiAreSelected,
    // title,
    // this,
    // false);
    // dialog.show(getActivity().getFragmentManager(), "");
    SimpleDialog.Builder builder = new SimpleDialog.Builder(R.style.SimpleDialogLight) {

        @Override
        public void onPositiveActionClicked(DialogFragment fragment) {
            if (getSelectedValue().toString().equals("Praia Vermelha")) {
                center_et.setText(getSelectedValue());
            } else {
                showCenterListFragment();
            }
            super.onPositiveActionClicked(fragment);
        }

        @Override
        public void onNegativeActionClicked(DialogFragment fragment) {
            super.onNegativeActionClicked(fragment);
        }
    };
    builder.items(Util.getCampiWithoutAllCampi(), 0).title(getContext().getString(R.string.frag_rideOffer_pickCenter)).positiveAction(getContext().getString(R.string.ok)).negativeAction(getContext().getString(R.string.cancel));
    DialogFragment fragment = DialogFragment.newInstance(builder);
    fragment.show(getFragmentManager(), null);
}
Also used : SimpleDialog(com.rey.material.app.SimpleDialog) DialogFragment(com.rey.material.app.DialogFragment)

Example 22 with DialogFragment

use of com.rey.material.app.DialogFragment in project caronae-android by caronae.

the class RideSearchFrag method showOtherNeighborhoodDialog.

public void showOtherNeighborhoodDialog() {
    Dialog.Builder builder = new SimpleDialog.Builder(R.style.SimpleDialogLight) {

        @Override
        protected void onBuildDone(Dialog dialog) {
            dialog.layoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
        }

        @Override
        public void onPositiveActionClicked(DialogFragment fragment) {
            EditText neighborhood_et = (EditText) fragment.getDialog().findViewById(R.id.neighborhood_et);
            String neighborhood = neighborhood_et.getText().toString();
            if (!neighborhood.isEmpty()) {
                location_et.setText(neighborhood);
            }
            super.onPositiveActionClicked(fragment);
        }

        @Override
        public void onNegativeActionClicked(DialogFragment fragment) {
            super.onNegativeActionClicked(fragment);
        }
    };
    builder.title(getActivity().getString(R.string.frag_ridesearch_typeNeighborhood)).positiveAction(getString(R.string.ok)).negativeAction(getString(R.string.cancel)).contentView(R.layout.other_neighborhood);
    DialogFragment fragment2 = DialogFragment.newInstance(builder);
    fragment2.show(getActivity().getSupportFragmentManager(), null);
}
Also used : EditText(android.widget.EditText) TimePickerDialog(com.rey.material.app.TimePickerDialog) ProgressDialog(android.app.ProgressDialog) AlertDialog(android.support.v7.app.AlertDialog) DatePickerDialog(com.rey.material.app.DatePickerDialog) SimpleDialog(com.rey.material.app.SimpleDialog) Dialog(com.rey.material.app.Dialog) DialogFragment(com.rey.material.app.DialogFragment)

Example 23 with DialogFragment

use of com.rey.material.app.DialogFragment in project caronae-android by caronae.

the class RideSearchFrag method locationEt2.

public void locationEt2(final String zone) {
    SimpleDialog.Builder builder = new SimpleDialog.Builder(R.style.SimpleDialogLight) {

        @Override
        public void onPositiveActionClicked(DialogFragment fragment) {
            CharSequence[] selectedNeighborhoods = null;
            try {
                selectedNeighborhoods = getSelectedValues();
            } catch (Exception e) {
            // do nothing
            }
            if (selectedNeighborhoods != null) {
                String resumedField = "";
                neighborhoods = "";
                for (int i = 0; i < selectedNeighborhoods.length; i++) {
                    if (selectedNeighborhoods[i].equals(Util.getNeighborhoods("")[0])) {
                        super.onPositiveActionClicked(fragment);
                        return;
                    }
                    neighborhoods += selectedNeighborhoods[i];
                    if (i == 2) {
                        resumedField = neighborhoods + " + " + (selectedNeighborhoods.length - 3);
                    }
                    if (i + 1 != selectedNeighborhoods.length) {
                        neighborhoods += ", ";
                    }
                }
                if (selectedNeighborhoods.length > 3) {
                    location_et.setText(resumedField);
                } else {
                    location_et.setText(neighborhoods);
                }
            } else {
                location_et.setText(zone);
            }
            super.onPositiveActionClicked(fragment);
        }

        @Override
        public void onNegativeActionClicked(DialogFragment fragment) {
            super.onNegativeActionClicked(fragment);
        }
    };
    @SuppressWarnings("ConstantConditions") ArrayList<String> neighborhoods = new ArrayList<>(Arrays.asList(Util.getNeighborhoods(zone)));
    neighborhoods.add(0, Util.getNeighborhoods("")[0]);
    String[] neighborhoodsArray = new String[neighborhoods.size()];
    neighborhoods.toArray(neighborhoodsArray);
    builder.multiChoiceItems(neighborhoodsArray, -1).title(getContext().getString(R.string.frag_rideSearch_pickNeighborhood)).positiveAction(getContext().getString(R.string.ok)).negativeAction(getContext().getString(R.string.cancel));
    DialogFragment fragment = DialogFragment.newInstance(builder);
    fragment.show(getFragmentManager(), null);
}
Also used : DialogFragment(com.rey.material.app.DialogFragment) ArrayList(java.util.ArrayList) ParseException(java.text.ParseException) SimpleDialog(com.rey.material.app.SimpleDialog)

Example 24 with DialogFragment

use of com.rey.material.app.DialogFragment in project caronae-android by caronae.

the class ProfileAct method reportBt.

@OnClick(R.id.report_bt)
public void reportBt() {
    Dialog.Builder builder = new SimpleDialog.Builder(R.style.SimpleDialogLight) {

        @Override
        protected void onBuildDone(Dialog dialog) {
            dialog.layoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
        }

        @Override
        public void onPositiveActionClicked(DialogFragment fragment) {
            EditText msg_et = (EditText) fragment.getDialog().findViewById(R.id.msg_et);
            String msg = msg_et.getText().toString();
            if (msg.isEmpty()) {
                Util.toast(getString(R.string.frag_falae_msgblank));
                return;
            }
            msg = msg + "\n\n--------------------------------\n" + "Device: " + android.os.Build.MODEL + " (Android " + android.os.Build.VERSION.RELEASE + ")\n" + "Versão do app: " + Util.getAppVersionName(getBaseContext());
            CaronaeAPI.service(getApplicationContext()).falaeSendMessage(new FalaeMsgForJson(getString(R.string.frag_falae_reportRb) + user.getName() + " - ID:" + user.getDbId(), msg)).enqueue(new Callback<ResponseBody>() {

                @Override
                public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
                    if (response.isSuccessful()) {
                        Util.toast(getString(R.string.act_profile_reportOk));
                        Log.i("falaeSendMessage", "falae message sent succesfully");
                    } else {
                        Util.treatResponseFromServer(response);
                        Util.toast(getString(R.string.frag_falae_errorSent));
                        Log.e("falaeSendMessage", response.message());
                    }
                }

                @Override
                public void onFailure(Call<ResponseBody> call, Throwable t) {
                    Util.toast(getString(R.string.frag_falae_errorSent));
                    Log.e("falaeSendMessage", t.getMessage());
                }
            });
            super.onPositiveActionClicked(fragment);
        }

        @Override
        public void onNegativeActionClicked(DialogFragment fragment) {
            super.onNegativeActionClicked(fragment);
        }
    };
    String name = user.getName().split(" ")[0];
    builder.title("Reportar " + name).positiveAction(getString(R.string.send_bt)).negativeAction(getString(R.string.cancel)).contentView(R.layout.report_dialog);
    DialogFragment fragment = DialogFragment.newInstance(builder);
    fragment.show(getSupportFragmentManager(), null);
}
Also used : EditText(android.widget.EditText) DialogFragment(com.rey.material.app.DialogFragment) FalaeMsgForJson(br.ufrj.caronae.models.modelsforjson.FalaeMsgForJson) ResponseBody(okhttp3.ResponseBody) AlertDialog(android.support.v7.app.AlertDialog) SimpleDialog(com.rey.material.app.SimpleDialog) Dialog(com.rey.material.app.Dialog) OnClick(butterknife.OnClick)

Example 25 with DialogFragment

use of com.rey.material.app.DialogFragment in project caronae-android by caronae.

the class ActiveRideAct method onCreate.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_active_ride);
    ButterKnife.bind(this);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    final ActionBar ab = getSupportActionBar();
    if (ab != null) {
        ab.setDisplayHomeAsUpEnabled(true);
    }
    rideWithUsers = getIntent().getExtras().getParcelable("ride");
    if (rideWithUsers == null) {
        Util.toast(getString(R.string.act_activeride_rideNUll));
        finish();
        return;
    }
    final User driver = rideWithUsers.getDriver();
    final boolean isDriver = driver.getDbId() == App.getUser().getDbId();
    int color = 0, colorPressed = 0, bgRes = 0;
    if (rideWithUsers.getZone().equals("Centro")) {
        color = ContextCompat.getColor(this, R.color.zone_centro);
        colorPressed = ContextCompat.getColor(this, R.color.light_zone_centro_transparency);
        bgRes = R.drawable.bg_bt_raise_zone_centro;
    }
    if (rideWithUsers.getZone().equals("Zona Sul")) {
        color = ContextCompat.getColor(this, R.color.zone_sul);
        colorPressed = ContextCompat.getColor(this, R.color.light_zone_sul_transparency);
        bgRes = R.drawable.bg_bt_raise_zone_sul;
    }
    if (rideWithUsers.getZone().equals("Zona Oeste")) {
        color = ContextCompat.getColor(this, R.color.zone_oeste);
        colorPressed = ContextCompat.getColor(this, R.color.light_zone_oeste_transparency);
        bgRes = R.drawable.bg_bt_raise_zone_oeste;
    }
    if (rideWithUsers.getZone().equals("Zona Norte")) {
        color = ContextCompat.getColor(this, R.color.zone_norte);
        colorPressed = ContextCompat.getColor(this, R.color.light_zone_norte_transparency);
        bgRes = R.drawable.bg_bt_raise_zone_norte;
    }
    if (rideWithUsers.getZone().equals("Baixada")) {
        color = ContextCompat.getColor(this, R.color.zone_baixada);
        colorPressed = ContextCompat.getColor(this, R.color.light_zone_baixada_transparency);
        bgRes = R.drawable.bg_bt_raise_zone_baixada;
    }
    if (rideWithUsers.getZone().equals("Grande Niterói")) {
        color = ContextCompat.getColor(this, R.color.zone_niteroi);
        colorPressed = ContextCompat.getColor(this, R.color.light_zone_niteroi_transparency);
        bgRes = R.drawable.bg_bt_raise_zone_niteroi;
    }
    if (rideWithUsers.getZone().equals("Outros")) {
        color = ContextCompat.getColor(this, R.color.zone_outros);
        colorPressed = ContextCompat.getColor(this, R.color.light_gray);
        bgRes = R.drawable.bg_bt_raise_zone_outros;
    }
    lay1.setBackgroundColor(color);
    toolbar.setBackgroundColor(color);
    chat_bt.setColorNormal(color);
    chat_bt.setColorPressed(colorPressed);
    finish_bt.setTextColor(color);
    final String location;
    if (rideWithUsers.isGoing())
        location = rideWithUsers.getNeighborhood() + " ➜ " + rideWithUsers.getHub();
    else
        location = rideWithUsers.getHub() + " ➜ " + rideWithUsers.getNeighborhood();
    String profilePicUrl = driver.getProfilePicUrl();
    if (profilePicUrl == null || profilePicUrl.isEmpty()) {
        Picasso.with(this).load(R.drawable.user_pic).into(user_pic);
    } else {
        Picasso.with(this).load(profilePicUrl).placeholder(R.drawable.user_pic).error(R.drawable.user_pic).transform(new RoundedTransformation()).into(user_pic);
    }
    user_pic.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {
            if (!isDriver) {
                // dont allow user to open own profile
                Intent intent = new Intent(ActiveRideAct.this, ProfileAct.class);
                intent.putExtra("user", new Gson().toJson(driver));
                intent.putExtra("from", "activeRides");
                startActivity(intent);
            }
        }
    });
    location_tv.setText(location);
    name_tv.setText(driver.getName());
    profile_tv.setText(driver.getProfile());
    if (rideWithUsers.getRoute().equals("")) {
        way_tv.setVisibility(View.GONE);
        way_text_tv.setVisibility(View.GONE);
    } else {
        way_tv.setText(rideWithUsers.getRoute());
    }
    if (rideWithUsers.getPlace().equals("")) {
        place_text_tv.setVisibility(View.GONE);
        place_tv.setVisibility(View.GONE);
    } else {
        place_tv.setText(rideWithUsers.getPlace());
    }
    phoneNumber_tv.setText(driver.getPhoneNumber());
    course_tv.setText(driver.getCourse());
    if (rideWithUsers.isGoing())
        time_tv.setText(getString(R.string.arrivingAt, Util.formatTime(rideWithUsers.getTime())));
    else
        time_tv.setText(getString(R.string.leavingAt, Util.formatTime(rideWithUsers.getTime())));
    time_tv.setTextColor(color);
    date_tv.setText(Util.formatBadDateWithoutYear(rideWithUsers.getDate()));
    date_tv.setTextColor(color);
    carModel_tv.setText(driver.getCarModel());
    carColor_tv.setText(driver.getCarColor());
    carPlate_tv.setText(driver.getCarPlate());
    if (rideWithUsers.getDescription().equals("")) {
        description_text_tv.setVisibility(View.GONE);
        description_tv.setVisibility(View.GONE);
    } else {
        description_tv.setText(rideWithUsers.getDescription());
    }
    ridersList.setAdapter(new RidersAdapter(rideWithUsers.getRiders(), this));
    ridersList.setHasFixedSize(true);
    ridersList.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false));
    final int finalColor = color, finalBgRes = bgRes;
    chat_bt.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {
            List<ChatAssets> l = ChatAssets.find(ChatAssets.class, "ride_id = ?", rideWithUsers.getDbId() + "");
            if (l == null || l.isEmpty())
                new ChatAssets(rideWithUsers.getDbId() + "", location, finalColor, finalBgRes, Util.formatBadDateWithoutYear(rideWithUsers.getDate()), Util.formatTime(rideWithUsers.getTime())).save();
            Intent intent = new Intent(ActiveRideAct.this, ChatAct.class);
            intent.putExtra("rideId", rideWithUsers.getDbId() + "");
            startActivity(intent);
        }
    });
    rideId2 = rideWithUsers.getDbId() + "";
    final String rideId = rideId2;
    if (isDriver) {
        leave_bt.setText(R.string.act_activeride_quitBtn);
        seeProfile_iv.setVisibility(View.GONE);
    }
    leave_bt.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {
            Dialog.Builder builder = new SimpleDialog.Builder(R.style.SimpleDialogLight) {

                @Override
                public void onPositiveActionClicked(DialogFragment fragment) {
                    final ProgressDialog pd = ProgressDialog.show(ActiveRideAct.this, "", getString(R.string.wait), true, true);
                    CaronaeAPI.service(getApplicationContext()).leaveRide(rideId).enqueue(new Callback<ResponseBody>() {

                        @Override
                        public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
                            if (response.isSuccessful()) {
                                pd.dismiss();
                                if (isDriver)
                                    Util.toast(getString(R.string.act_activeride_cancelledRide));
                                else
                                    Util.toast(getString(R.string.act_activeride_quitRide));
                                FirebaseTopicsHandler.unsubscribeFirebaseTopic(rideId + "");
                                List<Ride> rides = Ride.find(Ride.class, "db_id = ?", rideId);
                                if (rides != null && !rides.isEmpty())
                                    rides.get(0).delete();
                                ActiveRide.deleteAll(ActiveRide.class, "db_id = ?", rideId);
                                SharedPref.saveRemoveRideFromList(rideId);
                                finish();
                            } else {
                                Util.treatResponseFromServer(response);
                                pd.dismiss();
                                Util.toast(R.string.errorRideDeleted);
                                Log.e("leaveRide", response.message());
                            }
                        }

                        @Override
                        public void onFailure(Call<ResponseBody> call, Throwable t) {
                            pd.dismiss();
                            Util.toast(R.string.errorRideDeleted);
                            Log.e("leaveRide", t.getMessage());
                        }
                    });
                    super.onPositiveActionClicked(fragment);
                }

                @Override
                public void onNegativeActionClicked(DialogFragment fragment) {
                    super.onNegativeActionClicked(fragment);
                }
            };
            String title;
            if (isDriver) {
                title = getString(R.string.act_activeRide_sureWantToCancel);
                ((SimpleDialog.Builder) builder).message(getString(R.string.act_activeRide_cancelRideMsg)).title(title).positiveAction(getString(R.string.ok)).negativeAction(getString(R.string.cancel));
            } else {
                title = getString(R.string.act_activeRide_sureWantToQuit);
                builder.title(title).positiveAction(getString(R.string.ok)).negativeAction(getString(R.string.cancel));
            }
            DialogFragment fragment = DialogFragment.newInstance(builder);
            fragment.show(getSupportFragmentManager(), null);
        }
    });
    if (!isDriver) {
        finish_bt.setVisibility(View.GONE);
    }
    finish_bt.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {
            Dialog.Builder builder = new SimpleDialog.Builder(R.style.SimpleDialogLight) {

                @Override
                public void onPositiveActionClicked(DialogFragment fragment) {
                    final ProgressDialog pd = ProgressDialog.show(ActiveRideAct.this, "", getString(R.string.wait), true, true);
                    CaronaeAPI.service(getApplicationContext()).finishRide(rideId).enqueue(new Callback<ResponseBody>() {

                        @Override
                        public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
                            if (response.isSuccessful()) {
                                pd.dismiss();
                                Util.toast(R.string.rideFinished);
                                FirebaseTopicsHandler.unsubscribeFirebaseTopic(rideId + "");
                                List<Ride> rides = Ride.find(Ride.class, "db_id = ?", rideId);
                                if (rides != null && !rides.isEmpty())
                                    rides.get(0).delete();
                                ActiveRide.deleteAll(ActiveRide.class, "db_id = ?", rideId);
                                SharedPref.saveRemoveRideFromList(rideId);
                                finish();
                            } else {
                                Util.treatResponseFromServer(response);
                                pd.dismiss();
                                if (response.code() == 403) {
                                    Util.toast(R.string.finishFutureRide);
                                } else {
                                    Util.toast(R.string.errorFinishRide);
                                    Log.e("finish_bt", response.message());
                                }
                            }
                        }

                        @Override
                        public void onFailure(Call<ResponseBody> call, Throwable t) {
                            pd.dismiss();
                            Util.toast(R.string.errorFinishRide);
                            Log.e("finish_bt", t.getMessage());
                        }
                    });
                    super.onPositiveActionClicked(fragment);
                }

                @Override
                public void onNegativeActionClicked(DialogFragment fragment) {
                    super.onNegativeActionClicked(fragment);
                }
            };
            builder.title(getString(R.string.act_activeride_sureWantToFinish)).positiveAction(getString(R.string.ok)).negativeAction(getString(R.string.cancel));
            DialogFragment fragment = DialogFragment.newInstance(builder);
            fragment.show(getSupportFragmentManager(), null);
        }
    });
    phoneNumber_tv.setOnClickListener((View v) -> {
        actionNumberTouch(0, driver);
    });
    phoneNumber_tv.setOnLongClickListener((View v) -> {
        actionNumberTouch(1, driver);
        return true;
    });
    App.getBus().register(this);
    notVisible = false;
    scheduledToClose = false;
    configureShareBt();
}
Also used : User(br.ufrj.caronae.models.User) ChatAssets(br.ufrj.caronae.models.ChatAssets) DialogFragment(com.rey.material.app.DialogFragment) Gson(com.google.gson.Gson) LinearLayoutManager(android.support.v7.widget.LinearLayoutManager) ProgressDialog(android.app.ProgressDialog) SimpleDialog(com.rey.material.app.SimpleDialog) List(java.util.List) RidersAdapter(br.ufrj.caronae.adapters.RidersAdapter) ActionBar(android.support.v7.app.ActionBar) Toolbar(android.support.v7.widget.Toolbar) Call(retrofit2.Call) Intent(android.content.Intent) ImageView(android.widget.ImageView) BindView(butterknife.BindView) View(android.view.View) TextView(android.widget.TextView) RecyclerView(android.support.v7.widget.RecyclerView) Response(retrofit2.Response) Callback(retrofit2.Callback) RoundedTransformation(br.ufrj.caronae.RoundedTransformation) ActiveRide(br.ufrj.caronae.models.ActiveRide) Ride(br.ufrj.caronae.models.Ride)

Aggregations

DialogFragment (com.rey.material.app.DialogFragment)27 SimpleDialog (com.rey.material.app.SimpleDialog)27 OnClick (butterknife.OnClick)13 Dialog (com.rey.material.app.Dialog)12 AlertDialog (android.support.v7.app.AlertDialog)11 ProgressDialog (android.app.ProgressDialog)9 DatePickerDialog (com.rey.material.app.DatePickerDialog)7 TimePickerDialog (com.rey.material.app.TimePickerDialog)7 EditText (android.widget.EditText)4 ArrayList (java.util.ArrayList)4 User (br.ufrj.caronae.models.User)3 CaretString (com.redmadrobot.inputmask.model.CaretString)3 SimpleDateFormat (java.text.SimpleDateFormat)3 Intent (android.content.Intent)2 RecyclerView (android.support.v7.widget.RecyclerView)2 View (android.view.View)2 ImageView (android.widget.ImageView)2 TextView (android.widget.TextView)2 RoundedTransformation (br.ufrj.caronae.RoundedTransformation)2 Ride (br.ufrj.caronae.models.Ride)2