aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/eu/siacs/conversations/ui/ConferenceDetailsActivity.java
diff options
context:
space:
mode:
authorDaniel Gultsch <inputmice@siacs.eu>2015-01-10 23:10:32 +0100
committerDaniel Gultsch <inputmice@siacs.eu>2015-01-10 23:10:32 +0100
commit18eb18794988ab94979020060e9bee9fe7fd9b67 (patch)
treeb39c642e5dd8c4e39e08aad78add34cf9c2281ec /src/main/java/eu/siacs/conversations/ui/ConferenceDetailsActivity.java
parent158f5dd17cf4d34c5d696983fc21ae88c869ec94 (diff)
make room persistant when changing subject or other muc options
Diffstat (limited to 'src/main/java/eu/siacs/conversations/ui/ConferenceDetailsActivity.java')
-rw-r--r--src/main/java/eu/siacs/conversations/ui/ConferenceDetailsActivity.java26
1 files changed, 10 insertions, 16 deletions
diff --git a/src/main/java/eu/siacs/conversations/ui/ConferenceDetailsActivity.java b/src/main/java/eu/siacs/conversations/ui/ConferenceDetailsActivity.java
index 9e38790a..399d9fdf 100644
--- a/src/main/java/eu/siacs/conversations/ui/ConferenceDetailsActivity.java
+++ b/src/main/java/eu/siacs/conversations/ui/ConferenceDetailsActivity.java
@@ -39,7 +39,6 @@ import eu.siacs.conversations.services.XmppConnectionService;
import eu.siacs.conversations.services.XmppConnectionService.OnMucRosterUpdate;
import eu.siacs.conversations.services.XmppConnectionService.OnConversationUpdate;
import eu.siacs.conversations.xmpp.jid.Jid;
-import eu.siacs.conversations.xmpp.stanzas.MessagePacket;
public class ConferenceDetailsActivity extends XmppActivity implements OnConversationUpdate, OnMucRosterUpdate, XmppConnectionService.OnAffiliationChanged, XmppConnectionService.OnRoleChanged, XmppConnectionService.OnConferenceOptionsPushed {
public static final String ACTION_VIEW_MUC = "view_muc";
@@ -63,7 +62,6 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers
private ImageButton mChangeConferenceSettingsButton;
private Button mInviteButton;
private String uuid = null;
- private List<User> users = new ArrayList<>();
private User mSelectedUser = null;
private boolean mAdvancedMode = false;
@@ -125,6 +123,7 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers
Bundle options = new Bundle();
options.putString("muc#roomconfig_membersonly", values[0] ? "1" : "0");
options.putString("muc#roomconfig_whois", values[1] ? "anyone" : "moderators");
+ options.putString("muc#roomconfig_persistentroom", "1");
xmppConnectionService.pushConferenceConfiguration(mConversation,
options,
ConferenceDetailsActivity.this);
@@ -133,6 +132,13 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers
builder.create().show();
}
};
+ private OnValueEdited onSubjectEdited = new OnValueEdited() {
+
+ @Override
+ public void onValueEdited(String value) {
+ xmppConnectionService.pushSubjectToConference(mConversation,value);
+ }
+ };
@Override
public void onConversationUpdate() {
@@ -202,17 +208,7 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers
break;
case R.id.action_edit_subject:
if (mConversation != null) {
- quickEdit(mConversation.getName(), new OnValueEdited() {
-
- @Override
- public void onValueEdited(String value) {
- MessagePacket packet = xmppConnectionService
- .getMessageGenerator().conferenceSubject(
- mConversation, value);
- xmppConnectionService.sendMessagePacket(
- mConversation.getAccount(), packet);
- }
- });
+ quickEdit(mConversation.getName(),this.onSubjectEdited);
}
break;
case R.id.action_save_as_bookmark:
@@ -277,7 +273,7 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers
if (contact != null) {
name = contact.getDisplayName();
} else {
- name = user.getName();
+ name = user.getJid().toBareJid().toString();
}
menu.setHeaderTitle(name);
MenuItem startConversation = menu.findItem(R.id.start_conversation);
@@ -433,8 +429,6 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers
mChangeConferenceSettingsButton.setVisibility(View.GONE);
}
}
- this.users.clear();
- this.users.addAll(mucOptions.getUsers());
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
membersView.removeAllViews();
for (final User user : mConversation.getMucOptions().getUsers()) {