use of br.ufrj.caronae.models.modelsforjson.RideFiltersForJson in project caronae-android by caronae.
the class MainAct method updateFilterCard.
public static void updateFilterCard(Context context, String filtersJsonString) {
if (!filtersJsonString.equals(SharedPref.MISSING_PREF)) {
RideFiltersForJson filters = loadFilters(filtersJsonString);
String resumeLocation = filters.getResumeLocation();
String center = filters.getCenter();
String campus = filters.getCampus();
String zone = filters.getZone();
String filtering = "Filtrando: ";
SpannableString cardText;
if (!resumeLocation.equals("")) {
if (center.equals("")) {
if (campus.equals("")) {
center = "Todos os Campi";
} else {
center = campus;
}
if (center.equals("Todos os Campi")) {
cardText = new SpannableString(filtering + resumeLocation);
} else if (resumeLocation.equals("Todos os Bairros")) {
cardText = new SpannableString(filtering + center);
} else {
cardText = new SpannableString(filtering + center + ", " + resumeLocation);
}
cardText.setSpan(new StyleSpan(Typeface.BOLD), 0, filtering.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
filterText.setText(cardText);
}
} else if (!zone.equals("")) {
if (center.equals("")) {
if (campus.equals("")) {
center = "Todos os Campi";
} else {
center = campus;
}
if (center.equals("Todos os Campi")) {
cardText = new SpannableString(filtering + zone);
} else if (zone.equals("Todos os Bairros")) {
cardText = new SpannableString(filtering + center);
} else {
cardText = new SpannableString(filtering + center + ", " + zone);
}
cardText.setSpan(new StyleSpan(Typeface.BOLD), 0, filtering.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
filterText.setText(cardText);
}
}
showFilterCard(context);
}
}
use of br.ufrj.caronae.models.modelsforjson.RideFiltersForJson in project caronae-android by caronae.
the class AllRidesFrag method listAllRides.
private void listAllRides(final int pageNum) {
final Snackbar snackbar = makeNoConexionSnack();
progressBar2.setVisibility(View.VISIBLE);
if (isAdded() && (getActivity() != null)) {
String going = null;
String neighborhoods = null;
String zone = null;
String hub = null;
String campus = null;
String filtersJsonString = SharedPref.getFiltersPref();
if (!filtersJsonString.equals(SharedPref.MISSING_PREF)) {
RideFiltersForJson rideFilters = new Gson().fromJson(filtersJsonString, RideFiltersForJson.class);
neighborhoods = rideFilters.getLocation();
if (!rideFilters.getCampus().equals("Todos os Campi")) {
hub = rideFilters.getCenter();
campus = rideFilters.getCampus();
}
zone = rideFilters.getZone();
}
CaronaeAPI.service(getContext()).listAllRides(pageNum + "", going, neighborhoods, zone, hub, "", campus).enqueue(new Callback<RideForJsonDeserializer>() {
@Override
public void onResponse(Call<RideForJsonDeserializer> call, Response<RideForJsonDeserializer> response) {
if (response.isSuccessful()) {
progressBar2.setVisibility(View.GONE);
RideForJsonDeserializer data = response.body();
List<RideForJson> rideOffers = data.getData();
if (rideOffers != null && !rideOffers.isEmpty()) {
Collections.sort(rideOffers, new RideOfferComparatorByDateAndTime());
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yyyy", Locale.US);
Date todayDate = new Date();
String todayString = simpleDateFormat.format(todayDate);
simpleDateFormat = new SimpleDateFormat("HH:mm", Locale.US);
String time = simpleDateFormat.format(todayDate);
Iterator<RideForJson> it = rideOffers.iterator();
while (it.hasNext()) {
RideForJson rideOffer = it.next();
if (Util.formatBadDateWithYear(rideOffer.getDate()).equals(todayString) && Util.formatTime(rideOffer.getTime()).compareTo(time) < 0)
it.remove();
else {
rideOffer.setDbId(rideOffer.getId().intValue());
if (rideOffer.isGoing())
if (!checkIfRideIsInList(goingRides, rideOffer))
goingRides.add(rideOffer);
else if (!checkIfRideIsInList(notGoingRides, rideOffer))
notGoingRides.add(rideOffer);
}
}
}
if (isAdded()) {
viewPager.setAdapter(new AllRidesFragmentPagerAdapter(getChildFragmentManager(), goingRides, notGoingRides, App.getInst().getResources().getStringArray(R.array.tab_tags)));
tabLayout.setupWithViewPager(viewPager);
if (PAGE_WAS_GOING)
viewPager.setCurrentItem(0);
else
viewPager.setCurrentItem(1);
tabLayout.setBackground(ContextCompat.getDrawable(App.getInst(), R.drawable.transparency_gradient_top_botton));
configureTabIndicators();
}
} else {
Util.treatResponseFromServer(response);
progressBar2.setVisibility(View.GONE);
Log.e("listAllRides", response.message());
}
}
@Override
public void onFailure(Call<RideForJsonDeserializer> call, Throwable t) {
progressBar2.setVisibility(View.GONE);
Log.e("listAllRides", t.getMessage());
snackbar.setAction("CONECTAR", new View.OnClickListener() {
@Override
public void onClick(View v) {
listAllRides(pageNum);
}
});
}
});
} else {
Util.toast("Activity not atached");
return;
}
}
use of br.ufrj.caronae.models.modelsforjson.RideFiltersForJson in project caronae-android by caronae.
the class AllRidesListFrag method refreshRideList.
void refreshRideList(final int pageNumber) {
final long bytesSoFar = TrafficStats.getUidRxBytes(Process.myUid());
String going = null;
if (pageIdentifier == AllRidesFragmentPagerAdapter.PAGE_GOING)
going = "1";
else
going = "0";
String neighborhoods = null;
String zone = null;
String hub = null;
String campus = null;
String filtersJsonString = SharedPref.getFiltersPref();
if (!filtersJsonString.equals(SharedPref.MISSING_PREF)) {
RideFiltersForJson rideFilters = new Gson().fromJson(filtersJsonString, RideFiltersForJson.class);
neighborhoods = rideFilters.getLocation();
if (!rideFilters.getCampus().equals("Todos os Campi")) {
hub = rideFilters.getCenter();
campus = rideFilters.getCampus();
}
zone = rideFilters.getZone();
}
CaronaeAPI.service(getContext()).listAllRides(pageNumber + "", going, neighborhoods, zone, hub, "", campus).enqueue(new retrofit2.Callback<RideForJsonDeserializer>() {
@Override
public void onResponse(Call<RideForJsonDeserializer> call, Response<RideForJsonDeserializer> response) {
totalBytesConsumed = totalBytesConsumed + TrafficStats.getUidRxBytes(Process.myUid()) - bytesSoFar;
Log.e("CONSUMPTION", "Bytes Consumed: " + totalBytesConsumed);
switch(pageIdentifier) {
case 0:
Log.e("CONSUMPTION", "Tamanho da lista " + goingRides.size());
break;
case 1:
Log.e("CONSUMPTION", "Tamanho da lista " + notGoingRides.size());
break;
}
if (response.isSuccessful()) {
if (pageCounter == FIRST_PAGE_TO_LOAD) {
goingRides = new ArrayList<>();
notGoingRides = new ArrayList<>();
}
RideForJsonDeserializer data = response.body();
List<RideForJson> rideOffers = data.getData();
if (rideOffers != null && !rideOffers.isEmpty()) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yyyy", Locale.US);
Date todayDate = new Date();
String todayString = simpleDateFormat.format(todayDate);
simpleDateFormat = new SimpleDateFormat("HH:mm", Locale.US);
String time = simpleDateFormat.format(todayDate);
Iterator<RideForJson> it = rideOffers.iterator();
while (it.hasNext()) {
RideForJson rideOffer = it.next();
if (Util.formatBadDateWithYear(rideOffer.getDate()).equals(todayString) && Util.formatTime(rideOffer.getTime()).compareTo(time) < 0)
it.remove();
else {
rideOffer.setDbId(rideOffer.getId().intValue());
if (rideOffer.isGoing()) {
if (!checkIfRideIsInList(goingRides, rideOffer)) {
goingRides.add(rideOffer);
}
} else {
if (!checkIfRideIsInList(notGoingRides, rideOffer)) {
notGoingRides.add(rideOffer);
}
}
}
}
Collections.sort(goingRides, new RideOfferComparatorByDateAndTime());
Collections.sort(notGoingRides, new RideOfferComparatorByDateAndTime());
}
if (pageIdentifier == AllRidesFragmentPagerAdapter.PAGE_GOING) {
if (goingRides == null || goingRides.isEmpty()) {
} else {
adapter.makeList(goingRides);
scrollListener.resetState();
}
} else {
if (notGoingRides == null || notGoingRides.isEmpty()) {
} else {
adapter.makeList(notGoingRides);
scrollListener.resetState();
}
}
refreshLayout.setRefreshing(false);
} else {
Util.treatResponseFromServer(response);
Util.toast(R.string.frag_allrides_errorGetRides);
refreshLayout.setRefreshing(false);
Log.e("listAllRides", response.message());
}
scrollListener.resetState();
}
@Override
public void onFailure(Call<RideForJsonDeserializer> call, Throwable t) {
refreshLayout.setRefreshing(false);
Log.e("listAllRides", t.getMessage());
scrollListener.resetState();
}
});
if (filter != null) {
switch(pageNumber) {
case 0:
if (filteredGoingList.size() <= 8) {
loadOneMorePage();
}
if (filteredNotGoingList.size() <= 8) {
loadOneMorePage();
}
break;
case 1:
if (filteredGoingList.size() <= 8) {
loadOneMorePage();
}
if (filteredNotGoingList.size() <= 8) {
loadOneMorePage();
}
break;
}
}
}
use of br.ufrj.caronae.models.modelsforjson.RideFiltersForJson in project caronae-android by caronae.
the class RideFilterFrag method loadLastFilters.
private void loadLastFilters(String lastFilters) {
RideFiltersForJson rideFilters = new Gson().fromJson(lastFilters, RideFiltersForJson.class);
neighborhoods = rideFilters.getLocation();
location_et.setText(rideFilters.getResumeLocation());
center_et.setText(rideFilters.getCenter());
campi_et.setText(rideFilters.getCampus());
}
use of br.ufrj.caronae.models.modelsforjson.RideFiltersForJson in project caronae-android by caronae.
the class RideFilterFrag method search.
@OnClick(R.id.search_bt)
public void search() {
Log.e("CENTRO", "campi: " + center);
RideFiltersForJson rideFilters;
String lastRideFilters;
if (center_et.getText().toString().isEmpty() && location_et.getText().toString().isEmpty()) {
Intent intent = new Intent(getActivity(), StartAct.class);
startActivity(intent);
} else {
if (center.equals("Cidade Universitária")) {
center = "";
}
if (campi.equals(Util.getCampi()[0]) || center_et.getText().toString().isEmpty())
campi = "Todos os Campi";
Log.e("CENTRO", "campi: " + center);
rideFilters = new RideFiltersForJson(location, center, campi, zone, resumeLocation);
lastRideFilters = new Gson().toJson(rideFilters);
SharedPref.saveLastFiltersPref(lastRideFilters);
SharedPref.saveFilterPref(lastRideFilters);
MainAct.updateFilterCard(getContext(), lastRideFilters);
Intent intent = new Intent(getActivity(), StartAct.class);
startActivity(intent);
}
}
Aggregations