<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -11,9 +11,9 @@ public interface ITitaniumDialog {
 
 	public void setTitle(String title);
 	public void setMessage(String msg);
-	public void addListener(String eventName, String listener);
+	public int addEventListener(String eventName, String listener);
+	public void removeEventListener(String eventName, int listenerId);
 	public void setButtons(String[] buttonText);
 	public void setOptions(String[] optionText);
 	public void show();
-	//TODO add removeEventListener
 }</diff>
      <filename>android/titanium/src/org/appcelerator/titanium/api/ITitaniumDialog.java</filename>
    </modified>
    <modified>
      <diff>@@ -58,12 +58,20 @@ public class TitaniumDialog implements ITitaniumDialog
 		builder.setTitle(title);
 	}
 
-	public void addListener(String eventName, String listener) {
+	public int addEventListener(String eventName, String listener) {
 		if(eventName == null || !eventName.toLowerCase().equals(CLICK_EVENT)) {
 			throw new IllegalStateException(&quot;TitaniumDialog only handles listeners named: &quot; + CLICK_EVENT);
 		}
 
-		eventListeners.addListener(eventName, listener);
+		return eventListeners.addListener(eventName, listener);
+	}
+
+	public void removeEventListener(String eventName, int listenerId) {
+		if(eventName == null || !eventName.toLowerCase().equals(CLICK_EVENT)) {
+			throw new IllegalStateException(&quot;TitaniumDialog only handles listeners named: &quot; + CLICK_EVENT);
+		}
+
+		eventListeners.removeListener(eventName, listenerId);
 	}
 
 	public void setButtons(String[] buttonText)</diff>
      <filename>android/titanium/src/org/appcelerator/titanium/module/ui/TitaniumDialog.java</filename>
    </modified>
    <modified>
      <diff>@@ -123,7 +123,7 @@ public class TitaniumJSEventManager
 
 	public void removeListener(String eventName, int eventId)
 	{
-		if (eventId &lt; 0 || eventListeners == null) {
+		if (eventId &gt; -1 &amp;&amp; eventListeners != null) {
 			checkSupportsEvent(eventName); // Throws exception of failure
 
 			HashMap&lt;Integer, TitaniumJSEvent&gt; listeners = eventListeners.get(eventName);</diff>
      <filename>android/titanium/src/org/appcelerator/titanium/util/TitaniumJSEventManager.java</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>8f3b0b667365c8a8aa03fcea5a7452e1cf02279f</id>
    </parent>
  </parents>
  <author>
    <name>donthorp</name>
    <email>don@donthorp.net</email>
  </author>
  <url>http://github.com/appcelerator/titanium_mobile/commit/6d1748dc3f240e0bc9512be31c1dff4fb7ec7217</url>
  <id>6d1748dc3f240e0bc9512be31c1dff4fb7ec7217</id>
  <committed-date>2009-06-30T10:02:07-07:00</committed-date>
  <authored-date>2009-06-30T10:02:07-07:00</authored-date>
  <message>[43 state:resolved] Fixed added removeEventListener for dialogs and fixed bug where removeListener wasn't removing valid listeners</message>
  <tree>894b0be86ae2010d08b681e2bf6b4777596c0a01</tree>
  <committer>
    <name>donthorp</name>
    <email>don@donthorp.net</email>
  </committer>
</commit>
