private void createPostList() { view.showProgressIndicator(); JsonpRequestBuilder jsonp = new JsonpRequestBuilder(); // Set timeout for 30 seconds (30000 milliseconds) jsonp.setTimeout(30000); jsonp.requestObject( EXPRESS_LANES_URL, new AsyncCallback<ExpressLanesFeed>() { @Override public void onFailure(Throwable caught) { view.hideProgressIndicator(); phoneGap .getNotification() .alert( "Can't load data. Check your connection.", new AlertCallback() { @Override public void onOkButtonClicked() { // TODO Auto-generated method stub } }, "Connection Error"); } @Override public void onSuccess(ExpressLanesFeed result) { ExpressLaneItem item = null; if (result.getExpressLanes() != null) { ArrayList<ExpressLaneItem> expressLaneItems = new ArrayList<ExpressLaneItem>(); HashMap<Integer, String> routeIcon = new HashMap<Integer, String>(); routeIcon.put(5, AppBundle.INSTANCE.css().i5Icon()); routeIcon.put(90, AppBundle.INSTANCE.css().i90Icon()); int numEntries = result.getExpressLanes().getRoutes().length(); for (int i = 0; i < numEntries; i++) { item = new ExpressLaneItem(); item.setStatus(result.getExpressLanes().getRoutes().get(i).getStatus()); item.setRoute(result.getExpressLanes().getRoutes().get(i).getRoute()); item.setTitle(result.getExpressLanes().getRoutes().get(i).getTitle()); item.setUpdated(result.getExpressLanes().getRoutes().get(i).getUpdated()); item.setRouteIcon( routeIcon.get(result.getExpressLanes().getRoutes().get(i).getRoute())); expressLaneItems.add(item); } view.hideProgressIndicator(); view.render(expressLaneItems); view.refresh(); accessibility.postScreenChangeNotification(); } } }); }
@Override public void start(AcceptsOneWidget panel, EventBus eventBus) { view = clientFactory.getSeattleExpressLanesView(); this.eventBus = eventBus; this.phoneGap = this.clientFactory.getPhoneGap(); accessibility = clientFactory.getAccessibility(); view.setPresenter(this); view.getPullHeader().setHTML("pull down"); inAppBrowser = this.phoneGap.getInAppBrowser(); PullArrowStandardHandler headerHandler = new PullArrowStandardHandler(view.getPullHeader(), view.getPullPanel()); headerHandler.setErrorText("Error"); headerHandler.setLoadingText("Loading"); headerHandler.setNormalText("pull down"); headerHandler.setPulledText("release to load"); headerHandler.setPullActionHandler( new PullActionHandler() { @Override public void onPullAction(final AsyncCallback<Void> callback) { new Timer() { @Override public void run() { createPostList(); view.refresh(); callback.onSuccess(null); } }.schedule(1); } }); view.setHeaderPullHandler(headerHandler); createPostList(); createSchedulesLink(); panel.setWidget(view); accessibility.postScreenChangeNotification(); }
@Override public void onStop() { view.setPresenter(null); }
private void createSchedulesLink() { ArrayList<Topic> schedules = new ArrayList<Topic>(); schedules.add(new Topic("Check Express Lanes Schedule")); view.scheduleRender(schedules); }