Correctly initialize conversation after message sent.

This commit is contained in:
Moxie Marlinspike
2012-07-31 16:27:58 -07:00
parent 853e12693d
commit bc8f26c591
3 changed files with 17 additions and 45 deletions

View File

@@ -551,9 +551,12 @@ public class ConversationActivity extends SherlockFragmentActivity {
this.threadId = threadId;
if (this.recipientsPanel.getVisibility() == View.VISIBLE) {
///XXX call down to fragment! ??
ConversationFragment fragment
= (ConversationFragment)this.getSupportFragmentManager()
.findFragmentById(R.id.fragment_content);
fragment.reload(recipients, threadId);
// initializeConversationAdapter();
this.recipientsPanel.setVisibility(View.GONE);
initializeTitleBar();
}

View File

@@ -47,8 +47,6 @@ public class ConversationFragment extends SherlockListFragment
initializeResources();
initializeListAdapter();
registerForContextMenu(getListView());
getLoaderManager().initLoader(0, null, this);
}
@Override
@@ -75,6 +73,13 @@ public class ConversationFragment extends SherlockListFragment
return false;
}
public void reload(Recipients recipients, long threadId) {
this.recipients = recipients;
this.threadId = threadId;
initializeListAdapter();
}
private void handleCopyMessage(MessageRecord message) {
String body = message.getBody();
if (body == null) return;
@@ -141,17 +146,15 @@ public class ConversationFragment extends SherlockListFragment
private void initializeListAdapter() {
if (this.recipients != null && this.threadId != -1) {
this.setListAdapter(new ConversationAdapter(recipients, threadId, getActivity(), masterSecret, new FailedIconClickHandler()));
this.setListAdapter(new ConversationAdapter(recipients, threadId, getActivity(),
masterSecret, new FailedIconClickHandler()));
getLoaderManager().initLoader(0, null, this);
}
}
@Override
public Loader<Cursor> onCreateLoader(int arg0, Bundle arg1) {
if (this.threadId != -1) {
return new ConversationLoader(getActivity(), threadId);
} else {
return null;
}
return new ConversationLoader(getActivity(), threadId);
}
@Override