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 + -
显示快捷键?