From da4a4021eefe975599b2aae135b66b6866979d4d Mon Sep 17 00:00:00 2001 From: Sebastian Kaspari Date: Mon, 26 Apr 2010 22:14:39 +0200 Subject: [PATCH] Bugfix: Do not reconnect if user disconnects --- src/org/yaaic/activity/ConversationActivity.java | 2 +- src/org/yaaic/activity/ServersActivity.java | 1 + src/org/yaaic/irc/IRCConnection.java | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/org/yaaic/activity/ConversationActivity.java b/src/org/yaaic/activity/ConversationActivity.java index b9c8cca..06a0fc0 100644 --- a/src/org/yaaic/activity/ConversationActivity.java +++ b/src/org/yaaic/activity/ConversationActivity.java @@ -282,8 +282,8 @@ public class ConversationActivity extends Activity implements ServiceConnection, { switch (item.getItemId()) { case R.id.disconnect: - binder.getService().getConnection(serverId).quitServer(); server.setStatus(Status.DISCONNECTED); + binder.getService().getConnection(serverId).quitServer(); server.clearConversations(); setResult(RESULT_OK); finish(); diff --git a/src/org/yaaic/activity/ServersActivity.java b/src/org/yaaic/activity/ServersActivity.java index d5b276b..73a5513 100644 --- a/src/org/yaaic/activity/ServersActivity.java +++ b/src/org/yaaic/activity/ServersActivity.java @@ -178,6 +178,7 @@ public class ServersActivity extends ListActivity implements ServiceConnection, break; case 1: // Disconnect server.clearConversations(); + server.setStatus(Status.DISCONNECTED); binder.getService().getConnection(server.getId()).quitServer(); break; case 2: // Edit diff --git a/src/org/yaaic/irc/IRCConnection.java b/src/org/yaaic/irc/IRCConnection.java index 481b16b..d14c784 100644 --- a/src/org/yaaic/irc/IRCConnection.java +++ b/src/org/yaaic/irc/IRCConnection.java @@ -989,7 +989,7 @@ public class IRCConnection extends PircBot @Override public void onDisconnect() { - if (service.getSettings().isReconnectEnabled()) { + if (service.getSettings().isReconnectEnabled() && server.getStatus() != Status.DISCONNECTED) { setAutojoinChannels(server.getCurrentChannelNames()); server.clearConversations();