diff --git a/src/org/yaaic/adapter/DeckAdapter.java b/src/org/yaaic/adapter/DeckAdapter.java index c0c77bb..7df7053 100644 --- a/src/org/yaaic/adapter/DeckAdapter.java +++ b/src/org/yaaic/adapter/DeckAdapter.java @@ -92,7 +92,6 @@ public class DeckAdapter extends BaseAdapter public void addItem(Channel channel) { channels.add(channel); - //views.add(view); notifyDataSetChanged(); } @@ -120,11 +119,6 @@ public class DeckAdapter extends BaseAdapter public void removeItem(Channel channel) { channels.remove(channel); - /* - View view = map.get(channel); - views.remove(view); - map.remove(channel); - */ notifyDataSetChanged(); } diff --git a/src/org/yaaic/model/Server.java b/src/org/yaaic/model/Server.java index d41c473..2f89c6b 100644 --- a/src/org/yaaic/model/Server.java +++ b/src/org/yaaic/model/Server.java @@ -190,7 +190,7 @@ public class Server } /** - * Renive a (joined) channel + * Remove a (joined) channel * * @param name */ @@ -199,6 +199,14 @@ public class Server channels.remove(name); } + /** + * Remove all channels + */ + public void clearChannels() + { + channels.clear(); + } + /** * Get icon for current server status * diff --git a/src/org/yaaic/view/ServerActivity.java b/src/org/yaaic/view/ServerActivity.java index d295ca2..a68577a 100644 --- a/src/org/yaaic/view/ServerActivity.java +++ b/src/org/yaaic/view/ServerActivity.java @@ -153,6 +153,7 @@ public class ServerActivity extends Activity implements ServiceConnection, Chann switch (item.getItemId()) { case R.id.disconnect: binder.getService().getConnection(serverId).quitServer(); + server.clearChannels(); setResult(RESULT_OK); finish(); break; diff --git a/src/org/yaaic/view/ServersActivity.java b/src/org/yaaic/view/ServersActivity.java index 9a6ce6f..93c255c 100644 --- a/src/org/yaaic/view/ServersActivity.java +++ b/src/org/yaaic/view/ServersActivity.java @@ -63,7 +63,8 @@ public class ServersActivity extends ListActivity implements ServiceConnection, private ServerListAdapter adapter; @Override - public void onCreate(Bundle savedInstanceState) { + public void onCreate(Bundle savedInstanceState) + { super.onCreate(savedInstanceState); setContentView(R.layout.servers); @@ -82,9 +83,8 @@ public class ServersActivity extends ListActivity implements ServiceConnection, Intent intent = new Intent(this, IRCService.class); startService(intent); bindService(intent, this, 0); - + receiver = new ServerReceiver(this); - registerReceiver(receiver, new IntentFilter(Broadcast.SERVER_UPDATE)); } @@ -158,6 +158,7 @@ public class ServersActivity extends ListActivity implements ServiceConnection, adapter.notifyDataSetChanged(); break; case 1: // Disconnect + server.clearChannels(); binder.getService().getConnection(server.getId()).quitServer(); break; case 2: // Delete @@ -186,7 +187,8 @@ public class ServersActivity extends ListActivity implements ServiceConnection, } @Override - public boolean onMenuItemSelected(int featureId, MenuItem item) { + public boolean onMenuItemSelected(int featureId, MenuItem item) + { switch (item.getItemId()) { case R.id.add: startActivityForResult(new Intent(this, AddServerActivity.class), 0); @@ -197,7 +199,8 @@ public class ServersActivity extends ListActivity implements ServiceConnection, } @Override - protected void onActivityResult(int requestCode, int resultCode, Intent data) { + protected void onActivityResult(int requestCode, int resultCode, Intent data) + { if (resultCode == RESULT_OK) { // Refresh list from database adapter.loadServers();