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 --- .../siacs/conversations/ui/ManageAccountActivity.java | 6 +++--- .../ui/PublishProfilePictureActivity.java | 19 +++++++++++++++---- 2 files changed, 18 insertions(+), 7 deletions(-) (limited to 'src/eu/siacs/conversations/ui') diff --git a/src/eu/siacs/conversations/ui/ManageAccountActivity.java b/src/eu/siacs/conversations/ui/ManageAccountActivity.java index 238cf0a4..19c9552a 100644 --- a/src/eu/siacs/conversations/ui/ManageAccountActivity.java +++ b/src/eu/siacs/conversations/ui/ManageAccountActivity.java @@ -184,7 +184,7 @@ public class ManageAccountActivity extends XmppActivity { connection.setText(connectionAge + " " + getString(R.string.mins)); } - if (xmpp.hasFeatureStreamManagment()) { + if (xmpp.getFeatures().sm()) { if (sessionAgeHours >= 2) { session.setText(sessionAgeHours + " " + getString(R.string.hours)); @@ -197,12 +197,12 @@ public class ManageAccountActivity extends XmppActivity { stream.setText(getString(R.string.no)); session.setText(connection.getText()); } - if (xmpp.hasFeaturesCarbon()) { + if (xmpp.getFeatures().carbons()) { carbon.setText(getString(R.string.yes)); } else { carbon.setText(getString(R.string.no)); } - if (xmpp.hasFeatureRosterManagment()) { + if (xmpp.getFeatures().rosterVersioning()) { roster.setText(getString(R.string.yes)); } else { roster.setText(getString(R.string.no)); diff --git a/src/eu/siacs/conversations/ui/PublishProfilePictureActivity.java b/src/eu/siacs/conversations/ui/PublishProfilePictureActivity.java index e0e0826a..0661f1a9 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