diff options
-rw-r--r-- | res/layout/activity_muc_details.xml | 80 | ||||
-rw-r--r-- | src/eu/siacs/conversations/services/XmppConnectionService.java | 15 | ||||
-rw-r--r-- | src/eu/siacs/conversations/ui/MucDetailsActivity.java | 24 |
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()); |