use of cl.smartcities.isci.transportinspector.model.gson.ServerSentEvent in project androidApp by InspectorIncognito.
the class ReportAdapter method onBindViewHolder.
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
switch(holder.getItemViewType()) {
case SIMPLE_ITEM:
holder.setEmpty(false);
ServerSentEvent event = events.get(position);
holder.setData(event);
ReportCooldownData data = CooldownController.getCooldownData(String.format(Locale.getDefault(), "%s|%s", event.getCooldownId(), cooldownSuffix));
if (eventsLocked) {
holder.lockedButtons();
} else {
holder.setupCooldownData(data, event);
}
break;
case EMPTY_ITEM:
holder.setEmpty(true);
break;
}
}
use of cl.smartcities.isci.transportinspector.model.gson.ServerSentEvent in project androidApp by InspectorIncognito.
the class EventRequest method processResult.
@NonNull
@Override
public Pair<ArrayList<ServerSentEvent>, String> processResult(@NonNull String result) {
ArrayList<ServerSentEvent> eventResponse = new ArrayList<>();
String message = TranSappApplication.getAppContext().getString(R.string.success_response_event);
try {
JSONObject data = new JSONObject(result);
long deltaScore = TranSappAccountManager.updateUserData(data.getJSONObject("gamificationData"));
if (deltaScore > 0) {
message = TranSappApplication.getAppContext().getString(R.string.success_response_event_score, deltaScore);
}
JSONArray events = data.getJSONArray("events");
for (int i = 0; i < events.length(); i++) {
ServerSentEvent event = new ServerSentEvent(events.getJSONObject(i));
eventResponse.add(event);
}
addCooldown();
} catch (JSONException e) {
e.printStackTrace();
}
return Pair.create(eventResponse, message);
}
use of cl.smartcities.isci.transportinspector.model.gson.ServerSentEvent in project androidApp by InspectorIncognito.
the class BusEventBuilder method buildCompleteReport.
@Override
public void buildCompleteReport(CompleteReportEventDrawableItem completeReportPanelItem) {
ServerSentEvent event = new ServerSentEvent(completeReportPanelItem);
listener.onRequestReady(new BusEventRequest(listener, event, bus), bus.getId());
}
use of cl.smartcities.isci.transportinspector.model.gson.ServerSentEvent in project androidApp by InspectorIncognito.
the class BusStopEventBuilder method buildCompleteReport.
@Override
public void buildCompleteReport(CompleteReportEventDrawableItem completeReportPanelItem) {
ServerSentEvent event = new ServerSentEvent(completeReportPanelItem);
listener.onRequestReady(new BusStopEventRequest(listener, event, busStop), busStop.getId());
}
use of cl.smartcities.isci.transportinspector.model.gson.ServerSentEvent in project androidApp by InspectorIncognito.
the class BusStopPlugin method onResponse.
private void onResponse(ArrayList<ServerSentBus> buses, ArrayList<ServerSentEvent> events, final BusStopLoadingLayerTask loaderTask, final Thread thread) {
buses = filterBuses(buses);
updateBusSource(buses);
for (ServerSentEvent event : events) {
event.finishInitialization();
}
((BusStopMarker) selectedBusStop).setEvents(events);
ArrayList<IconBuilder> buildingList = new ArrayList<>();
buildingList.add(new BusStopIconsBuilder(FeatureCollection.fromFeatures(new Feature[] { selectedBusStop })).toBuilder());
buildingList.add(new MapBusIconsBuilder(FeatureCollection.fromFeatures(busesFeatures.getFeatures())).toBuilder());
GenerateViewIconTask task = new GenerateViewIconTask(new GenerateViewIconTask.ImageLoaderListener() {
@Override
public void onImageGenResult(HashMap<String, View> viewMap, HashMap<String, Bitmap> bitmapHashMap) {
if (selectedBusStop == null) {
return;
}
Log.d(BusStopPlugin.class.getSimpleName(), "onImageGenResult");
if (mapboxMap != null) {
mapboxMap.addImages(bitmapHashMap);
} else {
return;
}
selectedBusStop.addBooleanProperty(BusStopMarker.PROPERTY_LOADING, false);
if (loaderTask != null && thread != null) {
loaderTask.stop();
thread.interrupt();
}
refreshBusStopSource();
refreshBusSource();
if (!busesFeatures.getFeatures().isEmpty()) {
Collections.sort(busesFeatures.getFeatures(), new Comparator<Feature>() {
@Override
public int compare(Feature bus1, Feature bus2) {
BusMarker m1 = (BusMarker) bus1;
BusMarker m2 = (BusMarker) bus2;
return m1.getBus().getDistanceToBusStop() < m2.getBus().getDistanceToBusStop() ? -1 : (m1.getBus().getDistanceToBusStop() == m2.getBus().getDistanceToBusStop() ? 0 : 1);
}
});
Feature busFeature = busesFeatures.getFeatures().get(0);
LatLngBounds.Builder latLngBoundsBuilder = new LatLngBounds.Builder();
latLngBoundsBuilder.include(MapboxUtil.convertToLatLng(busFeature));
latLngBoundsBuilder.include(MapboxUtil.getRotatePoint(busFeature, selectedBusStop, busFeature.getNumberProperty(BusMarker.PROPERTY_BEARING).doubleValue()));
CameraUpdate update = CameraUpdateFactory.newLatLngBounds(latLngBoundsBuilder.build(), 100, 100, 100, 100);
if (loaderTask != null && thread != null) {
MapboxUtil.animateCameraToNewCameraPosition(update.getCameraPosition(mapboxMap), mapboxMap);
// mapboxMap.animateCamera(update, 1000);
periodicRequestHandler.startPeriodicRequest();
final BusStop busStop = ((BusStopMarker) selectedBusStop).getBusStop();
listener.onBusStopSelected(busStop);
}
}
}
}, viewMap, buildingList);
((BusStopMarker) selectedBusStop).getBusStop().setIncomingBuses(buses);
task.execute();
}
Aggregations