will update messages on conversation update as well

Daniel Gultsch created

Change summary

src/de/gultsch/chat/ui/ConversationActivity.java |  4 ++++
src/de/gultsch/chat/ui/ConversationFragment.java | 14 +++++++++++---
2 files changed, 15 insertions(+), 3 deletions(-)

Detailed changes

src/de/gultsch/chat/ui/ConversationActivity.java 🔗

@@ -73,6 +73,10 @@ public class ConversationActivity extends XmppActivity {
 							finish();
 						}
 					}
+					ConversationFragment selectedFragment = (ConversationFragment) getFragmentManager().findFragmentByTag("conversation");
+					if (selectedFragment!=null) {
+						selectedFragment.updateMessages();
+					}
 				}
 			});
 		}

src/de/gultsch/chat/ui/ConversationFragment.java 🔗

@@ -31,7 +31,8 @@ public class ConversationFragment extends Fragment {
 	protected ListView messagesView;
 	protected LayoutInflater inflater;
 	protected List<Message> messageList = new ArrayList<Message>();
-
+	protected ArrayAdapter<Message> messageListAdapter;
+	
 	@Override
 	public View onCreateView(final LayoutInflater inflater,
 			ViewGroup container, Bundle savedInstanceState) {
@@ -76,7 +77,7 @@ public class ConversationFragment extends Fragment {
 		mProfileCursor.moveToFirst();
 		final Uri profilePicture = Uri.parse(mProfileCursor.getString(1));
 		
-		messagesView.setAdapter(new ArrayAdapter<Message>(this.getActivity()
+		messageListAdapter = new ArrayAdapter<Message>(this.getActivity()
 				.getApplicationContext(), R.layout.message_sent, this.messageList) {
 
 			private static final int SENT = 0;
@@ -134,7 +135,8 @@ public class ConversationFragment extends Fragment {
 				}
 				return view;
 			}
-		});
+		};
+		messagesView.setAdapter(messageListAdapter);
 
 		return view;
 	}
@@ -180,4 +182,10 @@ public class ConversationFragment extends Fragment {
 			activity.invalidateOptionsMenu();
 		}
 	}
+
+	public void updateMessages() {
+		this.messageList.clear();
+		this.messageList.addAll(this.conversation.getMessages());
+		this.messageListAdapter.notifyDataSetChanged();
+	}
 }