Classes sorted by package:

core.comms
BaseMessaging

core.threads
BaseThread

core.ui
MainUIMidlet

core.ui.controller
AbstractController
AlbumController
BaseController
ControllerInterface
PhotoController
PhotoListController
PhotoViewController
ScreenSingleton

core.ui.datamodel
AlbumData
ImageAccessor
ImageData

core.ui.screens
AddPhotoToAlbum
AlbumListScreen
NewLabelScreen
PhotoListScreen
PhotoViewScreen
SplashScreen

core.util
Constants
ImageUtil

sms
NetworkScreen
SmsMessaging
SmsReceiverController
SmsReceiverThread
SmsSenderController
SmsSenderThread
  1 // #if includeSmsFeature
  2 package ubc.midp.mobilephoto.sms;
  3 
  4 import java.io.IOException;
  5 import java.io.InterruptedIOException;
  6 
  7 import javax.microedition.lcdui.Alert;
  8 import javax.microedition.lcdui.Command;
  9 import javax.wireless.messaging.Message;
 10 import javax.wireless.messaging.MessageConnection;
 11 
 12 import ubc.midp.mobilephoto.core.ui.MainUIMidlet;
 13 import ubc.midp.mobilephoto.core.ui.datamodel.AlbumData;
 14 import ubc.midp.mobilephoto.core.ui.screens.AlbumListScreen;
 15 
 16 
 17 /**
 18  
 19  */
 20 public class SmsReceiverThread implements Runnable //extends BaseThread {
 21   
 22   SmsReceiverController controller = null;
 23 
 24     
 25   String[] connections;     //Connections detected at start up.
 26   String smsPort;       //The port on which we listen for SMS messages
 27   MessageConnection smsconn;   //SMS message connection for inbound text messages.
 28   Message msg;         //Current message read from the network.
 29   String senderAddress;     //Address of the message's sender
 30   
 31     Command acceptPhotoCommand = new Command("Accept Photo", Command.ITEM, 1);
 32     Command rejectPhotoCommand = new Command("Reject Photo", Command.ITEM, 1);
 33     
 34     Command errorNotice = new Command("Ok", Command.ITEM, 1);
 35 
 36   /**
 37    * Initialize the MIDlet with the current display object and graphical
 38    * components.
 39    */
 40   public SmsReceiverThread(MainUIMidlet midlet, AlbumData albumData, AlbumListScreen albumListScreen, SmsReceiverController controller) {
 41     this.controller = controller;
 42     //smsPort = getAppProperty("SMS-Port");
 43     smsPort = "1000"//getAppProperty("SMS-Port");
 44   }
 45 
 46   /**
 47    * Initialize the MIDlet with the current display object and graphical
 48    * components.
 49    
 50    * Pass in the controller so we can notify it when a photo/message is received via SMS
 51    */
 52   
 53   /** Message reading thread. */
 54   public void run() {
 55     SmsMessaging smsMessenger = new SmsMessaging();
 56 
 57     while(true){
 58       System.out.println("Starting SMSReceiver::run()");
 59 
 60       smsMessenger.setSmsReceivePort(smsPort);
 61       byte[] receivedData = null;
 62       try {
 63         receivedData = smsMessenger.receiveImage();
 64       catch (InterruptedIOException e) {
 65         Alert alert = new Alert("Error Incoming Photo");
 66         alert.setString("" +
 67             "You have just received a bad fragmentated photo which was not possible to recovery.");
 68         alert.addCommand(errorNotice);
 69         System.out.println("Error interreput");
 70         alert.setCommandListener(controller);
 71         controller.setCurrentScreen(alert);
 72         smsMessenger.cleanUpReceiverConnections();
 73         continue;
 74 
 75       catch (IOException e) {
 76         Alert alert = new Alert("Error Incoming Photo");
 77         alert.setString("" +
 78             "You have just received a bad fragmentated photo which was not possible to recovery.");
 79         alert.addCommand(errorNotice);
 80         System.out.println("Bad fragmentation");
 81         alert.setCommandListener(controller);
 82         controller.setCurrentScreen(alert);
 83         smsMessenger.cleanUpReceiverConnections();
 84         continue;
 85       }
 86 
 87       System.out.println("BEFORE ALERT CODE");
 88       Alert alert = new Alert("New Incoming Photo");
 89       alert.setString("A MobilePhoto user has sent you a Photo. Do you want to accept it?");
 90       alert.addCommand(acceptPhotoCommand);
 91       alert.addCommand(rejectPhotoCommand);
 92       controller.setIncommingData(receivedData);
 93       alert.setCommandListener(controller);
 94 
 95       controller.setCurrentScreen(alert);
 96 
 97       System.out.println("Finishing SMSReceiver run()");
 98     }
 99 
100   }
101 }
102 //#endif