aboutsummaryrefslogtreecommitdiffstats
path: root/src/eu/siacs/conversations/ui
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/eu/siacs/conversations/ui/ConferenceDetailsActivity.java31
-rw-r--r--src/eu/siacs/conversations/ui/ContactDetailsActivity.java3
-rw-r--r--src/eu/siacs/conversations/ui/PublishProfilePictureActivity.java4
-rw-r--r--src/eu/siacs/conversations/ui/XmppActivity.java5
-rw-r--r--src/eu/siacs/conversations/ui/adapter/AccountAdapter.java4
-rw-r--r--src/eu/siacs/conversations/ui/adapter/ConversationAdapter.java5
-rw-r--r--src/eu/siacs/conversations/ui/adapter/ListItemAdapter.java4
-rw-r--r--src/eu/siacs/conversations/ui/adapter/MessageAdapter.java69
8 files changed, 39 insertions, 86 deletions
diff --git a/src/eu/siacs/conversations/ui/ConferenceDetailsActivity.java b/src/eu/siacs/conversations/ui/ConferenceDetailsActivity.java
index 98bf70ed7..6b4642cbe 100644
--- a/src/eu/siacs/conversations/ui/ConferenceDetailsActivity.java
+++ b/src/eu/siacs/conversations/ui/ConferenceDetailsActivity.java
@@ -7,14 +7,12 @@ import org.openintents.openpgp.util.OpenPgpUtils;
import eu.siacs.conversations.R;
import eu.siacs.conversations.crypto.PgpEngine;
-import eu.siacs.conversations.entities.Account;
import eu.siacs.conversations.entities.Contact;
import eu.siacs.conversations.entities.Conversation;
import eu.siacs.conversations.entities.MucOptions;
import eu.siacs.conversations.entities.MucOptions.OnRenameListener;
import eu.siacs.conversations.entities.MucOptions.User;
import eu.siacs.conversations.services.XmppConnectionService.OnConversationUpdate;
-import eu.siacs.conversations.utils.UIHelper;
import eu.siacs.conversations.xmpp.stanzas.MessagePacket;
import android.app.PendingIntent;
import android.content.Context;
@@ -201,8 +199,8 @@ public class ConferenceDetailsActivity extends XmppActivity {
private void populateView() {
mAccountJid.setText(getString(R.string.using_account, conversation
.getAccount().getJid()));
- mYourPhoto.setImageBitmap(xmppConnectionService.getAvatarService()
- .getAvatar(conversation.getAccount(), getPixel(48)));
+ mYourPhoto.setImageBitmap(avatarService().get(
+ conversation.getAccount(), getPixel(48)));
setTitle(conversation.getName());
mFullJid.setText(conversation.getContactJid().split("/", 2)[0]);
mYourNick.setText(conversation.getMucOptions().getActualNick());
@@ -228,7 +226,6 @@ public class ConferenceDetailsActivity extends XmppActivity {
this.users.addAll(conversation.getMucOptions().getUsers());
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
membersView.removeAllViews();
- Account account = conversation.getAccount();
for (final User user : conversation.getMucOptions().getUsers()) {
View view = (View) inflater.inflate(R.layout.contact, membersView,
false);
@@ -248,24 +245,14 @@ public class ConferenceDetailsActivity extends XmppActivity {
key.setText(OpenPgpUtils.convertKeyIdToHex(user.getPgpKeyId()));
}
Bitmap bm;
- if (user.getJid() != null) {
- Contact contact = account.getRoster().getContactFromRoster(
- user.getJid());
- if (contact != null) {
- bm = xmppConnectionService.getAvatarService().getAvatar(
- contact, getPixel(48));
- name.setText(contact.getDisplayName());
- role.setText(user.getName() + " \u2022 "
- + getReadableRole(user.getRole()));
- } else {
- bm = xmppConnectionService.getAvatarService().getAvatar(
- user.getName(), getPixel(48));
- name.setText(user.getName());
- role.setText(getReadableRole(user.getRole()));
- }
+ Contact contact = user.getContact();
+ if (contact != null) {
+ bm = avatarService().get(contact, getPixel(48));
+ name.setText(contact.getDisplayName());
+ role.setText(user.getName() + " \u2022 "
+ + getReadableRole(user.getRole()));
} else {
- bm = xmppConnectionService.getAvatarService().getAvatar(
- user.getName(), getPixel(48));
+ bm = avatarService().get(user.getName(), getPixel(48));
name.setText(user.getName());
role.setText(getReadableRole(user.getRole()));
}
diff --git a/src/eu/siacs/conversations/ui/ContactDetailsActivity.java b/src/eu/siacs/conversations/ui/ContactDetailsActivity.java
index d43eee596..ae26466e3 100644
--- a/src/eu/siacs/conversations/ui/ContactDetailsActivity.java
+++ b/src/eu/siacs/conversations/ui/ContactDetailsActivity.java
@@ -386,8 +386,7 @@ public class ContactDetailsActivity extends XmppActivity {
long id = Long.parseLong(systemAccount[0]);
badge.assignContactUri(Contacts.getLookupUri(id, systemAccount[1]));
}
- badge.setImageBitmap(xmppConnectionService.getAvatarService()
- .getAvatar(contact, getPixel(72)));
+ badge.setImageBitmap(avatarService().get(contact, getPixel(72)));
}
protected void confirmToDeleteFingerprint(final String fingerprint) {
diff --git a/src/eu/siacs/conversations/ui/PublishProfilePictureActivity.java b/src/eu/siacs/conversations/ui/PublishProfilePictureActivity.java
index 243303618..6aa40c418 100644
--- a/src/eu/siacs/conversations/ui/PublishProfilePictureActivity.java
+++ b/src/eu/siacs/conversations/ui/PublishProfilePictureActivity.java
@@ -158,8 +158,8 @@ public class PublishProfilePictureActivity extends XmppActivity {
if (this.avatarUri == null) {
if (this.account.getAvatar() != null
|| this.defaultUri == null) {
- // this.avatar.setImageBitmap(this.account.getImage(getApplicationContext(),
- // 384));
+ this.avatar.setImageBitmap(avatarService().get(account,
+ getPixel(194)));
if (this.defaultUri != null) {
this.avatar
.setOnLongClickListener(this.backToDefaultListener);
diff --git a/src/eu/siacs/conversations/ui/XmppActivity.java b/src/eu/siacs/conversations/ui/XmppActivity.java
index ca1bf4656..d26f0e31d 100644
--- a/src/eu/siacs/conversations/ui/XmppActivity.java
+++ b/src/eu/siacs/conversations/ui/XmppActivity.java
@@ -12,6 +12,7 @@ import eu.siacs.conversations.entities.Contact;
import eu.siacs.conversations.entities.Conversation;
import eu.siacs.conversations.entities.Message;
import eu.siacs.conversations.entities.Presences;
+import eu.siacs.conversations.services.AvatarService;
import eu.siacs.conversations.services.XmppConnectionService;
import eu.siacs.conversations.services.XmppConnectionService.XmppConnectionBinder;
import eu.siacs.conversations.utils.ExceptionHelper;
@@ -531,6 +532,10 @@ public abstract class XmppActivity extends Activity {
return ((int) (dp * metrics.density));
}
+ public AvatarService avatarService() {
+ return xmppConnectionService.getAvatarService();
+ }
+
class BitmapWorkerTask extends AsyncTask<Message, Void, Bitmap> {
private final WeakReference<ImageView> imageViewReference;
private Message message = null;
diff --git a/src/eu/siacs/conversations/ui/adapter/AccountAdapter.java b/src/eu/siacs/conversations/ui/adapter/AccountAdapter.java
index 402299534..4ca21a3b3 100644
--- a/src/eu/siacs/conversations/ui/adapter/AccountAdapter.java
+++ b/src/eu/siacs/conversations/ui/adapter/AccountAdapter.java
@@ -34,8 +34,8 @@ public class AccountAdapter extends ArrayAdapter<Account> {
jid.setText(account.getJid());
TextView statusView = (TextView) view.findViewById(R.id.account_status);
ImageView imageView = (ImageView) view.findViewById(R.id.account_image);
- imageView.setImageBitmap(activity.xmppConnectionService
- .getAvatarService().getAvatar(account, activity.getPixel(48)));
+ imageView.setImageBitmap(activity.avatarService().get(account,
+ activity.getPixel(48)));
switch (account.getStatus()) {
case Account.STATUS_DISABLED:
statusView.setText(getContext().getString(
diff --git a/src/eu/siacs/conversations/ui/adapter/ConversationAdapter.java b/src/eu/siacs/conversations/ui/adapter/ConversationAdapter.java
index 1fea8dcf8..183c89fad 100644
--- a/src/eu/siacs/conversations/ui/adapter/ConversationAdapter.java
+++ b/src/eu/siacs/conversations/ui/adapter/ConversationAdapter.java
@@ -127,9 +127,8 @@ public class ConversationAdapter extends ArrayAdapter<Conversation> {
ImageView profilePicture = (ImageView) view
.findViewById(R.id.conversation_image);
- profilePicture.setImageBitmap(activity.xmppConnectionService
- .getAvatarService().getAvatar(conversation,
- activity.getPixel(56)));
+ profilePicture.setImageBitmap(activity.avatarService().get(
+ conversation, activity.getPixel(56)));
return view;
}
diff --git a/src/eu/siacs/conversations/ui/adapter/ListItemAdapter.java b/src/eu/siacs/conversations/ui/adapter/ListItemAdapter.java
index 64e077a37..977aa7b57 100644
--- a/src/eu/siacs/conversations/ui/adapter/ListItemAdapter.java
+++ b/src/eu/siacs/conversations/ui/adapter/ListItemAdapter.java
@@ -36,8 +36,8 @@ public class ListItemAdapter extends ArrayAdapter<ListItem> {
jid.setText(item.getJid());
name.setText(item.getDisplayName());
- picture.setImageBitmap(activity.xmppConnectionService
- .getAvatarService().getAvatar(item, activity.getPixel(48)));
+ picture.setImageBitmap(activity.avatarService().get(item,
+ activity.getPixel(48)));
return view;
}
diff --git a/src/eu/siacs/conversations/ui/adapter/MessageAdapter.java b/src/eu/siacs/conversations/ui/adapter/MessageAdapter.java
index bc5b33877..a9a55cbf4 100644
--- a/src/eu/siacs/conversations/ui/adapter/MessageAdapter.java
+++ b/src/eu/siacs/conversations/ui/adapter/MessageAdapter.java
@@ -1,6 +1,5 @@
package eu.siacs.conversations.ui.adapter;
-import java.util.HashMap;
import java.util.List;
import eu.siacs.conversations.Config;
@@ -12,9 +11,7 @@ import eu.siacs.conversations.entities.Message;
import eu.siacs.conversations.entities.Message.ImageParams;
import eu.siacs.conversations.ui.ConversationActivity;
import eu.siacs.conversations.utils.UIHelper;
-import android.content.Context;
import android.content.Intent;
-import android.graphics.Bitmap;
import android.graphics.Typeface;
import android.text.Spannable;
import android.text.SpannableString;
@@ -41,9 +38,6 @@ public class MessageAdapter extends ArrayAdapter<Message> {
private ConversationActivity activity;
- private Bitmap accountBitmap;
-
- private BitmapCache mBitmapCache = new BitmapCache();
private DisplayMetrics metrics;
private OnContactPictureClicked mOnContactPictureClickedListener;
@@ -55,19 +49,6 @@ public class MessageAdapter extends ArrayAdapter<Message> {
metrics = getContext().getResources().getDisplayMetrics();
}
- private Bitmap getSelfBitmap() {
- if (this.accountBitmap == null) {
-
- if (getCount() > 0) {
- this.accountBitmap = activity.xmppConnectionService
- .getAvatarService().getAvatar(
- getItem(0).getConversation().getAccount(),
- activity.getPixel(48));
- }
- }
- return this.accountBitmap;
- }
-
public void setOnContactPictureClicked(OnContactPictureClicked listener) {
this.mOnContactPictureClickedListener = listener;
}
@@ -349,7 +330,10 @@ public class MessageAdapter extends ArrayAdapter<Message> {
.findViewById(R.id.message_box);
viewHolder.contact_picture = (ImageView) view
.findViewById(R.id.message_photo);
- viewHolder.contact_picture.setImageBitmap(getSelfBitmap());
+ viewHolder.contact_picture.setImageBitmap(activity
+ .avatarService().get(
+ item.getConversation().getAccount(),
+ activity.getPixel(48)));
viewHolder.download_button = (Button) view
.findViewById(R.id.download_button);
viewHolder.indicator = (ImageView) view
@@ -374,8 +358,9 @@ public class MessageAdapter extends ArrayAdapter<Message> {
viewHolder.download_button = (Button) view
.findViewById(R.id.download_button);
if (item.getConversation().getMode() == Conversation.MODE_SINGLE) {
- viewHolder.contact_picture.setImageBitmap(mBitmapCache.get(
- item.getConversation().getContact(), getContext()));
+ viewHolder.contact_picture.setImageBitmap(activity
+ .avatarService().get(item.getContact(),
+ activity.getPixel(48)));
}
viewHolder.indicator = (ImageView) view
.findViewById(R.id.security_indicator);
@@ -394,8 +379,10 @@ public class MessageAdapter extends ArrayAdapter<Message> {
.findViewById(R.id.message_photo);
if (item.getConversation().getMode() == Conversation.MODE_SINGLE) {
- viewHolder.contact_picture.setImageBitmap(mBitmapCache.get(
- item.getConversation().getContact(), getContext()));
+ viewHolder.contact_picture.setImageBitmap(activity
+ .avatarService().get(
+ item.getConversation().getContact(),
+ activity.getPixel(32)));
viewHolder.contact_picture.setAlpha(0.5f);
viewHolder.contact_picture
.setOnClickListener(new OnClickListener() {
@@ -471,15 +458,16 @@ public class MessageAdapter extends ArrayAdapter<Message> {
if (item.getConversation().getMode() == Conversation.MODE_MULTI) {
Contact contact = item.getContact();
if (contact != null) {
- viewHolder.contact_picture.setImageBitmap(mBitmapCache.get(
- contact, getContext()));
+ viewHolder.contact_picture.setImageBitmap(activity
+ .avatarService()
+ .get(contact, activity.getPixel(48)));
} else {
String name = item.getPresence();
if (name == null) {
name = item.getCounterpart();
}
- viewHolder.contact_picture.setImageBitmap(mBitmapCache.get(
- name, getContext()));
+ viewHolder.contact_picture.setImageBitmap(activity
+ .avatarService().get(name, activity.getPixel(48)));
}
}
}
@@ -562,31 +550,6 @@ public class MessageAdapter extends ArrayAdapter<Message> {
}
- private class BitmapCache {
- private HashMap<String, Bitmap> contactBitmaps = new HashMap<String, Bitmap>();
- private HashMap<String, Bitmap> unknownBitmaps = new HashMap<String, Bitmap>();
-
- public Bitmap get(Contact contact, Context context) {
- if (!contactBitmaps.containsKey(contact.getJid())) {
- contactBitmaps.put(contact.getJid(),
- activity.xmppConnectionService.getAvatarService()
- .getAvatar(contact, activity.getPixel(48)));
- }
- return contactBitmaps.get(contact.getJid());
- }
-
- public Bitmap get(String name, Context context) {
- if (unknownBitmaps.containsKey(name)) {
- return unknownBitmaps.get(name);
- } else {
- Bitmap bm = activity.xmppConnectionService.getAvatarService()
- .getAvatar(name, activity.getPixel(48));
- unknownBitmaps.put(name, bm);
- return bm;
- }
- }
- }
-
public interface OnContactPictureClicked {
public void onContactPictureClicked(Message message);
}