uicontroller.java
来自「SUN公司发布的SmartTicket 2.0蓝图」· Java 代码 · 共 1,260 行 · 第 1/4 页
JAVA
1,260 行
fallbackUI = mainMenuUI; displayProgress(getString(UIMessageCodes.LOADING_THEATER_SCHEDULES), false); Theater[] localTheaters = model.getPersistedTheaters(null); long[] localTheatersExpirationDates = new long[localTheaters.length]; for (int i = 0; i != localTheaters.length; i++) { localTheatersExpirationDates[i] = localTheaters[i].getTheaterSchedule().getExpirationDate(); } savedTheaterSchedulesUI.init(localTheaters, localTheatersExpirationDates); setCurrent(savedTheaterSchedulesUI); break; } case EventIds.EVENT_ID_THEATER_SCHEDULE_SAVE_REQUESTED: { fallbackUI = movieSelectionUI; displayProgress(getString(UIMessageCodes.SAVING_THEATER_SCHEDULE), false); TheaterSchedule theaterSchedule = selectedTheater.getTheaterSchedule(); preferences.addUpdatableTheaterScheduleKey(selectedTheater.getPrimaryKey()); model.persistTheaterSchedule(selectedTheater); model.setPreferences(preferences); setCurrent(movieSelectionUI); break; } case EventIds.EVENT_ID_THEATER_SCHEDULE_DELETE_REQUESTED: { fallbackUI = savedTheaterSchedulesUI; displayProgress(getString(UIMessageCodes.DELETING_THEATER_SCHEDULE), false); selectedTheater = (Theater) eventObjects[0]; model.deleteTheater(selectedTheater.getPrimaryKey()); run(EventIds.EVENT_ID_THEATER_SCHEDULES_REQUESTED, null); break; } case EventIds.EVENT_ID_THEATER_SCHEDULE_REFRESH_REQUESTED: { fallbackUI = savedTheaterSchedulesUI; displayProgress(getString(UIMessageCodes.SAVING_THEATER_SCHEDULE), false); selectedTheater = (Theater) eventObjects[0]; TheaterSchedule theaterSchedule = selectedTheater.getTheaterSchedule(); model.persistTheaterSchedule(selectedTheater); run(EventIds.EVENT_ID_THEATER_SCHEDULES_REQUESTED, null); break; } case EventIds.EVENT_ID_CHOOSE_MOVIE_SELECTED: { fallbackUI = mainMenuUI; displayProgress(getString(UIMessageCodes.SMART_TICKET), false); String zipCode1 = preferences.getDefaultZipCode(); String zipCode2 = preferences.getSecondZipCode(); // Get all local theaters Theater[] localTheaters1 = model.getCachedAndPersistedTheaters(zipCode1); Theater[] localTheaters2 = model.getCachedAndPersistedTheaters(zipCode2); Theater[] localTheaters = new Theater[localTheaters1.length + localTheaters2.length]; movieSelectionUI.init(preferences); if (localTheaters.length == 0) { // Get all theaters Theater[] theaters1 = model.getTheaters(zipCode1); Theater[] theaters2 = model.getTheaters(zipCode2); Theater[] theaters = new Theater[theaters1.length + theaters2.length]; System.arraycopy(theaters1, 0, theaters, 0, theaters1.length); System.arraycopy(theaters2, 0, theaters, theaters1.length, theaters2.length); movieSelectionUI.setTheaters(theaters, new Theater[0], new long[0], true); } else { System.arraycopy(localTheaters1, 0, localTheaters, 0, localTheaters1.length); System.arraycopy(localTheaters2, 0, localTheaters, localTheaters1.length, localTheaters2.length); long[] localTheatersExpirationDates = new long[localTheaters.length]; for (int i = 0; i != localTheaters.length; i++) { localTheatersExpirationDates[i] = localTheaters[i].getTheaterSchedule().getExpirationDate(); } movieSelectionUI.setTheaters(localTheaters, localTheaters, localTheatersExpirationDates, false); } setCurrent(movieSelectionUI); break; } case EventIds.EVENT_ID_THEATERS_ONLINE_REQUESTED: { fallbackUI = movieSelectionUI; displayProgress(getString(UIMessageCodes.SMART_TICKET), false); String zipCode1 = preferences.getDefaultZipCode(); String zipCode2 = preferences.getSecondZipCode(); // Get all theaters Theater[] theaters1 = model.getTheaters(zipCode1); Theater[] theaters2 = model.getTheaters(zipCode2); Theater[] theaters = new Theater[theaters1.length + theaters2.length]; System.arraycopy(theaters1, 0, theaters, 0, theaters1.length); System.arraycopy(theaters2, 0, theaters, theaters1.length, theaters2.length); // Get all local theaters Theater[] localTheaters1 = model.getCachedAndPersistedTheaters(zipCode1); Theater[] localTheaters2 = model.getCachedAndPersistedTheaters(zipCode2); Theater[] localTheaters = new Theater[localTheaters1.length + localTheaters2.length]; System.arraycopy(localTheaters1, 0, localTheaters, 0, localTheaters1.length); System.arraycopy(localTheaters2, 0, localTheaters, localTheaters1.length, localTheaters2.length); long[] localTheatersExpirationDates = new long[localTheaters.length]; for (int i = 0; i != localTheaters.length; i++) { localTheatersExpirationDates[i] = localTheaters[i].getTheaterSchedule().getExpirationDate(); } movieSelectionUI.init(preferences); movieSelectionUI.setTheaters(theaters, localTheaters, localTheatersExpirationDates, true); setCurrent(movieSelectionUI); break; } case EventIds.EVENT_ID_THEATERS_IN_ZIP_CODE_REQUESTED: { fallbackUI = movieSelectionUI; displayProgress(getString(UIMessageCodes.SMART_TICKET), false); String zipCode = (String) eventObjects[0]; Theater[] theaters = model.getTheaters(zipCode); Theater[] localTheaters = model.getCachedAndPersistedTheaters(zipCode); long[] localTheatersExpirationDates = new long[localTheaters.length]; for (int i = 0; i != localTheaters.length; i++) { localTheatersExpirationDates[i] = localTheaters[i].getTheaterSchedule().getExpirationDate(); } movieSelectionUI.init(preferences); movieSelectionUI.setTheaters(theaters, localTheaters, localTheatersExpirationDates, true); setCurrent(movieSelectionUI); break; } case EventIds.EVENT_ID_THEATER_SELECTED: { fallbackUI = movieSelectionUI; displayProgress(getString(UIMessageCodes.FINDING_MOVIES), false); selectedTheater = (Theater) eventObjects[0]; TheaterSchedule theaterSchedule = selectedTheater.getTheaterSchedule(); if (System.currentTimeMillis() > theaterSchedule.getExpirationDate()) { model.setOffline(false); theaterSchedule = selectedTheater.getTheaterSchedule(); } TheaterSchedule.MovieSchedule[] movieSchedules = theaterSchedule.getMovieSchedules(); Movie[] movies = new Movie[movieSchedules.length]; for (int i = 0; i < movieSchedules.length; i++) { movies[i] = movieSchedules[i].getMovie(); } movieSelectionUI.setMovies(movies); display.callSerially(new Runnable() { public void run() { setCurrent(movieSelectionUI); } }); break; } case EventIds.EVENT_ID_MOVIE_SELECTED: { fallbackUI = movieSelectionUI; displayProgress(getString(UIMessageCodes.FINDING_SHOWTIMES), false); selectedMovie = (Movie) eventObjects[0]; TheaterSchedule.MovieSchedule[] movieSchedules = selectedTheater.getTheaterSchedule().getMovieSchedules(); int[][] showTimes = null; for (int i = 0; i < movieSchedules.length; i++) { if (movieSchedules[i].getMovie() == selectedMovie) { showTimes = movieSchedules[i].getShowTimes(); selectedMovieSchedule = movieSchedules[i]; break; } } movieSelectionUI.setShowTimes(showTimes); display.callSerially(new Runnable() { public void run() { setCurrent(movieSelectionUI); } }); break; } case EventIds.EVENT_ID_MOVIE_INFO_REQUESTED: { fallbackUI = movieSelectionUI; displayProgress(getString(UIMessageCodes.LOADING_MOVIE_INFO), false); byte[] poster = selectedMovie.getPoster(); Image image = Image.createImage(poster, 0, poster.length); Alert alert = new Alert(selectedMovie.getTitle(), selectedMovie.getSummary(), image, null); alert.setTimeout(Alert.FOREVER); setCurrent(alert, movieSelectionUI); break; } case EventIds.EVENT_ID_SHOW_TIME_SELECTED: { fallbackUI = movieSelectionUI; selectedShowTime = (int[]) eventObjects[0]; break; } case EventIds.EVENT_ID_SEAT_SELECTION_SELECTED: { fallbackUI = movieSelectionUI; displayProgress(getString(UIMessageCodes.LOADING_SEATING_PLAN), false); seatingPlanUI.init(selectedMovieSchedule.getSeatingPlan(selectedShowTime), selectedMovie, selectedShowTime); setCurrent(seatingPlanUI); break; } case EventIds.EVENT_ID_SEAT_SELECTION_CANCELLED: { fallbackUI = seatingPlanUI;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?