package lancs.mobilemedia.core.ui.controller; import lancs.mobilemedia.core.ui.datamodel.MusicAlbumData; import lancs.mobilemedia.core.ui.screens.PlayMediaScreen; public class MediaController { private boolean playMultiMedia( String selectedMediaName){ InputStream storedMusic=null; try { MediaData mymedia=getAlbumData().getMediaInfo(selectedMediaName); incrementCountViews(selectedMediaName); if ((mymedia.getTypeMedia().equals(MediaData.MUSIC)) || (mymedia.getTypeMedia().equals(MediaData.VIDEO))) { storedMusic=((MusicAlbumData)getAlbumData()).getMusicFromRecordStore(getCurrentStoreName(),selectedMediaName); PlayMediaScreen playscree=new PlayMediaScreen(midlet,storedMusic,mymedia.getTypeMedia(),this); MusicPlayController controller=new MusicPlayController(midlet,getAlbumData(),(AlbumListScreen)getAlbumListScreen(),playscree); controller.setMediaName(selectedMediaName); this.setNextController(controller); } return true; } catch ( ImageNotFoundException e) { Alert alert=new Alert("Error","The selected item was not found in the mobile device",null,AlertType.ERROR); Display.getDisplay(midlet).setCurrent(alert,Display.getDisplay(midlet).getCurrent()); return false; } catch ( PersistenceMechanismException e) { Alert alert=new Alert("Error","The mobile database can open this item 1",null,AlertType.ERROR); Display.getDisplay(midlet).setCurrent(alert,Display.getDisplay(midlet).getCurrent()); return false; } } @MethodObject static class MediaController_handleCommand { protected void hook23(){ if (label.equals("Play")) { selectedMediaName=_this.getSelectedMediaName(); throw new ReturnBoolean(_this.playMultiMedia(selectedMediaName)); } original(); } protected void hook24() throws InvalidImageDataException, PersistenceMechanismException, ImageNotFoundException { if (_this.getAlbumData() instanceof MusicAlbumData) { _this.getAlbumData().loadMediaDataFromRMS(_this.getCurrentStoreName()); mymedia=_this.getAlbumData().getMediaInfo(((AddMediaToAlbum)_this.getCurrentScreen()).getItemName()); mymedia.setTypeMedia(((AddMediaToAlbum)_this.getCurrentScreen()).getItemType()); _this.getAlbumData().updateMediaInfo(mymedia,mymedia); } original(); } protected void hook25(){ alert=new Alert("Error","The selected item was not found in the mobile device",null,AlertType.ERROR); Display.getDisplay(midlet).setCurrent(alert,Display.getDisplay(midlet).getCurrent()); throw new ReturnBoolean(true); original(); } } }