do not include read only chats in contact chooser. fixes #3077

This commit is contained in:
Daniel Gultsch 2018-06-16 19:00:23 +02:00
parent b9bdb3df55
commit f434925753
2 changed files with 9 additions and 4 deletions

View File

@ -903,7 +903,7 @@ public class Conversation extends AbstractEntity implements Blockable, Comparabl
return count;
}
private int sentMessagesCount() {
public int sentMessagesCount() {
int count = 0;
synchronized (this.messages) {
for (Message message : messages) {

View File

@ -44,14 +44,19 @@ public class ContactChooserTargetService extends ChooserTargetService implements
mXmppConnectionService.populateWithOrderedConversations(conversations, false);
final ComponentName componentName = new ComponentName(this, ShareWithActivity.class);
final int pixel = (int) (48 * getResources().getDisplayMetrics().density);
for(int i = 0; i < Math.min(conversations.size(),MAX_TARGETS); ++i) {
final Conversation conversation = conversations.get(i);
for(Conversation conversation : conversations) {
if (conversation.sentMessagesCount() == 0) {
continue;
}
final String name = conversation.getName().toString();
final Icon icon = Icon.createWithBitmap(mXmppConnectionService.getAvatarService().get(conversation, pixel));
final float score = 1 - (1.0f / MAX_TARGETS) * i;
final float score = 1 - (1.0f / MAX_TARGETS) * chooserTargets.size();
final Bundle extras = new Bundle();
extras.putString("uuid", conversation.getUuid());
chooserTargets.add(new ChooserTarget(name, icon, score, componentName, extras));
if (chooserTargets.size() >= MAX_TARGETS) {
break;
}
}
} catch (InterruptedException e) {
}