aboutsummaryrefslogtreecommitdiffstats
path: root/src/eu/siacs/conversations/ui/DialogMucDetails.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/eu/siacs/conversations/ui/DialogMucDetails.java')
-rw-r--r--src/eu/siacs/conversations/ui/DialogMucDetails.java100
1 files changed, 100 insertions, 0 deletions
diff --git a/src/eu/siacs/conversations/ui/DialogMucDetails.java b/src/eu/siacs/conversations/ui/DialogMucDetails.java
new file mode 100644
index 00000000..a752e88f
--- /dev/null
+++ b/src/eu/siacs/conversations/ui/DialogMucDetails.java
@@ -0,0 +1,100 @@
+package eu.siacs.conversations.ui;
+
+
+import eu.siacs.conversations.R;
+import eu.siacs.conversations.entities.Conversation;
+import eu.siacs.conversations.entities.MucOptions;
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.app.DialogFragment;
+import android.content.DialogInterface;
+import android.content.DialogInterface.OnClickListener;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.EditText;
+import android.widget.TextView;
+
+public class DialogMucDetails extends DialogFragment {
+ private XmppActivity activity;
+ private Conversation conversation;
+ private EditText mYourNick;
+ private OnClickListener changeNickListener = new OnClickListener() {
+
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ MucOptions options = conversation.getMucOptions();
+ String nick = mYourNick.getText().toString();
+ if (!options.getNick().equals(nick)) {
+ activity.xmppConnectionService.renameInMuc(conversation,nick,activity);
+ }
+ }
+ };
+
+ @Override
+ public Dialog onCreateDialog(Bundle savedInstanceState) {
+ this.activity = (XmppActivity) getActivity();
+ AlertDialog.Builder builder = new AlertDialog.Builder(this.activity);
+ LayoutInflater inflater = getActivity().getLayoutInflater();
+ View view = inflater.inflate(R.layout.muc_options, null);
+ builder.setView(view);
+ builder.setTitle(getString(R.string.conference_details));
+ mYourNick = (EditText) view.findViewById(R.id.muc_your_nick);
+ TextView mTextModerators = (TextView) view.findViewById(R.id.muc_moderators);
+ TextView mTextParticipants = (TextView) view.findViewById(R.id.muc_participants);
+ TextView mTextVisiotors = (TextView) view.findViewById(R.id.muc_visitors);
+ TextView mTextModeratorsHead = (TextView) view.findViewById(R.id.muc_moderators_header);
+ TextView mTextParticipantsHead = (TextView) view.findViewById(R.id.muc_participants_header);
+ TextView mTextVisiotorsHead = (TextView) view.findViewById(R.id.muc_visitors_header);
+ StringBuilder mods = new StringBuilder();
+ StringBuilder participants = new StringBuilder();
+ StringBuilder visitors = new StringBuilder();
+ for(MucOptions.User user : conversation.getMucOptions().getUsers()) {
+ if (user.getRole() == MucOptions.User.ROLE_MODERATOR) {
+ if (mods.length()>=1) {
+ mods.append("\n, "+user.getName());
+ } else {
+ mods.append(user.getName());
+ }
+ } else if (user.getRole() == MucOptions.User.ROLE_PARTICIPANT) {
+ if (participants.length()>=1) {
+ participants.append("\n, "+user.getName());
+ } else {
+ participants.append(user.getName());
+ }
+ } else {
+ if (visitors.length()>=1) {
+ visitors.append("\n, "+user.getName());
+ } else {
+ visitors.append(user.getName());
+ }
+ }
+ }
+ if (mods.length()>0) {
+ mTextModerators.setText(mods.toString());
+ } else {
+ mTextModerators.setVisibility(View.GONE);
+ mTextModeratorsHead.setVisibility(View.GONE);
+ }
+ if (participants.length()>0) {
+ mTextParticipants.setText(participants.toString());
+ } else {
+ mTextParticipants.setVisibility(View.GONE);
+ mTextParticipantsHead.setVisibility(View.GONE);
+ }
+ if (visitors.length()>0) {
+ mTextVisiotors.setText(visitors.toString());
+ } else {
+ mTextVisiotors.setVisibility(View.GONE);
+ mTextVisiotorsHead.setVisibility(View.GONE);
+ }
+ mYourNick.setText(conversation.getMucOptions().getNick());
+ builder.setPositiveButton("Done", this.changeNickListener );
+ builder.setNegativeButton("Cancel", null);
+ return builder.create();
+ }
+
+ public void setConversation(Conversation conversation) {
+ this.conversation = conversation;
+ }
+}