1
0
mirror of https://github.com/moparisthebest/Yaaic synced 2024-11-26 02:42:16 -05:00

Don't scroll to a conversation in onCreate() unless it was previously selected

This has two advantages:
(1) The activity remembers which conversation was last selected if it's
    destroyed (e.g. via the Back button) and then recreated with the connection
    still running.
(2) It prevents onCreate() from clearing all the mentioned notifications for
    the conversations in that activity.
This commit is contained in:
Steven Luo 2011-05-29 17:49:42 -07:00 committed by Sebastian Kaspari
parent 3102340762
commit f1b57c9e25

View File

@ -166,7 +166,12 @@ public class ConversationActivity extends Activity implements ServiceConnection,
Collection<Conversation> mConversations = server.getConversations(); Collection<Conversation> mConversations = server.getConversations();
for (Conversation conversation : mConversations) { for (Conversation conversation : mConversations) {
onNewConversation(conversation.getName()); // Only scroll to new conversation if it was selected before
if (conversation.getStatus() == Conversation.STATUS_SELECTED) {
onNewConversation(conversation.getName());
} else {
createNewConversation(conversation.getName());
}
} }
// keep compatibility with api level 3 // keep compatibility with api level 3
@ -430,13 +435,17 @@ public class ConversationActivity extends Activity implements ServiceConnection,
@Override @Override
public void onNewConversation(String target) public void onNewConversation(String target)
{ {
deckAdapter.addItem(server.getConversation(target)); createNewConversation(target);
if (!deckAdapter.isSwitched()) { if (!deckAdapter.isSwitched()) {
// Scroll to new conversation // Scroll to new conversation
deck.setSelection(deckAdapter.getCount() - 1); deck.setSelection(deckAdapter.getCount() - 1);
} }
} }
public void createNewConversation(String target)
{
deckAdapter.addItem(server.getConversation(target));
}
/** /**
* On conversation remove * On conversation remove