aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/main/java/de/pixart/messenger/services/XmppConnectionService.java8
-rw-r--r--src/main/java/de/pixart/messenger/ui/ConferenceDetailsActivity.java100
-rw-r--r--src/main/res/drawable-hdpi/ic_save_black_24dp.pngbin0 -> 317 bytes
-rw-r--r--src/main/res/drawable-hdpi/ic_save_white_24dp.pngbin0 -> 324 bytes
-rw-r--r--src/main/res/drawable-mdpi/ic_save_black_24dp.pngbin0 -> 171 bytes
-rw-r--r--src/main/res/drawable-mdpi/ic_save_white_24dp.pngbin0 -> 175 bytes
-rw-r--r--src/main/res/drawable-xhdpi/ic_save_black_24dp.pngbin0 -> 301 bytes
-rw-r--r--src/main/res/drawable-xhdpi/ic_save_white_24dp.pngbin0 -> 309 bytes
-rw-r--r--src/main/res/drawable-xxhdpi/ic_save_black_24dp.pngbin0 -> 497 bytes
-rw-r--r--src/main/res/drawable-xxhdpi/ic_save_white_24dp.pngbin0 -> 504 bytes
-rw-r--r--src/main/res/drawable-xxxhdpi/ic_save_black_24dp.pngbin0 -> 598 bytes
-rw-r--r--src/main/res/drawable-xxxhdpi/ic_save_white_24dp.pngbin0 -> 614 bytes
-rw-r--r--src/main/res/layout/activity_muc_details.xml92
-rw-r--r--src/main/res/layout/create_conference_dialog.xml2
-rw-r--r--src/main/res/values/attrs.xml1
-rw-r--r--src/main/res/values/strings.xml3
-rw-r--r--src/main/res/values/themes.xml44
17 files changed, 178 insertions, 72 deletions
diff --git a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java
index 3b2699667..51f4793d1 100644
--- a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java
+++ b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java
@@ -2788,14 +2788,6 @@ public class XmppConnectionService extends Service {
public void pushSubjectToConference(final Conversation conference, final String subject) {
MessagePacket packet = this.getMessageGenerator().conferenceSubject(conference, subject);
this.sendMessagePacket(conference.getAccount(), packet);
- final MucOptions mucOptions = conference.getMucOptions();
- final MucOptions.User self = mucOptions.getSelf();
- if (self.getAffiliation().ranks(MucOptions.Affiliation.OWNER)) {
- Bundle options = new Bundle();
- options.putString("muc#roomconfig_persistentroom", "1");
- options.putString("muc#roomconfig_roomname", subject);
- this.pushConferenceConfiguration(conference, options, null);
- }
}
public void changeAffiliationInConference(final Conversation conference, Jid user, final MucOptions.Affiliation affiliation, final OnAffiliationChanged callback) {
diff --git a/src/main/java/de/pixart/messenger/ui/ConferenceDetailsActivity.java b/src/main/java/de/pixart/messenger/ui/ConferenceDetailsActivity.java
index 4b0477e1a..2951151cf 100644
--- a/src/main/java/de/pixart/messenger/ui/ConferenceDetailsActivity.java
+++ b/src/main/java/de/pixart/messenger/ui/ConferenceDetailsActivity.java
@@ -12,7 +12,6 @@ import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.os.AsyncTask;
import android.os.Bundle;
-import android.support.v7.app.ActionBar;
import android.support.v7.app.AlertDialog;
import android.support.v7.widget.Toolbar;
import android.text.SpannableStringBuilder;
@@ -24,7 +23,6 @@ import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
-import android.widget.TextView;
import android.widget.Toast;
import org.openintents.openpgp.util.OpenPgpUtils;
@@ -227,14 +225,6 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers
builder.create().show();
}
};
- private OnValueEdited onSubjectEdited = new OnValueEdited() {
-
- @Override
- public String onValueEdited(String value) {
- xmppConnectionService.pushSubjectToConference(mConversation, value.trim().isEmpty() ? null : value.trim());
- return null;
- }
- };
public static boolean cancelPotentialWork(User user, ImageView imageView) {
final BitmapWorkerTask bitmapWorkerTask = getBitmapWorkerTask(imageView);
@@ -317,6 +307,7 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers
intent.putExtra("uuid", mConversation.getUuid());
startActivity(intent);
});
+ this.binding.editMucNameButton.setOnClickListener(this::onMucEditButtonClicked);
}
@Override
@@ -356,6 +347,69 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers
return super.onOptionsItemSelected(menuItem);
}
+ public void onMucEditButtonClicked(View v) {
+ if (this.binding.mucEditor.getVisibility() == View.GONE) {
+ final MucOptions mucOptions = mConversation.getMucOptions();
+ this.binding.mucEditor.setVisibility(View.VISIBLE);
+ this.binding.mucDisplay.setVisibility(View.GONE);
+ this.binding.editMucNameButton.setImageResource(getThemeResource(R.attr.icon_save, R.drawable.ic_save_black_24dp));
+ final String name = mucOptions.getName();
+ this.binding.mucEditTitle.setText("");
+ final boolean owner = mucOptions.getSelf().getAffiliation().ranks(MucOptions.Affiliation.OWNER);
+ if (owner || printableValue(name)) {
+ this.binding.mucEditTitle.setVisibility(View.VISIBLE);
+ if (name != null) {
+ this.binding.mucEditTitle.append(name);
+ }
+ } else {
+ this.binding.mucEditTitle.setVisibility(View.GONE);
+ }
+ this.binding.mucEditTitle.setEnabled(owner);
+ final String subject = mucOptions.getSubject();
+ this.binding.mucEditSubject.setText("");
+ if (subject != null) {
+ this.binding.mucEditSubject.append(subject);
+ }
+ this.binding.mucEditSubject.setEnabled(mucOptions.canChangeSubject());
+ if (!owner) {
+ this.binding.mucEditSubject.requestFocus();
+ }
+ this.binding.yourPhoto.setVisibility(View.GONE);
+ } else {
+ String subject = this.binding.mucEditSubject.isEnabled() ? this.binding.mucEditSubject.getEditableText().toString().trim() : null;
+ String name = this.binding.mucEditTitle.isEnabled() ? this.binding.mucEditTitle.getEditableText().toString().trim() : null;
+ onMucInfoUpdated(subject, name);
+ hideEditor();
+ }
+ }
+
+ private void hideEditor() {
+ this.binding.mucEditor.setVisibility(View.GONE);
+ this.binding.mucDisplay.setVisibility(View.VISIBLE);
+ this.binding.editMucNameButton.setImageResource(getThemeResource(R.attr.icon_edit_body, R.drawable.ic_edit_black_24dp));
+ this.binding.yourPhoto.setVisibility(View.VISIBLE);
+ }
+
+ private void onMucInfoUpdated(String subject, String name) {
+ final MucOptions mucOptions = mConversation.getMucOptions();
+ if (mucOptions.canChangeSubject() && !blankOnNull(mucOptions.getSubject()).equals(subject)) {
+ Log.d(Config.LOGTAG, "subject changed");
+ xmppConnectionService.pushSubjectToConference(mConversation, subject);
+ }
+ if (mucOptions.getSelf().getAffiliation().ranks(MucOptions.Affiliation.OWNER) && !blankOnNull(mucOptions.getName()).equals(name)) {
+ Log.d(Config.LOGTAG, "name changed");
+ Bundle options = new Bundle();
+ options.putString("muc#roomconfig_persistentroom", "1");
+ options.putString("muc#roomconfig_roomname", name);
+ xmppConnectionService.pushConferenceConfiguration(mConversation, options, null);
+ }
+ }
+
+ private static String blankOnNull(String input) {
+ return input == null ? "" : input;
+ }
+
+
@Override
protected String getShareableUri(boolean http) {
if (mConversation != null) {
@@ -567,6 +621,15 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers
this.binding.detailsMucAvatar.setImageBitmap(avatarService().get(mConversation, getPixel(Config.AVATAR_SIZE)));
}
+ @Override
+ public void onBackPressed() {
+ if (this.binding.mucEditor.getVisibility() == View.VISIBLE) {
+ hideEditor();
+ } else {
+ super.onBackPressed();
+ }
+ }
+
private void updateView() {
invalidateOptionsMenu();
if (mConversation == null) {
@@ -580,20 +643,9 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers
} else {
account = mConversation.getAccount().getJid().asBareJid().toString();
}
- if (getSupportActionBar() != null) {
- final ActionBar ab = getSupportActionBar();
- if (ab != null) {
- ab.setCustomView(R.layout.ab_title);
- ab.setDisplayShowCustomEnabled(true);
- TextView abtitle = findViewById(android.R.id.text1);
- TextView absubtitle = findViewById(android.R.id.text2);
- abtitle.setText(mConversation.getName());
- abtitle.setSelected(true);
- abtitle.setClickable(false);
- absubtitle.setVisibility(View.GONE);
- absubtitle.setClickable(false);
- }
- }
+
+
+ this.binding.editMucNameButton.setVisibility((self.getAffiliation().ranks(MucOptions.Affiliation.OWNER) || mucOptions.canChangeSubject()) ? View.VISIBLE : View.GONE);
this.binding.detailsAccount.setText(getString(R.string.using_account, account));
this.binding.jid.setText(mConversation.getJid().asBareJid().toEscapedString());
if (xmppConnectionService.multipleAccounts()) {
diff --git a/src/main/res/drawable-hdpi/ic_save_black_24dp.png b/src/main/res/drawable-hdpi/ic_save_black_24dp.png
new file mode 100644
index 000000000..261c183f8
--- /dev/null
+++ b/src/main/res/drawable-hdpi/ic_save_black_24dp.png
Binary files differ
diff --git a/src/main/res/drawable-hdpi/ic_save_white_24dp.png b/src/main/res/drawable-hdpi/ic_save_white_24dp.png
new file mode 100644
index 000000000..a3b0cb3be
--- /dev/null
+++ b/src/main/res/drawable-hdpi/ic_save_white_24dp.png
Binary files differ
diff --git a/src/main/res/drawable-mdpi/ic_save_black_24dp.png b/src/main/res/drawable-mdpi/ic_save_black_24dp.png
new file mode 100644
index 000000000..280cb2330
--- /dev/null
+++ b/src/main/res/drawable-mdpi/ic_save_black_24dp.png
Binary files differ
diff --git a/src/main/res/drawable-mdpi/ic_save_white_24dp.png b/src/main/res/drawable-mdpi/ic_save_white_24dp.png
new file mode 100644
index 000000000..24eb15f8d
--- /dev/null
+++ b/src/main/res/drawable-mdpi/ic_save_white_24dp.png
Binary files differ
diff --git a/src/main/res/drawable-xhdpi/ic_save_black_24dp.png b/src/main/res/drawable-xhdpi/ic_save_black_24dp.png
new file mode 100644
index 000000000..d13a342dc
--- /dev/null
+++ b/src/main/res/drawable-xhdpi/ic_save_black_24dp.png
Binary files differ
diff --git a/src/main/res/drawable-xhdpi/ic_save_white_24dp.png b/src/main/res/drawable-xhdpi/ic_save_white_24dp.png
new file mode 100644
index 000000000..93d1fdd47
--- /dev/null
+++ b/src/main/res/drawable-xhdpi/ic_save_white_24dp.png
Binary files differ
diff --git a/src/main/res/drawable-xxhdpi/ic_save_black_24dp.png b/src/main/res/drawable-xxhdpi/ic_save_black_24dp.png
new file mode 100644
index 000000000..00078fcd8
--- /dev/null
+++ b/src/main/res/drawable-xxhdpi/ic_save_black_24dp.png
Binary files differ
diff --git a/src/main/res/drawable-xxhdpi/ic_save_white_24dp.png b/src/main/res/drawable-xxhdpi/ic_save_white_24dp.png
new file mode 100644
index 000000000..36461723b
--- /dev/null
+++ b/src/main/res/drawable-xxhdpi/ic_save_white_24dp.png
Binary files differ
diff --git a/src/main/res/drawable-xxxhdpi/ic_save_black_24dp.png b/src/main/res/drawable-xxxhdpi/ic_save_black_24dp.png
new file mode 100644
index 000000000..ed3c6139a
--- /dev/null
+++ b/src/main/res/drawable-xxxhdpi/ic_save_black_24dp.png
Binary files differ
diff --git a/src/main/res/drawable-xxxhdpi/ic_save_white_24dp.png b/src/main/res/drawable-xxxhdpi/ic_save_white_24dp.png
new file mode 100644
index 000000000..ec8be2bee
--- /dev/null
+++ b/src/main/res/drawable-xxxhdpi/ic_save_white_24dp.png
Binary files differ
diff --git a/src/main/res/layout/activity_muc_details.xml b/src/main/res/layout/activity_muc_details.xml
index 7dc1ae3e6..2c1a0e682 100644
--- a/src/main/res/layout/activity_muc_details.xml
+++ b/src/main/res/layout/activity_muc_details.xml
@@ -47,36 +47,79 @@
android:layout_width="match_parent"
android:layout_height="wrap_content">
- <android.support.text.emoji.widget.EmojiTextView
- android:id="@+id/muc_title"
+ <LinearLayout
+ android:id="@+id/muc_display"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_alignParentLeft="true"
- android:layout_toLeftOf="@+id/edit_muc_name_button"
- android:singleLine="true"
- android:textAppearance="@style/TextAppearance.Conversations.Title" />
+ android:layout_alignParentStart="true"
+ android:layout_toStartOf="@+id/edit_muc_name_button"
+ android:orientation="vertical">
- <android.support.text.emoji.widget.EmojiTextView
- android:id="@+id/muc_subject"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentLeft="true"
- android:layout_below="@+id/muc_title"
- android:layout_toLeftOf="@+id/edit_muc_name_button"
- android:autoLink="web"
- android:textAppearance="@style/TextAppearance.Conversations.Subhead" />
+ <TextView
+ android:id="@+id/muc_title"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textAppearance="@style/TextAppearance.Conversations.Title" />
- <TextView
- android:id="@+id/jid"
+ <TextView
+ android:id="@+id/muc_subject"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:autoLink="web"
+ android:textAppearance="@style/TextAppearance.Conversations.Subhead" />
+
+ <TextView
+ android:id="@+id/jid"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentLeft="true"
+ android:layout_below="@+id/muc_subject"
+ android:text="@string/account_settings_example_jabber_id"
+ android:textAppearance="@style/TextAppearance.Conversations.Body1"
+ android:textIsSelectable="true"
+ android:visibility="gone" />
+
+ </LinearLayout>
+
+ <LinearLayout
+ android:id="@+id/muc_editor"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_alignParentLeft="true"
- android:layout_below="@+id/muc_subject"
- android:layout_toLeftOf="@+id/edit_muc_name_button"
- android:text="@string/account_settings_example_jabber_id"
- android:textAppearance="@style/TextAppearance.Conversations.Body1"
- android:textIsSelectable="true"
- android:visibility="gone" />
+ android:layout_alignParentStart="true"
+ android:layout_toStartOf="@+id/edit_muc_name_button"
+
+ android:orientation="vertical"
+ android:visibility="gone">
+
+ <android.support.design.widget.TextInputLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ app:errorTextAppearance="@style/TextAppearance.Conversations.Design.Error"
+ app:hintTextAppearance="@style/TextAppearance.Conversations.Design.Hint">
+
+ <android.support.design.widget.TextInputEditText
+ android:id="@+id/muc_edit_title"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:hint="@string/group_chat_name"
+ android:textAppearance="@style/Widget.Conversations.EditText" />
+ </android.support.design.widget.TextInputLayout>
+
+ <android.support.design.widget.TextInputLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ app:errorTextAppearance="@style/TextAppearance.Conversations.Design.Error"
+ app:hintTextAppearance="@style/TextAppearance.Conversations.Design.Hint">
+
+ <android.support.design.widget.TextInputEditText
+ android:id="@+id/muc_edit_subject"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:hint="@string/topic"
+ android:textAppearance="@style/Widget.Conversations.EditText" />
+ </android.support.design.widget.TextInputLayout>
+
+ </LinearLayout>
<ImageButton
android:id="@+id/edit_muc_name_button"
@@ -101,6 +144,7 @@
android:id="@+id/details_muc_avatar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:layout_marginEnd="@dimen/avatar_item_distance"
android:adjustViewBounds="true"
android:maxHeight="384dp"
android:maxWidth="384dp"
diff --git a/src/main/res/layout/create_conference_dialog.xml b/src/main/res/layout/create_conference_dialog.xml
index 2cb78b165..ca26e618b 100644
--- a/src/main/res/layout/create_conference_dialog.xml
+++ b/src/main/res/layout/create_conference_dialog.xml
@@ -42,7 +42,7 @@
style="@style/Widget.Conversations.EditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:hint="@string/edit_subject_hint"
+ android:hint="@string/topic"
android:nextFocusDown="@+id/subject"
android:nextFocusUp="@+id/subject" />
</android.support.design.widget.TextInputLayout>
diff --git a/src/main/res/values/attrs.xml b/src/main/res/values/attrs.xml
index f72834b9f..10690b682 100644
--- a/src/main/res/values/attrs.xml
+++ b/src/main/res/values/attrs.xml
@@ -47,6 +47,7 @@
<attr name="icon_download" format="reference" />
<attr name="icon_edit" format="reference" />
<attr name="icon_edit_body" format="reference" />
+ <attr name="icon_save" format="reference" />
<attr name="icon_done" format="reference" />
<attr name="icon_group" format="reference" />
<attr name="icon_new" format="reference" />
diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml
index 14feee019..57edf9ba6 100644
--- a/src/main/res/values/strings.xml
+++ b/src/main/res/values/strings.xml
@@ -229,7 +229,7 @@
<string name="delete_bookmark">Delete bookmark</string>
<string name="bookmark_already_exists">This bookmark already exists</string>
<string name="action_edit_subject">Edit group chat subject</string>
- <string name="edit_subject_hint">The subject of this group chat</string>
+ <string name="topic">Topic</string>
<string name="joining_conference">Joining group chat…</string>
<string name="leave">Leave</string>
<string name="contact_added_you">Contact added you to contact list</string>
@@ -801,4 +801,5 @@
<string name="only_the_owner_can_change_group_chat_avatar">Only the owner can change group chat avatar</string>
<string name="contact_name">Contact name</string>
<string name="nickname">Nickname for this group chat</string>
+ <string name="group_chat_name">Name</string>
</resources>
diff --git a/src/main/res/values/themes.xml b/src/main/res/values/themes.xml
index 8c68c25f1..aa844dce1 100644
--- a/src/main/res/values/themes.xml
+++ b/src/main/res/values/themes.xml
@@ -50,13 +50,16 @@
<!--<item type="reference" name="infocard_border">@drawable/infocard_border</item>-->
<item name="divider">@color/black12</item>
- <item type="reference" name="ic_send_cancel_offline">@drawable/ic_send_cancel_offline</item>
- <item type="reference" name="ic_send_location_offline">@drawable/ic_send_location_offline</item>
- <item type="reference" name="ic_send_photo_offline">@drawable/ic_send_photo_offline</item>
- <item type="reference" name="ic_send_picture_offline">@drawable/ic_send_picture_offline</item>
- <item type="reference" name="ic_send_text_offline">@drawable/ic_send_text_offline</item>
- <item type="reference" name="ic_send_videocam_offline">@drawable/ic_send_videocam_offline</item>
- <item type="reference" name="ic_send_voice_offline">@drawable/ic_send_voice_offline</item>
+ <item name="ic_send_cancel_offline" type="reference">@drawable/ic_send_cancel_offline</item>
+ <item name="ic_send_location_offline" type="reference">@drawable/ic_send_location_offline
+ </item>
+ <item name="ic_send_photo_offline" type="reference">@drawable/ic_send_photo_offline</item>
+ <item name="ic_send_picture_offline" type="reference">@drawable/ic_send_picture_offline
+ </item>
+ <item name="ic_send_text_offline" type="reference">@drawable/ic_send_text_offline</item>
+ <item name="ic_send_videocam_offline" type="reference">@drawable/ic_send_videocam_offline
+ </item>
+ <item name="ic_send_voice_offline" type="reference">@drawable/ic_send_voice_offline</item>
<item name="icon_add_group" type="reference">@drawable/ic_group_add_white_24dp</item>
<item name="icon_add_person" type="reference">@drawable/ic_person_add_white_24dp</item>
@@ -67,6 +70,7 @@
<item name="icon_download" type="reference">@drawable/ic_file_download_white_24dp</item>
<item name="icon_edit" type="reference">@drawable/ic_edit_white_24dp</item>
<item name="icon_edit_body" type="reference">@drawable/ic_edit_black_24dp</item>
+ <item name="icon_save" type="reference">@drawable/ic_save_black_24dp</item>
<item name="icon_done" type="reference">@drawable/ic_done_black_24dp</item>
<item name="icon_group" type="reference">@drawable/ic_group_white_24dp</item>
<item name="icon_new" type="reference">@drawable/ic_contacts_white_24dp</item>
@@ -176,13 +180,24 @@
<item name="divider">@color/white12</item>
- <item name="ic_send_cancel_offline" type="reference">@drawable/ic_send_cancel_offline_white</item>
- <item name="ic_send_location_offline" type="reference">@drawable/ic_send_location_offline_white</item>
- <item name="ic_send_photo_offline" type="reference">@drawable/ic_send_photo_offline_white</item>
- <item name="ic_send_picture_offline" type="reference">@drawable/ic_send_picture_offline_white</item>
- <item name="ic_send_text_offline" type="reference">@drawable/ic_send_text_offline_white</item>
- <item name="ic_send_videocam_offline" type="reference">@drawable/ic_send_videocam_offline_white</item>
- <item name="ic_send_voice_offline" type="reference">@drawable/ic_send_voice_offline_white</item>
+ <item name="ic_send_cancel_offline" type="reference">
+ @drawable/ic_send_cancel_offline_white
+ </item>
+ <item name="ic_send_location_offline" type="reference">
+ @drawable/ic_send_location_offline_white
+ </item>
+ <item name="ic_send_photo_offline" type="reference">@drawable/ic_send_photo_offline_white
+ </item>
+ <item name="ic_send_picture_offline" type="reference">
+ @drawable/ic_send_picture_offline_white
+ </item>
+ <item name="ic_send_text_offline" type="reference">@drawable/ic_send_text_offline_white
+ </item>
+ <item name="ic_send_videocam_offline" type="reference">
+ @drawable/ic_send_videocam_offline_white
+ </item>
+ <item name="ic_send_voice_offline" type="reference">@drawable/ic_send_voice_offline_white
+ </item>
<item name="ic_attach_camera" type="reference">@drawable/ic_attach_camera_white</item>
<item name="ic_attach_video" type="reference">@drawable/ic_attach_videocam_white</item>
@@ -206,6 +221,7 @@
<item name="icon_download" type="reference">@drawable/ic_file_download_white_24dp</item>
<item name="icon_edit" type="reference">@drawable/ic_edit_white_24dp</item>
<item name="icon_edit_body" type="reference">@drawable/ic_edit_white_24dp</item>
+ <item name="icon_save" type="reference">@drawable/ic_save_white_24dp</item>
<item name="icon_done" type="reference">@drawable/ic_done_black_24dp</item>
<item name="icon_group" type="reference">@drawable/ic_group_white_24dp</item>
<item name="icon_new" type="reference">@drawable/ic_add_white_24dp</item>