aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--res/layout/activity_muc_details.xml80
-rw-r--r--src/eu/siacs/conversations/services/XmppConnectionService.java15
-rw-r--r--src/eu/siacs/conversations/ui/MucDetailsActivity.java24
3 files changed, 88 insertions, 31 deletions
diff --git a/res/layout/activity_muc_details.xml b/res/layout/activity_muc_details.xml
index fd5583cf..65bce365 100644
--- a/res/layout/activity_muc_details.xml
+++ b/res/layout/activity_muc_details.xml
@@ -8,30 +8,28 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
-
- <TextView
+
+ <TextView
style="@style/sectionHeader"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:paddingLeft="8dp"
- android:paddingRight="8dp"
- android:paddingTop="8dp"
- android:text="Your nickname" />
-
- <RelativeLayout
+ android:padding="8dp"
+ android:text="Conference" />
+ <RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#eee" >
+
<EditText
- android:id="@+id/muc_your_nick"
+ android:id="@+id/muc_subject"
android:layout_width="wrap_content"
android:layout_height="48dp"
android:layout_alignParentLeft="true"
- android:layout_toLeftOf="@+id/muc_edit_nick"
+ android:layout_toLeftOf="@+id/muc_edit_subject"
android:background="#eee"
android:ems="10"
- android:hint="Search or enter Jabber ID"
+ android:hint="Conferenece Subject"
android:inputType="textEmailAddress"
android:paddingBottom="12dp"
android:paddingLeft="8dp"
@@ -39,7 +37,7 @@
android:paddingTop="12dp" />
<ImageButton
- android:id="@+id/muc_edit_nick"
+ android:id="@+id/muc_edit_subject"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_alignParentRight="true"
@@ -49,13 +47,6 @@
android:padding="8dp"
android:src="@drawable/ic_action_edit" />
</RelativeLayout>
-
- <TextView
- style="@style/sectionHeader"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:padding="8dp"
- android:text="Jabber ID" />
<TextView
android:id="@+id/muc_jabberid"
android:layout_width="wrap_content"
@@ -64,20 +55,48 @@
android:singleLine="true"
android:textColor="#5b5b5b"
android:textSize="18sp"/>
-
- <LinearLayout
- android:id="@+id/muc_more_details"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:orientation="vertical">
<TextView
style="@style/sectionHeader"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:padding="8dp"
- android:text="Your role" />
+ android:paddingLeft="8dp"
+ android:paddingRight="8dp"
+ android:paddingTop="8dp"
+ android:text="Your Nickname" />
+
+ <RelativeLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="#eee" >
+
+ <EditText
+ android:id="@+id/muc_your_nick"
+ android:layout_width="wrap_content"
+ android:layout_height="48dp"
+ android:layout_alignParentLeft="true"
+ android:layout_toLeftOf="@+id/muc_edit_nick"
+ android:background="#eee"
+ android:ems="10"
+ android:hint="Your nickname"
+ android:inputType="textEmailAddress"
+ android:paddingBottom="12dp"
+ android:paddingLeft="8dp"
+ android:paddingRight="8dp"
+ android:paddingTop="12dp" />
+
+ <ImageButton
+ android:id="@+id/muc_edit_nick"
+ android:layout_width="48dp"
+ android:layout_height="48dp"
+ android:layout_alignParentRight="true"
+ android:layout_alignParentTop="true"
+ android:layout_centerVertical="true"
+ android:background="?android:selectableItemBackground"
+ android:padding="8dp"
+ android:src="@drawable/ic_action_edit" />
+ </RelativeLayout>
<TextView
android:id="@+id/muc_role"
android:layout_width="wrap_content"
@@ -86,7 +105,12 @@
android:singleLine="true"
android:textSize="18sp"
android:textColor="#5b5b5b"/>
-
+
+ <LinearLayout
+ android:id="@+id/muc_more_details"
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ android:orientation="vertical">
<TextView
android:id="@+id/muc_participants_header"
diff --git a/src/eu/siacs/conversations/services/XmppConnectionService.java b/src/eu/siacs/conversations/services/XmppConnectionService.java
index 17a2d76f..99fc961a 100644
--- a/src/eu/siacs/conversations/services/XmppConnectionService.java
+++ b/src/eu/siacs/conversations/services/XmppConnectionService.java
@@ -1231,4 +1231,19 @@ public class XmppConnectionService extends Service {
convChangedListener.onConversationListChanged();
}
}
+
+ public void sendConversationSubject(Conversation conversation,
+ String subject) {
+ MessagePacket packet = new MessagePacket();
+ packet.setType(MessagePacket.TYPE_GROUPCHAT);
+ packet.setTo(conversation.getContactJid().split("/")[0]);
+ Element subjectChild = new Element("subject");
+ subjectChild.setContent(subject);
+ packet.addChild(subjectChild);
+ packet.setFrom(conversation.getAccount().getJid());
+ Account account = conversation.getAccount();
+ if (account.getStatus() == Account.STATUS_ONLINE) {
+ account.getXmppConnection().sendMessagePacket(packet);
+ }
+ }
} \ No newline at end of file
diff --git a/src/eu/siacs/conversations/ui/MucDetailsActivity.java b/src/eu/siacs/conversations/ui/MucDetailsActivity.java
index 39097895..adc44d51 100644
--- a/src/eu/siacs/conversations/ui/MucDetailsActivity.java
+++ b/src/eu/siacs/conversations/ui/MucDetailsActivity.java
@@ -30,12 +30,12 @@ public class MucDetailsActivity extends XmppActivity {
public static final String ACTION_VIEW_MUC = "view_muc";
private Conversation conversation;
private EditText mYourNick;
+ private EditText mSubject;
private TextView mRoleAffiliaton;
private TextView mFullJid;
private LinearLayout membersView;
private LinearLayout mMoreDetails;
private String uuid = null;
- private ArrayAdapter<User> contactsAdapter;
private OnClickListener changeNickListener = new OnClickListener() {
@Override
@@ -50,6 +50,20 @@ public class MucDetailsActivity extends XmppActivity {
}
}
};
+
+ private OnClickListener changeSubjectListener = new OnClickListener() {
+
+ @Override
+ public void onClick(View arg0) {
+ String subject = mSubject.getText().toString();
+ MucOptions options = conversation.getMucOptions();
+ if (!subject.equals(options.getSubject())) {
+ xmppConnectionService.sendConversationSubject(conversation,subject);
+ finish();
+ }
+ }
+ };
+
private List<User> users = new ArrayList<MucOptions.User>();
@Override
@@ -61,11 +75,14 @@ public class MucDetailsActivity extends XmppActivity {
setContentView(R.layout.activity_muc_details);
mYourNick = (EditText) findViewById(R.id.muc_your_nick);
mFullJid = (TextView) findViewById(R.id.muc_jabberid);
- ImageButton imageButton = (ImageButton) findViewById(R.id.muc_edit_nick);
- imageButton.setOnClickListener(this.changeNickListener);
+ ImageButton editNickButton = (ImageButton) findViewById(R.id.muc_edit_nick);
+ editNickButton.setOnClickListener(this.changeNickListener);
+ ImageButton editSubjectButton = (ImageButton) findViewById(R.id.muc_edit_subject);
+ editSubjectButton.setOnClickListener(this.changeSubjectListener);
membersView = (LinearLayout) findViewById(R.id.muc_members);
mMoreDetails = (LinearLayout) findViewById(R.id.muc_more_details);
mMoreDetails.setVisibility(View.GONE);
+ mSubject = (EditText) findViewById(R.id.muc_subject);
getActionBar().setHomeButtonEnabled(true);
getActionBar().setDisplayHomeAsUpEnabled(true);
@@ -110,6 +127,7 @@ public class MucDetailsActivity extends XmppActivity {
}
}
if (this.conversation != null) {
+ mSubject.setText(conversation.getMucOptions().getSubject());
setTitle(conversation.getName(useSubject));
mFullJid.setText(conversation.getContactJid().split("/")[0]);
mYourNick.setText(conversation.getMucOptions().getNick());