/* (non-Javadoc) * @see javax.microedition.midlet.MIDlet#startApp() */ protected void startApp() throws MIDletStateChangeException { _manager.next(_tbMain); Thread thread = new Thread() { public void run() { startPanic(); } }; thread.start(); }
public void run() { ShoutController sControl = new ShoutController(); Logger.debug(PanicConstants.TAG, "starting panic run(); loading prefs..."); String recipients = _prefs.get(PanicConstants.PREFS_KEY_RECIPIENT); String userName = _prefs.get(PanicConstants.PREFS_KEY_NAME); String userMessage = _prefs.get(PanicConstants.PREFS_KEY_MESSAGE); String userLocation = _prefs.get(PanicConstants.PREFS_KEY_LOCATION); String panicMsg = sControl.buildShoutMessage(userName, userMessage, userLocation); String panicData = sControl.buildShoutData(userName); showMessage("PANIC MESSAGE: " + panicMsg + "\n\npreparing to send..."); doSecPause(5); _lsCanvas = new LargeStringCanvas(""); _lsCanvas.setCommandListener(this); _lsCanvas.addCommand(_cmdCancel); _manager.next(_lsCanvas); for (int i = 5; i > 0; i--) { showMessage("Sending in " + i + "..."); doSecPause(1); } int resendTimeout = PanicConstants.DEFAULT_RESEND_TIMEOUT; // one minute boolean wipeComplete = false; while (_keepPanicing) { try { showMessage("Sending messages..."); sControl.sendSMSShout(recipients, panicMsg, panicData); showMessage("Panic Sent!"); doSecPause(2); } catch (Exception e) { _display.setCurrent(_tbMain); doSecPause(1); showMessage("Error Sending: " + e.toString()); doSecPause(10); } // now that first shout has been sent, time to wipe if (!wipeComplete) { showMessage("Preparing to wipe data..."); WipeController wc = new WipeController(); String prefBool = _prefs.get(PanicConstants.PREFS_KEY_WIPE_CONTACTS); boolean wipeContacts = (prefBool != null && prefBool.equals("true")); prefBool = _prefs.get(PanicConstants.PREFS_KEY_WIPE_EVENTS); boolean wipeEvents = (prefBool != null && prefBool.equals("true")); prefBool = _prefs.get(PanicConstants.PREFS_KEY_WIPE_TODOS); boolean wipeToDos = (prefBool != null && prefBool.equals("true")); prefBool = _prefs.get(PanicConstants.PREFS_KEY_WIPE_PHOTOS); boolean wipePhotos = (prefBool != null && prefBool.equals("true")); prefBool = _prefs.get(PanicConstants.PREFS_KEY_WIPE_VIDEOS); boolean wipeVideos = (prefBool != null && prefBool.equals("true")); prefBool = _prefs.get(PanicConstants.PREFS_KEY_WIPE_ALL_FILES); boolean wipeAllFiles = (prefBool != null && prefBool.equals("true")); doSecPause(1); showMessage("Wiping selected personal data..."); try { wc.wipePIMData(wipeContacts, wipeEvents, wipeToDos); showMessage("Success! Personal data wiped!"); } catch (Exception e) { showMessage("WARNING: There was an error wiping your personal data."); e.printStackTrace(); } doSecPause(3); if (wipePhotos) { showMessage("Wiping all photos..."); try { wc.wipePhotos(this); showMessage("Wiping photos...\nWIPE COMPLETE."); } catch (Exception e) { showMessage("Wiping photos...nERROR. UNABLE TO WIPE PHOTOS."); e.printStackTrace(); } } doSecPause(3); if (wipeVideos) { showMessage("Wiping all videos..."); try { wc.wipePhotos(this); showMessage("Wiping videos...\nWIPE COMPLETE."); } catch (Exception e) { showMessage("Wiping videos...nERROR. UNABLE TO WIPE PHOTOS."); e.printStackTrace(); } } doSecPause(3); if (wipeAllFiles) { showMessage("Wiping all files..."); try { wc.wipeMemoryCard(this); wc.wipeAllRootPaths(this); showMessage("Wiping all files...\nWIPE COMPLETE."); } catch (Exception e) { showMessage("Wiping all photos...\nERROR. UNABLE TO WIPE ALL FILES."); e.printStackTrace(); } } wipeComplete = true; } int secs = resendTimeout / 1000; while (secs > 0) { showMessage("Panic! again in\n" + secs + "secs..."); doSecPause(1); secs--; } // update message with new mobile cid, lac info panicMsg = sControl.buildShoutMessage(userName, userMessage, userLocation); } _manager.next(_tbMain); }
public void showAlert(String title, String msg, Displayable next) { Alert alert = new Alert(title); alert.setString(msg); _manager.next(alert, next); }