From 937fc51b503344948997a1924ee6fdba23850315 Mon Sep 17 00:00:00 2001 From: iNPUTmice Date: Sat, 9 Aug 2014 10:20:16 +0200 Subject: added warning lable if server doesn't support pubsub. refactored feature identification into seperate class --- .../ui/PublishProfilePictureActivity.java | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'src/eu/siacs/conversations/ui/PublishProfilePictureActivity.java') diff --git a/src/eu/siacs/conversations/ui/PublishProfilePictureActivity.java b/src/eu/siacs/conversations/ui/PublishProfilePictureActivity.java index e0e0826af..0661f1a9c 100644 --- a/src/eu/siacs/conversations/ui/PublishProfilePictureActivity.java +++ b/src/eu/siacs/conversations/ui/PublishProfilePictureActivity.java @@ -32,6 +32,8 @@ public class PublishProfilePictureActivity extends XmppActivity { private Uri defaultUri; private Account account; + + private boolean support = false; private UiCallback avatarPublication = new UiCallback() { @@ -148,6 +150,9 @@ public class PublishProfilePictureActivity extends XmppActivity { String jid = getIntent().getStringExtra("account"); if (jid != null) { this.account = xmppConnectionService.findAccountByJid(jid); + if (this.account.getXmppConnection() != null) { + this.support = this.account.getXmppConnection().getFeatures().pubsub(); + } if (this.avatarUri == null) { if (this.account.getAvatar() != null) { this.avatar.setImageBitmap(this.account.getImage( @@ -173,10 +178,16 @@ public class PublishProfilePictureActivity extends XmppActivity { Bitmap bm = xmppConnectionService.getFileBackend().cropCenterSquare( uri, 384); this.avatar.setImageBitmap(bm); - enablePublishButton(); - this.publishButton.setText(R.string.publish_avatar); - this.hintOrWarning.setText(R.string.publish_avatar_explanation); - this.hintOrWarning.setTextColor(getPrimaryTextColor()); + if (support) { + enablePublishButton(); + this.publishButton.setText(R.string.publish_avatar); + this.hintOrWarning.setText(R.string.publish_avatar_explanation); + this.hintOrWarning.setTextColor(getPrimaryTextColor()); + } else { + disablePublishButton(); + this.hintOrWarning.setTextColor(getWarningTextColor()); + this.hintOrWarning.setText(R.string.error_publish_avatar_no_server_support); + } if (this.defaultUri != null && uri.equals(this.defaultUri)) { this.secondaryHint.setVisibility(View.INVISIBLE); this.avatar.setOnLongClickListener(null); -- cgit v1.2.3