use of br.ufrj.caronae.models.Ride in project caronae-android by caronae.
the class Util method createChatAssets.
public static void createChatAssets(Ride ride, Context context) {
Ride rideWithUsers = ride;
int color = 0, bgRes = 0;
if (rideWithUsers.getZone().equals("Centro")) {
color = ContextCompat.getColor(context, R.color.zone_centro);
bgRes = R.drawable.bg_bt_raise_zone_centro;
}
if (rideWithUsers.getZone().equals("Zona Sul")) {
color = ContextCompat.getColor(context, R.color.zone_sul);
bgRes = R.drawable.bg_bt_raise_zone_sul;
}
if (rideWithUsers.getZone().equals("Zona Oeste")) {
color = ContextCompat.getColor(context, R.color.zone_oeste);
bgRes = R.drawable.bg_bt_raise_zone_oeste;
}
if (rideWithUsers.getZone().equals("Zona Norte")) {
color = ContextCompat.getColor(context, R.color.zone_norte);
bgRes = R.drawable.bg_bt_raise_zone_norte;
}
if (rideWithUsers.getZone().equals("Baixada")) {
color = ContextCompat.getColor(context, R.color.zone_baixada);
bgRes = R.drawable.bg_bt_raise_zone_baixada;
}
if (rideWithUsers.getZone().equals("Grande Niterói")) {
color = ContextCompat.getColor(context, R.color.zone_niteroi);
bgRes = R.drawable.bg_bt_raise_zone_niteroi;
}
if (rideWithUsers.getZone().equals("Outros")) {
color = ContextCompat.getColor(context, R.color.zone_outros);
bgRes = R.drawable.bg_bt_raise_zone_outros;
}
final String location;
if (rideWithUsers.isGoing())
location = rideWithUsers.getNeighborhood() + " ➜ " + rideWithUsers.getHub();
else
location = rideWithUsers.getHub() + " ➜ " + rideWithUsers.getNeighborhood();
final int finalColor = color, finalBgRes = bgRes;
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();
}
use of br.ufrj.caronae.models.Ride in project caronae-android by caronae.
the class RideOfferFrag method sendBt.
@OnClick(R.id.send_bt)
public void sendBt() {
if (!checkCarOwnerDialog())
return;
String neighborhood = neighborhood_et.getText().toString();
String hub = center_et.getText().toString();
if (hub.isEmpty() || hub.equals("Centro Universitário") || neighborhood.isEmpty() || neighborhood.equals("Bairro")) {
Util.toast(R.string.frag_rideoffer_nullLocation);
return;
}
String place = place_et.getText().toString();
String way = way_et.getText().toString();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yyyy", Locale.US);
String etDateString = date_et.getText().toString();
Date todayDate = new Date();
String todayString = simpleDateFormat.format(todayDate);
try {
todayDate = simpleDateFormat.parse(todayString);
} catch (ParseException e) {
e.printStackTrace();
}
if (etDateString.isEmpty()) {
Util.toast(getString(R.string.frag_rideoffer_nullDate));
return;
} else {
try {
Date etDate = simpleDateFormat.parse(etDateString);
if (etDate.before(todayDate)) {
Util.toast(getActivity().getString(R.string.frag_rideoffersearch_pastdate));
return;
}
} catch (ParseException e) {
e.printStackTrace();
}
}
String time = time_et.getText().toString();
if (time.isEmpty()) {
Util.toast(getString(R.string.frag_rideoffer_nullTime));
return;
}
String slots = slots_et.getSelectedItemPosition() + 1 + "";
String description = description_et.getText().toString();
if (hub.isEmpty()) {
if (going) {
center_et.setText(Util.getFundaoCenters()[0]);
hub = center_et.getText().toString();
} else {
center_et.setText(Util.getFundaoHubs()[0]);
hub = center_et.getText().toString();
}
}
boolean routine = routine_cb.isChecked();
String weekDays = "", repeatsUntil = "";
if (routine) {
weekDays = monday_cb.isChecked() ? "1," : "";
weekDays += tuesday_cb.isChecked() ? "2," : "";
weekDays += wednesday_cb.isChecked() ? "3," : "";
weekDays += thursday_cb.isChecked() ? "4," : "";
weekDays += friday_cb.isChecked() ? "5," : "";
weekDays += saturday_cb.isChecked() ? "6," : "";
weekDays += sunday_cb.isChecked() ? "7," : "";
if (weekDays.isEmpty()) {
Util.toast(R.string.frag_rideOffer_noRoutineDays);
return;
}
weekDays = weekDays.substring(0, weekDays.length() - 1);
int months = 0;
int id2 = radioGroup2.getCheckedRadioButtonId();
switch(id2) {
case R.id.r2months_rb:
months = 2;
break;
case R.id.r3months_rb:
months = 3;
break;
case R.id.r4months_rb:
months = 4;
break;
}
Calendar c = Calendar.getInstance();
try {
c.setTime(simpleDateFormat.parse(etDateString));
} catch (ParseException e) {
e.printStackTrace();
}
c.add(Calendar.MONTH, months);
repeatsUntil = simpleDateFormat.format(c.getTime());
}
String campus = campi_et.getText().toString();
final Ride ride = new Ride(zone, neighborhood, place, way, etDateString, time, slots, hub, campus, description, going, routine, weekDays, repeatsUntil);
checkAndCreateRide(ride);
String lastRideOffer = new Gson().toJson(ride);
if (going)
SharedPref.saveLastRideGoingPref(lastRideOffer);
else
SharedPref.saveLastRideNotGoingPref(lastRideOffer);
}
use of br.ufrj.caronae.models.Ride in project caronae-android by caronae.
the class RideOfferFrag method loadLastRide.
private void loadLastRide(String lastRideOffer) {
Ride ride = new Gson().fromJson(lastRideOffer, Ride.class);
zone = ride.getZone();
neighborhood_et.setText(ride.getNeighborhood());
place_et.setText(ride.getPlace());
way_et.setText(ride.getRoute());
slots_et.setSelection(Integer.parseInt(ride.getSlots()) - 1);
center_et.setText(ride.getHub());
description_et.setText(ride.getDescription());
boolean isRoutine = ride.isRoutine();
routine_cb.setChecked(isRoutine);
if (isRoutine) {
days_lo.setVisibility(routine_cb.isChecked() ? View.VISIBLE : View.GONE);
monday_cb.setChecked(ride.getWeekDays().contains("1"));
tuesday_cb.setChecked(ride.getWeekDays().contains("2"));
wednesday_cb.setChecked(ride.getWeekDays().contains("3"));
thursday_cb.setChecked(ride.getWeekDays().contains("4"));
friday_cb.setChecked(ride.getWeekDays().contains("5"));
saturday_cb.setChecked(ride.getWeekDays().contains("6"));
sunday_cb.setChecked(ride.getWeekDays().contains("7"));
}
}
use of br.ufrj.caronae.models.Ride 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();
}
use of br.ufrj.caronae.models.Ride in project caronae-android by caronae.
the class ChatAct method onCreate.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_chat);
ButterKnife.bind(this);
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
App.getBus().register(this);
SharedPref.setChatActIsForeground(true);
final ActionBar ab = getSupportActionBar();
if (ab != null) {
ab.setDisplayHomeAsUpEnabled(true);
}
rideId = getIntent().getExtras().getString(RIDE_ID_BUNDLE_KEY);
// ChatAssets chatAssets;
List<ChatAssets> l = ChatAssets.find(ChatAssets.class, "ride_id = ?", rideId);
if (l == null || l.isEmpty()) {
List<Ride> ride = Ride.find(Ride.class, "db_id = ?", rideId);
if (ride == null || ride.isEmpty()) {
getRideFromServer(this);
}
} else {
configureActivityWithChatAssets(l.get(0));
}
}
Aggregations