package lancs.mobilemedia.core.ui.controller; import lancs.mobilemedia.core.ui.datamodel.ImageAlbumData; import javax.microedition.lcdui.Image; import lancs.mobilemedia.core.ui.screens.PhotoViewScreen; public class MediaController { /** * Show the current image that is selected */ public void showImage( String name){ new MediaController_showImage(this,name).execute(); } @MethodObject static class MediaController_showImage { MediaController_showImage( MediaController _this, String name){ this._this=_this; this.name=name; } void execute(){ storedImage=null; try { storedImage=((ImageAlbumData)_this.getAlbumData()).getImageFromRecordStore(_this.getCurrentStoreName(),name); } catch ( ImageNotFoundException e) { alert=new Alert("Error","The selected photo was not found in the mobile device",null,AlertType.ERROR); Display.getDisplay(midlet).setCurrent(alert,Display.getDisplay(midlet).getCurrent()); return; } catch ( PersistenceMechanismException e) { alert=new Alert("Error","The mobile database can open this photo",null,AlertType.ERROR); Display.getDisplay(midlet).setCurrent(alert,Display.getDisplay(midlet).getCurrent()); return; } canv=new PhotoViewScreen(storedImage); canv.setCommandListener(_this); nextcontroller=_this; this.hook20(); smscontroller=new SmsSenderController(midlet,_this.getAlbumData(),(AlbumListScreen)_this.getAlbumListScreen(),name); smscontroller.setNextController(nextcontroller); canv.setCommandListener(smscontroller); nextcontroller=smscontroller; _this.setCurrentScreen(canv); } protected MediaController _this; protected String name; protected Image storedImage; protected Alert alert; protected Alert alert; protected PhotoViewScreen canv; protected AbstractController nextcontroller; protected PhotoViewController controller; protected SmsSenderController smscontroller; protected void hook20(){ } } @MethodObject static class MediaController_handleCommand { protected void hook26(){ if (label.equals("View")) { selectedImageName=_this.getSelectedMediaName(); _this.showImage(selectedImageName); _this.incrementCountViews(selectedImageName); ScreenSingleton.getInstance().setCurrentScreenName(Constants.IMAGE_SCREEN); throw new ReturnBoolean(true); } original(); } } }