show proper avatar for 'self' contact. fixes #2138

Daniel Gultsch created

Change summary

src/main/java/eu/siacs/conversations/services/AvatarService.java       | 3 
src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java | 8 
2 files changed, 9 insertions(+), 2 deletions(-)

Detailed changes

src/main/java/eu/siacs/conversations/services/AvatarService.java 🔗

@@ -44,6 +44,9 @@ public class AvatarService implements OnAdvancedStreamFeaturesLoaded {
 	}
 
 	private Bitmap get(final Contact contact, final int size, boolean cachedOnly) {
+		if (contact.isSelf()) {
+			return get(contact.getAccount(),size,cachedOnly);
+		}
 		final String KEY = key(contact, size);
 		Bitmap avatar = this.mXmppConnectionService.getBitmapCache().get(KEY);
 		if (avatar != null || cachedOnly) {

src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java 🔗

@@ -1056,10 +1056,14 @@ public class StartConversationActivity extends XmppActivity implements OnRosterU
                 activity.conference_context_id = acmi.position;
             } else if (mResContextMenu == R.menu.contact_context) {
                 activity.contact_context_id = acmi.position;
-                final Blockable contact = (Contact) activity.contacts.get(acmi.position);
+                final Contact contact = (Contact) activity.contacts.get(acmi.position);
                 final MenuItem blockUnblockItem = menu.findItem(R.id.context_contact_block_unblock);
+                final MenuItem showContactDetailsItem = menu.findItem(R.id.context_contact_details);
+                if (contact.isSelf()) {
+                    showContactDetailsItem.setVisible(false);
+                }
                 XmppConnection xmpp = contact.getAccount().getXmppConnection();
-                if (xmpp != null && xmpp.getFeatures().blocking()) {
+                if (xmpp != null && xmpp.getFeatures().blocking() && !contact.isSelf()) {
                     if (contact.isBlocked()) {
                         blockUnblockItem.setTitle(R.string.unblock_contact);
                     } else {