📄 uicontroller.java
字号:
} break; } case EventIds.EVENT_ID_ACCOUNTINFOSAVED: { model.setAccountInfo(newAccountInfo); accountInfo = newAccountInfo; display.setCurrent(fallbackUI); break; } case EventIds.EVENT_ID_CHOOSEMOVIEREQUESTED: { model.setOffline(true); if (accountInfo == null) { accountSetupRequested(); } else { Theater[] theaterList = getTheaterList(); Theater[] persistedTheaters = model.getPersistedTheaters(null); Theater[] cachedTheaters = model.getCachedTheaters(null); /* merge the persisted and cached theater list */ Theater[] theaters = new Theater[persistedTheaters.length + cachedTheaters.length]; System.arraycopy(persistedTheaters, 0, theaters, 0, persistedTheaters.length); System.arraycopy(cachedTheaters, 0, theaters, persistedTheaters.length, cachedTheaters.length); chooseMovieUI.setTheaters(theaterList, theaters); chooseMovieUI.init(model.getPreferences()); display.setCurrent(chooseMovieUI); } break; } case EventIds.EVENT_ID_LOOKUPTHEATERSCHEDULE: { model.setOffline(false); TheaterSchedule theaterSchedule = selectedTheater.getTheaterSchedule(); if (theaterSchedule != null) { chooseMovieUI.theaterScheduleDownloadSuccess(theaterSchedule, theaterSelection); display.setCurrent(chooseMovieUI); } break; } case EventIds.EVENT_ID_DOWNLOADTHEATERSCHEDULE: { TheaterSchedule theaterSchedule = selectedTheater.getTheaterSchedule(); preferences.addUpdatableTheaterScheduleKey(selectedTheater.getPrimaryKey()); model.persistTheaterSchedule(selectedTheater); model.setPreferences(preferences); manageTheaterSchedulesRequested(); break; } case EventIds.EVENT_ID_SELECTSEATSSELECTED: { SeatingPlan seatingPlan = selectedMovieSchedule.getSeatingPlan(selectedShowTime); String movieName = selectedMovie.getTitle(); seatingPlanUI.init(selectedTheater.getName(), movieName, seatingPlan, selectedShowTime); display.setCurrent(seatingPlanUI); break; } case EventIds.EVENT_ID_SEATSSELECTED: { reservation = model.reserveSeats(selectedTheater.getPrimaryKey(), selectedMovie.getPrimaryKey(), selectedShowTime, selectedSeats); purchaseTicketsUI.init(model.getAccountInfo()); display.setCurrent(purchaseTicketsUI); break; } case EventIds.EVENT_ID_PURCHASEREQUESTED: { model.purchaseTickets(reservation); purchaseCompleteUI.init(reservation.getId(), selectedTheater.getName(), selectedMovie.getTitle(), selectedShowTime); display.setCurrent(purchaseCompleteUI); break; } case EventIds.EVENT_ID_RATEMYMOVIESREQUESTED: { MovieRating[] movieRatings = model.getMovieRatings(); MovieRating[] nonDeletedMovieRatings = new MovieRating[movieRatings.length]; int j = 0; for (int i = 0; i != movieRatings.length; i++) { if (movieRatings[i].getModificationStatus() != Synchronizable.STATUS_DELETED) { nonDeletedMovieRatings[j++] = movieRatings[i]; } } rateMyMoviesUI.init(nonDeletedMovieRatings); display.setCurrent(rateMyMoviesUI); break; } case EventIds.EVENT_ID_MOVIE_RATING_DELETE_REQUESTED: { // TODO // selectedMovieRating.setModificationStatus(Synchronizable.STATUS_DELETED); // model.setMovieRating(selectedMovieRating); taskId = EventIds.EVENT_ID_RATEMYMOVIESREQUESTED; run(); break; } case EventIds.EVENT_ID_MOVIE_RATINGS_SYNC_REQUESTED: { progressObserverUI.init(getString(UIConstants.SYNC_MOVIE_RATINGS), false); int strategyId = preferences.getConflictResolutionStrategyId(); if (strategyId != Synchronizable.STRATEGY_ASK_USER) { model.synchronizeMovieRatings(strategyId); model.commitMovieRatings(new MovieRating[0]); taskId = EventIds.EVENT_ID_RATEMYMOVIESREQUESTED; run(); showInfoAlert(getString(UIConstants.SYNC_SUCCESSFUL), rateMyMoviesUI); } else { MovieRating[][] movieRatingPairs = model.synchronizeMovieRatings(); if (movieRatingPairs.length != 0) { syncMovieRatingsUI.init(movieRatingPairs); showInfoAlert(getString(UIConstants.CONFLICTING_RATINGS_LONG), syncMovieRatingsUI); } else { model.commitMovieRatings(new MovieRating[0]); taskId = EventIds.EVENT_ID_RATEMYMOVIESREQUESTED; run(); showInfoAlert(getString(UIConstants.SYNC_SUCCESSFUL), rateMyMoviesUI); } } break; } case EventIds.EVENT_ID_MOVIE_RATINGS_SAVE_REQUESTED: { for (int i = 0; i < selectedMovieRatings.length; i++) { model.setMovieRating(selectedMovieRatings[i]); } taskId = EventIds.EVENT_ID_RATEMYMOVIESREQUESTED; run(); display.setCurrent(rateMyMoviesUI); break; } case EventIds.EVENT_ID_MOVIE_RATINGS_RESOLUTION_REQUESTED: { progressObserverUI.init(getString(UIConstants.SYNC_MOVIE_RATINGS), false); model.commitMovieRatings(resolvedMovieRatings); taskId = EventIds.EVENT_ID_RATEMYMOVIESREQUESTED; run(); showInfoAlert(getString(UIConstants.SYNC_SUCCESSFUL), rateMyMoviesUI); break; } } // for switch - case } catch (ApplicationException ae) { if (ae.getCode() == ErrorMessageCodes.ERROR_OPERATION_INTERRUPTED) { display.setCurrent(fallbackUI); } else { showErrorAlert(ae.getMessage(), fallbackUI); } } catch (Exception e) { e.printStackTrace(); showErrorAlert(e.getMessage()); } } } private void createCommands() { exitCommand = new Command(getString(UIConstants.EXIT), Command.EXIT, 1); mainMenuCommand = new Command(getString(UIConstants.MAIN_MENU), Command.OK, 3); mySettingsCommand = new Command(getString(UIConstants.MY_SETTINGS), Command.OK, 3); // aboutCommand = new Command(getString( // UIConstants.ABOUT), Command.OK, 6); // showPreviewCommand = new Command(getString( // UIConstants.SHOW_PREVIEW), Command.OK, 3); // showByMoviesCommand = new Command(getString( // UIConstants.SHOW_BY_MOVIES), Command.OK, 3); // whatsNewCommand = new Command(getString( // UIConstants.WHATS_NEW), Command.OK, 5); } private void setCommands(Displayable displayable) { displayable.addCommand(exitCommand); displayable.addCommand(mainMenuCommand); // displayable.addCommand(showPreviewCommand); // displayable.addCommand(showByMoviesCommand); // displayable.addCommand(whatsNewCommand); displayable.addCommand(mySettingsCommand); // displayable.addCommand(aboutCommand); } private Theater[] getTheaterList() throws ApplicationException { Preferences pref = model.getPreferences(); String zipCode = pref.getDefaultZipCode(); String zipCode2 = pref.getSecondZipCode(); if (zipCode.length() == 0) { return null; } Theater[] theaterList = model.getTheaters(zipCode); if (zipCode2.length() != 0) { Theater[] theaterList2 = model.getTheaters(zipCode2); Theater[] theaters = new Theater[theaterList.length + theaterList2.length]; System.arraycopy(theaterList, 0, theaters, 0, theaterList.length); System.arraycopy(theaterList2, 0, theaters, theaterList.length, theaterList2.length); theaterList = theaters; } return theaterList; } public Image getImage(byte imageIndex) { return icons[imageIndex]; } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -