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); }
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); }
private void setDefaultProperties(Asset defaultAsset, Slideshow timeline) { timeline.setHeadline("Slideshow"); timeline.setText("This is your default Slideshow content"); timeline.setType("default"); timeline.setAsset(defaultAsset); }
private void setOptionalProperties(Slideshow timeline) { timeline.setHeadline("Slideshow"); timeline.setText("You dont have default content for Slideshow"); timeline.setType("default"); }
public void showSlideshow() { Slideshow popup = new Slideshow(album, this); popup.setLocationRelativeTo(null); popup.setVisible(true); }