public void cancel() { unregister(this); terminate(); }
/** * Terminate all Threads created by MIDlet */ public static void contextDestroyed(MIDletContext midletContext) { if (midletContext == null) { return; } Map timers = (Map) midlets.get(midletContext); if (timers != null) { terminateTimers(timers); midlets.remove(midletContext); } }
/** * Terminate all Threads created by MIDlet * @param previousMidletAccess */ public static void contextDestroyed(final MIDletContext midletContext) { if (midletContext == null) { return; } final Map threads = (Map)midlets.remove(midletContext); if ((threads != null) && (threads.size() != 0)) { terminator = true; Thread terminator = new Thread("MIDletThreadsTerminator") { public void run() { terminateThreads(threads); } }; terminator.start(); } MIDletTimer.contextDestroyed(midletContext); }
private static void terminateTimers(Map timers) { for (Iterator iter = timers.keySet().iterator(); iter.hasNext();) { Object o = iter.next(); if (o == null) { continue; } if (o instanceof MIDletTimer) { MIDletTimer tm = (MIDletTimer) o; Logger.warn("MIDlet timer created from [" + tm.name + "] still running"); tm.terminate(); } else { Logger.debug("unrecognized Object [" + o.getClass().getName() + "]"); } } }