private void setTimeline(Asset defaultAsset, Slideshow timeline) {
   timeline.setHeadline("Slideshow");
   timeline.setType("default");
   if (defaultAsset != null) {
     timeline.setText("This is your default Slideshow content");
     timeline.setAsset(defaultAsset);
   } else {
     timeline.setText("You dont have default content for Slideshow");
   }
 }
  // initializes the SlideshowPlayer Activity
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.slideshow_player);

    imageView = (ImageView) findViewById(R.id.imageView);
    videoView = (VideoView) findViewById(R.id.videoView);
    videoView.setOnCompletionListener( // set video completion handler
        new OnCompletionListener() {
          @Override
          public void onCompletion(MediaPlayer mp) {
            handler.post(updateSlideshow); // update the slideshow
          } // end method onCompletion
        } // end anonymous inner class
        ); // end OnCompletionListener

    if (savedInstanceState == null) // Activity starting
    {
      // get slideshow name from Intent's extras
      slideshowName = getIntent().getStringExtra(Slideshow.NAME_EXTRA);
      mediaTime = 0; // position in media clip
      nextItemIndex = 0; // start from first image
    } // end if
    else // Activity resuming
    {
      // get the play position that was saved when config changed
      mediaTime = savedInstanceState.getInt(MEDIA_TIME);

      // get index of image that was displayed when config changed
      nextItemIndex = savedInstanceState.getInt(IMAGE_INDEX);

      // get name of slideshow that was playing when config changed
      slideshowName = savedInstanceState.getString(SLIDESHOW_NAME);
    } // end else

    // get SlideshowInfo for slideshow to play
    slideshow = Slideshow.getSlideshowInfo(slideshowName);

    // configure BitmapFactory.Options for loading images
    options = new BitmapFactory.Options();
    options.inSampleSize = 4; // sample at 1/4 original width/height

    // if there is music to play
    if (slideshow.getMusicPath() != null) {
      // try to create a MediaPlayer to play the music
      try {
        mediaPlayer = new MediaPlayer();
        mediaPlayer.setDataSource(this, Uri.parse(slideshow.getMusicPath()));
        mediaPlayer.prepare(); // prepare the MediaPlayer to play
        mediaPlayer.setLooping(true); // loop the music
        mediaPlayer.seekTo(mediaTime); // seek to mediaTime
      } // end try
      catch (Exception e) {
        Log.v(TAG, e.toString());
      } // end catch
    } // end if

    handler = new Handler(); // create handler to control slideshow
  } // end method onCreate
  public SlideshowData generateTimelineData(String resourceHolderId) throws Exception {
    ResourceHolder resourceHolder = resourceHolderRepository.findOne(resourceHolderId);
    exceptionNullResourceHolder(resourceHolder);
    Resource resource = getIdResource();
    Asset defaultAsset = defaultAsset(resource);
    Slideshow timeline = new Slideshow();
    setTimeline(defaultAsset, timeline);
    ResourceSchedule schedule = ScheduleServiceImplSimple.findOne(resource.getScheduleId());
    nullExceptionSchedule(schedule);

    ArrayList<ResourceSchedule> getResourceSchedules = schedule.getResourceSchedules();
    int sizeOfResourceSchedules = getResourceSchedules.size();
    if (sizeOfResourceSchedules == 0) {
      throw new Exception("", null);
    }

    HashMap<String, Asset> assets = setRecourceIds(getResourceSchedules);
    List<SlideshowInterval> timelineIntervalList = new ArrayList<>();
    int slide = 0;
    Calendar calendar = GregorianCalendar.getInstance();
    long timeInMillis = calendar.getTimeInMillis();
    slide =
        resourceSchedules(
            defaultAsset, getResourceSchedules, assets, timelineIntervalList, slide, timeInMillis);
    if (sizeOfResourceSchedules > 0) {
      ResourceSchedule sizeOfResourceSchedule =
          getResourceSchedules.get(sizeOfResourceSchedules - 1);
      if (timeInMillis > sizeOfResourceSchedule.getEndTime()) {
        slide = 0;
      }
      timelineIntervalList.add(
          resourceScheduleToDate(
              sizeOfResourceSchedule, assets.get(sizeOfResourceSchedule.getResourceId())));
    }
    timeline.setDate(timelineIntervalList);
    return new SlideshowData(timeline, slide);
  }
Ejemplo n.º 4
0
  public SlideshowData generateTimelineData(String resourceHolderId, String contentId)
      throws Exception {

    Resource resource = getResource(contentId);

    Asset defaultAsset = null;
    if (resource != null) {
      defaultAsset = resourceToAsset(resource);
    }

    Slideshow timeline = new Slideshow();

    if (defaultAsset != null) {
      setDefaultProperties(defaultAsset, timeline);
    } else {
      setOptionalProperties(timeline);
    }

    ResourceSchedule schedule = ScheduleServiceImplSimple.findOne(resource.getScheduleId());

    if (schedule == null) {
      try {
        throw new Exception("");
      } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      }
    }

    if (schedule.getResourceSchedules().size() == 0) {
      throw new Exception("", null);
    }

    Set<String> resourceIds = new HashSet<>();

    // zmienic
    for (ResourceSchedule item : schedule.getResourceSchedules()) {
      resourceIds.add(item.getResourceId());
    }

    Iterable<Resource> resourcesSet = resourceHolderResourceRepository.findAll(resourceIds);
    HashMap<String, Asset> assets = resourcesToAssetMap(resourcesSet);

    List<SlideshowInterval> timelineIntervalList = new ArrayList<>();
    int slide = 0;

    Calendar calendar = GregorianCalendar.getInstance();

    for (int i = 0; i < schedule.getResourceSchedules().size() - 1; ++i) {
      long startTime = schedule.getResourceSchedules().get(i).getStartTime();

      if (calendar.getTimeInMillis() > startTime) {
        ++slide;
      }
      timelineIntervalList.add(
          resourceScheduleToDate(
              schedule.getResourceSchedules().get(i),
              assets.get(schedule.getResourceSchedules().get(i).getResourceId())));
      if (defaultAsset != null) {
        if (schedule.getResourceSchedules().get(i).getEndTime()
            != schedule.getResourceSchedules().get(i + 1).getStartTime()) {
          if (schedule.getResourceSchedules().get(i).getEndTime() < calendar.getTimeInMillis()) {
            ++slide;
          }
          timelineIntervalList.add(
              defaultDate(
                  schedule.getResourceSchedules().get(i).getEndTime(),
                  schedule.getResourceSchedules().get(i + 1).getStartTime(),
                  defaultAsset));
        }
      }
    }
    if (schedule.getResourceSchedules().size() > 0) {
      if (calendar.getTimeInMillis()
          > schedule
              .getResourceSchedules()
              .get(schedule.getResourceSchedules().size() - 1)
              .getEndTime()) {
        slide = 0;
      }

      timelineIntervalList.add(
          resourceScheduleToDate(
              schedule.getResourceSchedules().get(schedule.getResourceSchedules().size() - 1),
              assets.get(
                  schedule
                      .getResourceSchedules()
                      .get(schedule.getResourceSchedules().size() - 1)
                      .getResourceId())));
    }

    timeline.setDate(timelineIntervalList);
    return new SlideshowData(timeline, slide);
  }
Ejemplo n.º 5
0
 private void setDefaultProperties(Asset defaultAsset, Slideshow timeline) {
   timeline.setHeadline("Slideshow");
   timeline.setText("This is your default Slideshow content");
   timeline.setType("default");
   timeline.setAsset(defaultAsset);
 }
Ejemplo n.º 6
0
 private void setOptionalProperties(Slideshow timeline) {
   timeline.setHeadline("Slideshow");
   timeline.setText("You dont have default content for Slideshow");
   timeline.setType("default");
 }
Ejemplo n.º 7
0
 public void showSlideshow() {
   Slideshow popup = new Slideshow(album, this);
   popup.setLocationRelativeTo(null);
   popup.setVisible(true);
 }