mirror of
https://github.com/moparisthebest/Yaaic
synced 2024-11-22 08:52:18 -05:00
aaf3f3e332
When the user asks for a disconnect from the ConversationActivity, there is a race between the IRCConnection, which is waiting for the server to acknowledge the QUIT before calling onDisconnect(), and the IRCService, which will invoke dispose() on the IRCConnection when checkServiceStatus() is called during the activity shutdown. If the dispose() wins, the thread running the onDisconnect() is terminated, leading to the cleanup being unfinished. This causes the disconnect notification to be unreliable, and can result in the list of servers in the ongoing notification to be out of sync with reality. To fix this, introduce a new field isQuitting to the IRCConnection, which is set to true when quitServer() is called and cleared once onDisconnect() has finished. If dispose() is called while isQuitting is set, it sets disposeRequested instead of doing the dispose itself, and onDisconnect() will call through to super.dispose() once it's finished. Note that this requires a change to PircBot to allow the overriding of quitServer(String message), which is declared final upstream. |
||
---|---|---|
application | ||
test | ||
tools | ||
.gitignore | ||
build.conf.sample | ||
CHANGELOG | ||
CONTRIBUTORS | ||
LICENCE | ||
README | ||
release.sh | ||
test.sh |
Yaaic - Yet Another Android IRC Client Yaaic is as the full name already says an Internet Relay Chat (IRC) client for Android devices. -------------------------------------------------------------------- This is the source code distribution of Yaaic. If you are looking for a compiled 'ready to use' version (APK), see the official homepage at: http://www.yaaic.org Yaaic is also avaiable at the official Android market. If you are a developer and want to contribute to Yaaic, checkout our repository at github: http://github.com/pocmo/Yaaic The application project is located in application/ while the test/ folder contains unit and scenario tests. (Both folders are two separate eclipse projects!) Drop me a line for questions regarding Yaaic or use one of the following ressources: IRC: irc.epd-me.net #yaaic Homepage: http://www.yaaic.org Google Group: http://groups.google.com/group/yaaic/ Twitter: http://twitter.com/Yaaic Facebook: http://www.facebook.com/pages/Yaaic/359902798214 -------------------------------------------------------------------- Yaaic includes the PircBot IRC API written by Paul Mutton available under the GNU General Public License (GPL). http://www.jibble.org The Yaaic icon was designed by http://www.androidicons.com Some icons are part of the Silk icon set designed by Mark James available under the Creative Commons Licence Attribution 3.0 Licence. http://www.famfamfam.com -------------------------------------------------------------------- Copyright 2009-2011 Sebastian Kaspari Yaaic is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Yaaic is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Yaaic. If not, see http://www.gnu.org/licenses/