Skip to content

Commit

Permalink
able to view video media in gallery media app
Browse files Browse the repository at this point in the history
  • Loading branch information
svuillet committed Mar 3, 2015
1 parent f0fdf63 commit ca18f75
Show file tree
Hide file tree
Showing 30 changed files with 729 additions and 188 deletions.
Expand Up @@ -12,6 +12,8 @@
import com.silverpeas.mobile.client.apps.media.events.pages.navigation.MediaItemsLoadedEvent;
import com.silverpeas.mobile.client.apps.media.pages.MediaNavigationPage;
import com.silverpeas.mobile.client.apps.media.pages.PhotoPage;
import com.silverpeas.mobile.client.apps.media.pages.SoundPage;
import com.silverpeas.mobile.client.apps.media.pages.VideoPage;
import com.silverpeas.mobile.client.apps.media.resources.MediaMessages;
import com.silverpeas.mobile.client.apps.navigation.Apps;
import com.silverpeas.mobile.client.apps.navigation.NavigationApp;
Expand All @@ -23,8 +25,11 @@
import com.silverpeas.mobile.client.common.app.App;
import com.silverpeas.mobile.client.common.event.ErrorEvent;
import com.silverpeas.mobile.shared.dto.BaseDTO;
import com.silverpeas.mobile.shared.dto.ContentsTypes;
import com.silverpeas.mobile.shared.dto.RightDTO;
import com.silverpeas.mobile.shared.dto.media.PhotoDTO;
import com.silverpeas.mobile.shared.dto.media.SoundDTO;
import com.silverpeas.mobile.shared.dto.media.VideoDTO;
import com.silverpeas.mobile.shared.dto.navigation.ApplicationInstanceDTO;

import java.util.List;
Expand Down Expand Up @@ -66,17 +71,31 @@ public void onFailure(final Throwable caught) {
@Override
public void onSuccess(final ApplicationInstanceDTO app) {
commentable = app.isCommentable();
displayContent(appId, contentId);
displayContent(appId, contentType, contentId);
}
});
}

private void displayContent(final String appId, final String contentId) {
PhotoPage page = new PhotoPage();
page.setPageTitle(msg.title());
setMainPage(page);
page.show();
EventBus.getInstance().fireEvent(new MediaPreviewLoadEvent(appId, contentId));
private void displayContent(final String appId, String contentType, final String contentId) {
if (contentType.equals(ContentsTypes.Photo.toString())) {
PhotoPage page = new PhotoPage();
page.setPageTitle(msg.title());
setMainPage(page);
page.show();
EventBus.getInstance().fireEvent(new MediaPreviewLoadEvent(appId, contentType, contentId, null));
} else if (contentType.equals(ContentsTypes.Sound.toString())) {
SoundPage page = new SoundPage();
page.setPageTitle(msg.title());
setMainPage(page);
page.show();
EventBus.getInstance().fireEvent(new MediaPreviewLoadEvent(appId, contentType, contentId, null));
} else if (contentType.equals(ContentsTypes.Video.toString())) {
VideoPage page = new VideoPage();
page.setPageTitle(msg.title());
setMainPage(page);
page.show();
EventBus.getInstance().fireEvent(new MediaPreviewLoadEvent(appId, contentType, contentId, null));
}
}

@Override
Expand All @@ -94,7 +113,6 @@ public void appInstanceChanged(NavigationAppInstanceChangedEvent event) {
page.setPageTitle(msg.title());
page.init(event.getInstance().getId(), null, event.getInstance().getRights());
page.show();

}

@Override
Expand All @@ -115,17 +133,50 @@ public void onFailure(Throwable caught) {

@Override
public void loadMediaPreview(final MediaPreviewLoadEvent event) {
ServicesLocator.serviceMedia.getPreviewPicture(event.getInstanceId(), event.getMediaId(), new AsyncCallback<PhotoDTO>() {
@Override
public void onFailure(final Throwable caught) {
EventBus.getInstance().fireEvent(new ErrorEvent(caught));
if (event.getMedia() == null) {
if (event.getContentType().equals(ContentsTypes.Photo.toString())) {
ServicesLocator.serviceMedia.getPreviewPicture(event.getInstanceId(), event.getMediaId(),
new AsyncCallback<PhotoDTO>() {
@Override
public void onFailure(final Throwable caught) {
EventBus.getInstance().fireEvent(new ErrorEvent(caught));
}

@Override
public void onSuccess(final PhotoDTO preview) {
EventBus.getInstance().fireEvent(new MediaPreviewLoadedEvent(preview, commentable));
}
});
} else if (event.getContentType().equals(ContentsTypes.Sound.toString())) {
ServicesLocator.serviceMedia.getSound(event.getInstanceId(), event.getMediaId(),
new AsyncCallback<SoundDTO>() {
@Override
public void onFailure(final Throwable caught) {
EventBus.getInstance().fireEvent(new ErrorEvent(caught));
}

@Override
public void onSuccess(final SoundDTO sound) {
EventBus.getInstance().fireEvent(new MediaPreviewLoadedEvent(sound, commentable));
}
});
} else if (event.getContentType().equals(ContentsTypes.Video.toString())) {
ServicesLocator.serviceMedia.getVideo(event.getInstanceId(), event.getMediaId(),
new AsyncCallback<VideoDTO>() {
@Override
public void onFailure(final Throwable caught) {
EventBus.getInstance().fireEvent(new ErrorEvent(caught));
}

@Override
public void onSuccess(final VideoDTO sound) {
EventBus.getInstance().fireEvent(new MediaPreviewLoadedEvent(sound, commentable));
}
});
}

@Override
public void onSuccess(final PhotoDTO preview) {
EventBus.getInstance().fireEvent(new MediaPreviewLoadedEvent(preview, commentable));
}
});
} else {
EventBus.getInstance().fireEvent(new MediaPreviewLoadedEvent(event.getMedia(), commentable));
}
}

@Override
Expand Down
Expand Up @@ -4,13 +4,13 @@

public abstract class AbstractMediaAppEvent extends GwtEvent<MediaAppEventHandler> {

public static Type<MediaAppEventHandler> TYPE = new Type<MediaAppEventHandler>();
public AbstractMediaAppEvent() {
}
@Override
public com.google.gwt.event.shared.GwtEvent.Type<MediaAppEventHandler> getAssociatedType() {
return TYPE;
}
public static Type<MediaAppEventHandler> TYPE = new Type<MediaAppEventHandler>();

public AbstractMediaAppEvent() {
}

@Override
public com.google.gwt.event.shared.GwtEvent.Type<MediaAppEventHandler> getAssociatedType() {
return TYPE;
}
}
@@ -1,25 +1,38 @@
package com.silverpeas.mobile.client.apps.media.events.app;

import com.silverpeas.mobile.shared.dto.media.MediaDTO;

public class MediaPreviewLoadEvent extends AbstractMediaAppEvent {

private String instanceId, mediaId;
private String instanceId, mediaId, contentType;
private MediaDTO media;

public MediaPreviewLoadEvent(String instanceId, String mediaId) {
super();
this.mediaId = mediaId;
this.instanceId = instanceId;
}
public MediaPreviewLoadEvent(String instanceId, String contentType, String mediaId, MediaDTO media) {
super();
this.mediaId = mediaId;
this.contentType = contentType;
this.instanceId = instanceId;
this.media = media;
}

@Override
protected void dispatch(MediaAppEventHandler handler) {
handler.loadMediaPreview(this);
}
@Override
protected void dispatch(MediaAppEventHandler handler) {
handler.loadMediaPreview(this);
}

public String getInstanceId() {
return instanceId;
}
public String getInstanceId() {
return instanceId;
}

public String getMediaId() {
return mediaId;
}

public MediaDTO getMedia() {
return media;
}

public String getContentType() {
return contentType;
}
}
Expand Up @@ -4,13 +4,13 @@

public abstract class AbstractMediaPagesEvent extends GwtEvent<MediaPagesEventHandler> {

public static Type<MediaPagesEventHandler> TYPE = new Type<MediaPagesEventHandler>();
public static Type<MediaPagesEventHandler> TYPE = new Type<MediaPagesEventHandler>();

public AbstractMediaPagesEvent() {
}
public AbstractMediaPagesEvent() {
}

@Override
public Type<MediaPagesEventHandler> getAssociatedType() {
return TYPE;
}
@Override
public Type<MediaPagesEventHandler> getAssociatedType() {
return TYPE;
}
}
Expand Up @@ -6,21 +6,21 @@

public class MediaPreviewLoadedEvent extends AbstractMediaPagesEvent {

private PhotoDTO preview;
private MediaDTO preview;
private boolean commentable;

public MediaPreviewLoadedEvent(PhotoDTO preview, boolean commentable) {
super();
public MediaPreviewLoadedEvent(MediaDTO preview, boolean commentable) {
super();
this.preview = preview;
this.commentable = commentable;
}
}

@Override
protected void dispatch(MediaPagesEventHandler handler) {
handler.onMediaPreviewLoaded(this);
}
@Override
protected void dispatch(MediaPagesEventHandler handler) {
handler.onMediaPreviewLoaded(this);
}

public PhotoDTO getPreview() {
public MediaDTO getPreview() {
return preview;
}

Expand Down
Expand Up @@ -7,15 +7,15 @@ public class MediaViewLoadedEvent extends AbstractMediaPagesEvent {

private PhotoDTO view;

public MediaViewLoadedEvent(PhotoDTO view) {
super();
public MediaViewLoadedEvent(PhotoDTO view) {
super();
this.view = view;
}
}

@Override
protected void dispatch(MediaPagesEventHandler handler) {
handler.onMediaViewLoaded(this);
}
@Override
protected void dispatch(MediaPagesEventHandler handler) {
handler.onMediaViewLoaded(this);
}

public PhotoDTO getView() {
return view;
Expand Down
Expand Up @@ -3,19 +3,19 @@

public class MediaItemClickEvent extends AbstractMediaNavigationPagesEvent {

private Object mediaItem;

public MediaItemClickEvent(Object mediaItem) {
super();
this.mediaItem = mediaItem;
}
private Object mediaItem;

@Override
protected void dispatch(MediaNavigationPagesEventHandler handler) {
handler.onMediaItemClicked(this);
}
public MediaItemClickEvent(Object mediaItem) {
super();
this.mediaItem = mediaItem;
}

public Object getMediaItem() {
return mediaItem;
}
@Override
protected void dispatch(MediaNavigationPagesEventHandler handler) {
handler.onMediaItemClicked(this);
}

public Object getMediaItem() {
return mediaItem;
}
}
@@ -1,6 +1,7 @@
package com.silverpeas.mobile.client.apps.media.pages;

import com.google.gwt.core.client.GWT;
import com.google.gwt.core.client.Scheduler;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Widget;
Expand All @@ -19,11 +20,13 @@
import com.silverpeas.mobile.client.components.UnorderedList;
import com.silverpeas.mobile.client.components.base.PageContent;
import com.silverpeas.mobile.shared.dto.BaseDTO;
import com.silverpeas.mobile.shared.dto.ContentsTypes;
import com.silverpeas.mobile.shared.dto.RightDTO;
import com.silverpeas.mobile.shared.dto.media.AlbumDTO;
import com.silverpeas.mobile.shared.dto.media.MediaDTO;
import com.silverpeas.mobile.shared.dto.media.PhotoDTO;
import com.silverpeas.mobile.shared.dto.media.SoundDTO;
import com.silverpeas.mobile.shared.dto.media.VideoDTO;

import java.util.List;

Expand Down Expand Up @@ -89,12 +92,31 @@ public void onMediaItemClicked(final MediaItemClickEvent event) {
PhotoPage page = new PhotoPage();
page.setPageTitle(getPageTitle());
page.show();
EventBus.getInstance().fireEvent(new MediaPreviewLoadEvent(instanceId, ((PhotoDTO) event.getMediaItem()).getId()));
EventBus.getInstance().fireEvent(new MediaPreviewLoadEvent(instanceId, ContentsTypes.Photo.toString(), ((PhotoDTO) event.getMediaItem()).getId(), null));
} else if (event.getMediaItem() instanceof SoundDTO) {
SoundPage page = new SoundPage();
page.setPageTitle(getPageTitle());
page.setSound((SoundDTO) event.getMediaItem());
page.show();
Scheduler.get().scheduleDeferred(new Scheduler.ScheduledCommand() {
@Override
public void execute() {
EventBus.getInstance().fireEvent(
new MediaPreviewLoadEvent(((MediaDTO) event.getMediaItem()).getInstance(), ContentsTypes.Sound.toString(),
((MediaDTO) event.getMediaItem()).getId(), (MediaDTO) event.getMediaItem()));
}
});
} else if (event.getMediaItem() instanceof VideoDTO) {
VideoPage page = new VideoPage();
page.setPageTitle(getPageTitle());
page.show();
Scheduler.get().scheduleDeferred(new Scheduler.ScheduledCommand() {
@Override
public void execute() {
EventBus.getInstance().fireEvent(
new MediaPreviewLoadEvent(((MediaDTO) event.getMediaItem()).getInstance(), ContentsTypes.Video.toString(),
((MediaDTO) event.getMediaItem()).getId(), (MediaDTO) event.getMediaItem()));
}
});
}
}
}
Expand Down

0 comments on commit ca18f75

Please sign in to comment.