Show the name of the sender in search results
Stephen Paul Weber
created
Just like a MUC, search results lack the context to be sure who sent a message,
so show the name in the result item.
Change summary
src/main/java/eu/siacs/conversations/ui/SearchActivity.java | 2
src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java | 7
2 files changed, 7 insertions(+), 2 deletions(-)
Detailed changes
@@ -97,7 +97,7 @@ public class SearchActivity extends XmppActivity implements TextWatcher, OnSearc
this.binding = DataBindingUtil.setContentView(this, R.layout.activity_search);
setSupportActionBar(this.binding.toolbar);
configureActionBar(getSupportActionBar());
- this.messageListAdapter = new MessageAdapter(this, this.messages);
+ this.messageListAdapter = new MessageAdapter(this, this.messages, true);
this.messageListAdapter.setOnContactPictureClicked(this);
this.binding.searchResults.setAdapter(messageListAdapter);
registerForContextMenu(this.binding.searchResults);
@@ -93,6 +93,7 @@ public class MessageAdapter extends ArrayAdapter<Message> {
private OnContactPictureClicked mOnContactPictureClickedListener;
private OnContactPictureLongClicked mOnContactPictureLongClickedListener;
private boolean mUseGreenBackground = false;
+ private boolean mForceNames = false;
public MessageAdapter(XmppActivity activity, List<Message> messages) {
super(activity, 0, messages);
@@ -102,6 +103,10 @@ public class MessageAdapter extends ArrayAdapter<Message> {
updatePreferences();
}
+ public MessageAdapter(XmppActivity activity, List<Message> messages, boolean forceNames) {
+ this(activity, messages);
+ mForceNames = forceNames;
+ }
private static void resetClickListener(View... views) {
for (View view : views) {
@@ -239,7 +244,7 @@ public class MessageAdapter extends ArrayAdapter<Message> {
error = true;
break;
default:
- if (multiReceived) {
+ if (mForceNames || multiReceived) {
info = UIHelper.getMessageDisplayName(message);
}
break;