diff --git a/art/ic_send_videocam_away.svg b/art/ic_send_videocam_away.svg
new file mode 100644
index 000000000..52b8478cf
--- /dev/null
+++ b/art/ic_send_videocam_away.svg
@@ -0,0 +1,54 @@
+
+
diff --git a/art/ic_send_videocam_dnd.svg b/art/ic_send_videocam_dnd.svg
new file mode 100644
index 000000000..254e3859a
--- /dev/null
+++ b/art/ic_send_videocam_dnd.svg
@@ -0,0 +1,54 @@
+
+
diff --git a/art/ic_send_videocam_offline.svg b/art/ic_send_videocam_offline.svg
new file mode 100644
index 000000000..91a7778d6
--- /dev/null
+++ b/art/ic_send_videocam_offline.svg
@@ -0,0 +1,54 @@
+
+
diff --git a/art/ic_send_videocam_offline_white.svg b/art/ic_send_videocam_offline_white.svg
new file mode 100644
index 000000000..67f5563a6
--- /dev/null
+++ b/art/ic_send_videocam_offline_white.svg
@@ -0,0 +1,54 @@
+
+
diff --git a/art/ic_send_videocam_online.svg b/art/ic_send_videocam_online.svg
new file mode 100644
index 000000000..e4f671b1d
--- /dev/null
+++ b/art/ic_send_videocam_online.svg
@@ -0,0 +1,55 @@
+
+
diff --git a/art/render.rb b/art/render.rb
index e20b951c7..4c947f93c 100755
--- a/art/render.rb
+++ b/art/render.rb
@@ -47,6 +47,11 @@ images = {
'ic_send_picture_offline_white.svg' => ['ic_send_picture_offline_white', 36],
'ic_send_picture_away.svg' => ['ic_send_picture_away', 36],
'ic_send_picture_dnd.svg' => ['ic_send_picture_dnd', 36],
+ 'ic_send_videocam_online.svg' => ['ic_send_videocam_online', 36],
+ 'ic_send_videocam_offline.svg' => ['ic_send_videocam_offline', 36],
+ 'ic_send_videocam_offline_white.svg' => ['ic_send_videocam_offline_white', 36],
+ 'ic_send_videocam_away.svg' => ['ic_send_videocam_away', 36],
+ 'ic_send_videocam_dnd.svg' => ['ic_send_videocam_dnd', 36],
'ic_notifications_none_white80.svg' => ['ic_notifications_none_white80', 24],
'ic_notifications_off_white80.svg' => ['ic_notifications_off_white80', 24],
'ic_notifications_paused_white80.svg' => ['ic_notifications_paused_white80', 24],
diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java b/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java
index 44c31b45b..8ec813ae2 100644
--- a/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java
+++ b/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java
@@ -72,6 +72,8 @@ import eu.siacs.conversations.xmpp.jid.Jid;
public class ConversationActivity extends XmppActivity
implements OnAccountUpdate, OnConversationUpdate, OnRosterUpdate, OnUpdateBlocklist, XmppConnectionService.OnShowErrorToast {
+ public static final String RECENTLY_USED_QUICK_ACTION = "recently_used_quick_action";
+
public static final String ACTION_VIEW_CONVERSATION = "eu.siacs.conversations.action.VIEW";
public static final String CONVERSATION = "conversationUuid";
public static final String EXTRA_DOWNLOAD_UUID = "eu.siacs.conversations.download_uuid";
@@ -92,6 +94,7 @@ public class ConversationActivity extends XmppActivity
public static final int ATTACHMENT_CHOICE_RECORD_VOICE = 0x0304;
public static final int ATTACHMENT_CHOICE_LOCATION = 0x0305;
public static final int ATTACHMENT_CHOICE_INVALID = 0x0306;
+ public static final int ATTACHMENT_CHOICE_RECORD_VIDEO = 0x0307;
private static final String STATE_OPEN_CONVERSATION = "state_open_conversation";
private static final String STATE_PANEL_OPEN = "state_panel_open";
private static final String STATE_PENDING_URI = "state_pending_uri";
@@ -500,14 +503,17 @@ public class ConversationActivity extends XmppActivity
intent.setType("image/*");
chooser = true;
break;
+ case ATTACHMENT_CHOICE_RECORD_VIDEO:
+ intent.setAction(MediaStore.ACTION_VIDEO_CAPTURE);
+ break;
case ATTACHMENT_CHOICE_TAKE_PHOTO:
Uri uri = xmppConnectionService.getFileBackend().getTakePhotoUri();
+ mPendingImageUris.clear();
+ mPendingImageUris.add(uri);
+ intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
- intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
- mPendingImageUris.clear();
- mPendingImageUris.add(uri);
break;
case ATTACHMENT_CHOICE_CHOOSE_FILE:
chooser = true;
@@ -562,19 +568,29 @@ public class ConversationActivity extends XmppActivity
return;
}
}
+ final ConversationFragment.SendButtonAction action;
switch (attachmentChoice) {
case ATTACHMENT_CHOICE_LOCATION:
- getPreferences().edit().putString("recently_used_quick_action", "location").apply();
+ action = ConversationFragment.SendButtonAction.SEND_LOCATION;
break;
case ATTACHMENT_CHOICE_RECORD_VOICE:
- getPreferences().edit().putString("recently_used_quick_action", "voice").apply();
+ action = ConversationFragment.SendButtonAction.RECORD_VOICE;
+ break;
+ case ATTACHMENT_CHOICE_RECORD_VIDEO:
+ action = ConversationFragment.SendButtonAction.RECORD_VIDEO;
break;
case ATTACHMENT_CHOICE_TAKE_PHOTO:
- getPreferences().edit().putString("recently_used_quick_action", "photo").apply();
+ action = ConversationFragment.SendButtonAction.TAKE_PHOTO;
break;
case ATTACHMENT_CHOICE_CHOOSE_IMAGE:
- getPreferences().edit().putString("recently_used_quick_action", "picture").apply();
+ action = ConversationFragment.SendButtonAction.CHOOSE_PICTURE;
break;
+ default:
+ action = null;
+ break;
+ }
+ if (action != null) {
+ getPreferences().edit().putString(RECENTLY_USED_QUICK_ACTION,action.toString()).apply();
}
final Conversation conversation = getSelectedConversation();
final int encryption = conversation.getNextEncryption();
@@ -805,6 +821,9 @@ public class ConversationActivity extends XmppActivity
case R.id.attach_take_picture:
attachFile(ATTACHMENT_CHOICE_TAKE_PHOTO);
break;
+ case R.id.attach_record_video:
+ attachFile(ATTACHMENT_CHOICE_RECORD_VIDEO);
+ break;
case R.id.attach_choose_file:
attachFile(ATTACHMENT_CHOICE_CHOOSE_FILE);
break;
@@ -1414,8 +1433,9 @@ public class ConversationActivity extends XmppActivity
attachImageToConversation(getSelectedConversation(), i.next());
}
}
- } else if (requestCode == ATTACHMENT_CHOICE_CHOOSE_FILE || requestCode == ATTACHMENT_CHOICE_RECORD_VOICE) {
+ } else if (requestCode == ATTACHMENT_CHOICE_CHOOSE_FILE || requestCode == ATTACHMENT_CHOICE_RECORD_VOICE || requestCode == ATTACHMENT_CHOICE_RECORD_VIDEO) {
final List uris = extractUriFromIntent(data);
+ Log.d(Config.LOGTAG,"uris "+uris.toString());
final Conversation c = getSelectedConversation();
final OnPresenceSelected callback = new OnPresenceSelected() {
@Override
@@ -1424,7 +1444,7 @@ public class ConversationActivity extends XmppActivity
mPendingFileUris.addAll(uris);
if (xmppConnectionServiceBound) {
for (Iterator i = mPendingFileUris.iterator(); i.hasNext(); i.remove()) {
- Log.d(Config.LOGTAG,"ConversationsActivity.onActivityResult() - attaching file to conversations. CHOOSE_FILE/RECORD_VOICE");
+ Log.d(Config.LOGTAG,"ConversationsActivity.onActivityResult() - attaching file to conversations. CHOOSE_FILE/RECORD_VOICE/RECORD_VIDEO");
attachFileToConversation(c, i.next());
}
}
diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java b/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java
index bdfc29956..d0af53c3b 100644
--- a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java
+++ b/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java
@@ -46,7 +46,6 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
-import java.util.ListIterator;
import java.util.UUID;
import java.util.concurrent.atomic.AtomicBoolean;
@@ -72,7 +71,6 @@ import eu.siacs.conversations.ui.adapter.MessageAdapter;
import eu.siacs.conversations.ui.adapter.MessageAdapter.OnContactPictureClicked;
import eu.siacs.conversations.ui.adapter.MessageAdapter.OnContactPictureLongClicked;
import eu.siacs.conversations.ui.widget.ListSelectionManager;
-import eu.siacs.conversations.utils.GeoHelper;
import eu.siacs.conversations.utils.NickValidityChecker;
import eu.siacs.conversations.utils.UIHelper;
import eu.siacs.conversations.xmpp.XmppConnection;
@@ -331,6 +329,9 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa
case TAKE_PHOTO:
activity.attachFile(ConversationActivity.ATTACHMENT_CHOICE_TAKE_PHOTO);
break;
+ case RECORD_VIDEO:
+ activity.attachFile(ConversationActivity.ATTACHMENT_CHOICE_RECORD_VIDEO);
+ break;
case SEND_LOCATION:
activity.attachFile(ConversationActivity.ATTACHMENT_CHOICE_LOCATION);
break;
@@ -1152,7 +1153,16 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa
mSendingPgpMessage.set(false);
}
- enum SendButtonAction {TEXT, TAKE_PHOTO, SEND_LOCATION, RECORD_VOICE, CANCEL, CHOOSE_PICTURE}
+ enum SendButtonAction {TEXT, TAKE_PHOTO, SEND_LOCATION, RECORD_VOICE, CANCEL, CHOOSE_PICTURE, RECORD_VIDEO;
+
+ public static SendButtonAction valueOfOrDefault(String setting, SendButtonAction text) {
+ try {
+ return valueOf(setting);
+ } catch (IllegalArgumentException e) {
+ return TEXT;
+ }
+ }
+ }
private int getSendButtonImageResource(SendButtonAction action, Presence.Status status) {
switch (action) {
@@ -1169,6 +1179,19 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa
default:
return activity.getThemeResource(R.attr.ic_send_text_offline, R.drawable.ic_send_text_offline);
}
+ case RECORD_VIDEO:
+ switch (status) {
+ case CHAT:
+ case ONLINE:
+ return R.drawable.ic_send_videocam_online;
+ case AWAY:
+ return R.drawable.ic_send_videocam_away;
+ case XA:
+ case DND:
+ return R.drawable.ic_send_videocam_dnd;
+ default:
+ return activity.getThemeResource(R.attr.ic_send_videocam_offline, R.drawable.ic_send_videocam_offline);
+ }
case TAKE_PHOTO:
switch (status) {
case CHAT:
@@ -1268,26 +1291,14 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa
} else {
String setting = activity.getPreferences().getString("quick_action", activity.getResources().getString(R.string.quick_action));
if (!setting.equals("none") && UIHelper.receivedLocationQuestion(conversation.getLatestMessage())) {
- setting = "location";
- } else if (setting.equals("recent")) {
- setting = activity.getPreferences().getString("recently_used_quick_action", "text");
- }
- switch (setting) {
- case "photo":
- action = SendButtonAction.TAKE_PHOTO;
- break;
- case "location":
- action = SendButtonAction.SEND_LOCATION;
- break;
- case "voice":
- action = SendButtonAction.RECORD_VOICE;
- break;
- case "picture":
- action = SendButtonAction.CHOOSE_PICTURE;
- break;
- default:
- action = SendButtonAction.TEXT;
- break;
+ action = SendButtonAction.SEND_LOCATION;
+ } else {
+ if (setting.equals("recent")) {
+ setting = activity.getPreferences().getString(ConversationActivity.RECENTLY_USED_QUICK_ACTION, SendButtonAction.TEXT.toString());
+ action = SendButtonAction.valueOfOrDefault(setting,SendButtonAction.TEXT);
+ } else {
+ action = SendButtonAction.valueOfOrDefault(setting,SendButtonAction.TEXT);
+ }
}
}
} else {
diff --git a/src/main/res/drawable-hdpi/ic_attach_videocam.png b/src/main/res/drawable-hdpi/ic_attach_videocam.png
new file mode 100644
index 000000000..84cff7d91
Binary files /dev/null and b/src/main/res/drawable-hdpi/ic_attach_videocam.png differ
diff --git a/src/main/res/drawable-hdpi/ic_attach_videocam_white.png b/src/main/res/drawable-hdpi/ic_attach_videocam_white.png
new file mode 100644
index 000000000..d83e0d50c
Binary files /dev/null and b/src/main/res/drawable-hdpi/ic_attach_videocam_white.png differ
diff --git a/src/main/res/drawable-hdpi/ic_send_videocam_away.png b/src/main/res/drawable-hdpi/ic_send_videocam_away.png
new file mode 100644
index 000000000..c4f3dbdf5
Binary files /dev/null and b/src/main/res/drawable-hdpi/ic_send_videocam_away.png differ
diff --git a/src/main/res/drawable-hdpi/ic_send_videocam_dnd.png b/src/main/res/drawable-hdpi/ic_send_videocam_dnd.png
new file mode 100644
index 000000000..9a1060012
Binary files /dev/null and b/src/main/res/drawable-hdpi/ic_send_videocam_dnd.png differ
diff --git a/src/main/res/drawable-hdpi/ic_send_videocam_offline.png b/src/main/res/drawable-hdpi/ic_send_videocam_offline.png
new file mode 100644
index 000000000..ae5a88fd5
Binary files /dev/null and b/src/main/res/drawable-hdpi/ic_send_videocam_offline.png differ
diff --git a/src/main/res/drawable-hdpi/ic_send_videocam_offline_white.png b/src/main/res/drawable-hdpi/ic_send_videocam_offline_white.png
new file mode 100644
index 000000000..aeab525bf
Binary files /dev/null and b/src/main/res/drawable-hdpi/ic_send_videocam_offline_white.png differ
diff --git a/src/main/res/drawable-hdpi/ic_send_videocam_online.png b/src/main/res/drawable-hdpi/ic_send_videocam_online.png
new file mode 100644
index 000000000..ece12febb
Binary files /dev/null and b/src/main/res/drawable-hdpi/ic_send_videocam_online.png differ
diff --git a/src/main/res/drawable-mdpi/ic_attach_videocam.png b/src/main/res/drawable-mdpi/ic_attach_videocam.png
new file mode 100644
index 000000000..3d6208975
Binary files /dev/null and b/src/main/res/drawable-mdpi/ic_attach_videocam.png differ
diff --git a/src/main/res/drawable-mdpi/ic_attach_videocam_white.png b/src/main/res/drawable-mdpi/ic_attach_videocam_white.png
new file mode 100644
index 000000000..d146209a5
Binary files /dev/null and b/src/main/res/drawable-mdpi/ic_attach_videocam_white.png differ
diff --git a/src/main/res/drawable-mdpi/ic_send_videocam_away.png b/src/main/res/drawable-mdpi/ic_send_videocam_away.png
new file mode 100644
index 000000000..bc71ca3e8
Binary files /dev/null and b/src/main/res/drawable-mdpi/ic_send_videocam_away.png differ
diff --git a/src/main/res/drawable-mdpi/ic_send_videocam_dnd.png b/src/main/res/drawable-mdpi/ic_send_videocam_dnd.png
new file mode 100644
index 000000000..15f07b9df
Binary files /dev/null and b/src/main/res/drawable-mdpi/ic_send_videocam_dnd.png differ
diff --git a/src/main/res/drawable-mdpi/ic_send_videocam_offline.png b/src/main/res/drawable-mdpi/ic_send_videocam_offline.png
new file mode 100644
index 000000000..39126bf2d
Binary files /dev/null and b/src/main/res/drawable-mdpi/ic_send_videocam_offline.png differ
diff --git a/src/main/res/drawable-mdpi/ic_send_videocam_offline_white.png b/src/main/res/drawable-mdpi/ic_send_videocam_offline_white.png
new file mode 100644
index 000000000..04048266c
Binary files /dev/null and b/src/main/res/drawable-mdpi/ic_send_videocam_offline_white.png differ
diff --git a/src/main/res/drawable-mdpi/ic_send_videocam_online.png b/src/main/res/drawable-mdpi/ic_send_videocam_online.png
new file mode 100644
index 000000000..071498ee8
Binary files /dev/null and b/src/main/res/drawable-mdpi/ic_send_videocam_online.png differ
diff --git a/src/main/res/drawable-xhdpi/ic_attach_videocam.png b/src/main/res/drawable-xhdpi/ic_attach_videocam.png
new file mode 100644
index 000000000..44bb7737c
Binary files /dev/null and b/src/main/res/drawable-xhdpi/ic_attach_videocam.png differ
diff --git a/src/main/res/drawable-xhdpi/ic_attach_videocam_white.png b/src/main/res/drawable-xhdpi/ic_attach_videocam_white.png
new file mode 100644
index 000000000..1b2583d34
Binary files /dev/null and b/src/main/res/drawable-xhdpi/ic_attach_videocam_white.png differ
diff --git a/src/main/res/drawable-xhdpi/ic_send_videocam_away.png b/src/main/res/drawable-xhdpi/ic_send_videocam_away.png
new file mode 100644
index 000000000..321443f52
Binary files /dev/null and b/src/main/res/drawable-xhdpi/ic_send_videocam_away.png differ
diff --git a/src/main/res/drawable-xhdpi/ic_send_videocam_dnd.png b/src/main/res/drawable-xhdpi/ic_send_videocam_dnd.png
new file mode 100644
index 000000000..c3e0fbf36
Binary files /dev/null and b/src/main/res/drawable-xhdpi/ic_send_videocam_dnd.png differ
diff --git a/src/main/res/drawable-xhdpi/ic_send_videocam_offline.png b/src/main/res/drawable-xhdpi/ic_send_videocam_offline.png
new file mode 100644
index 000000000..d9b8750fb
Binary files /dev/null and b/src/main/res/drawable-xhdpi/ic_send_videocam_offline.png differ
diff --git a/src/main/res/drawable-xhdpi/ic_send_videocam_offline_white.png b/src/main/res/drawable-xhdpi/ic_send_videocam_offline_white.png
new file mode 100644
index 000000000..0dd153812
Binary files /dev/null and b/src/main/res/drawable-xhdpi/ic_send_videocam_offline_white.png differ
diff --git a/src/main/res/drawable-xhdpi/ic_send_videocam_online.png b/src/main/res/drawable-xhdpi/ic_send_videocam_online.png
new file mode 100644
index 000000000..96cd271f3
Binary files /dev/null and b/src/main/res/drawable-xhdpi/ic_send_videocam_online.png differ
diff --git a/src/main/res/drawable-xxhdpi/ic_attach_videocam.png b/src/main/res/drawable-xxhdpi/ic_attach_videocam.png
new file mode 100644
index 000000000..68eb87781
Binary files /dev/null and b/src/main/res/drawable-xxhdpi/ic_attach_videocam.png differ
diff --git a/src/main/res/drawable-xxhdpi/ic_attach_videocam_white.png b/src/main/res/drawable-xxhdpi/ic_attach_videocam_white.png
new file mode 100644
index 000000000..44c28e2f2
Binary files /dev/null and b/src/main/res/drawable-xxhdpi/ic_attach_videocam_white.png differ
diff --git a/src/main/res/drawable-xxhdpi/ic_send_videocam_away.png b/src/main/res/drawable-xxhdpi/ic_send_videocam_away.png
new file mode 100644
index 000000000..f86475ff9
Binary files /dev/null and b/src/main/res/drawable-xxhdpi/ic_send_videocam_away.png differ
diff --git a/src/main/res/drawable-xxhdpi/ic_send_videocam_dnd.png b/src/main/res/drawable-xxhdpi/ic_send_videocam_dnd.png
new file mode 100644
index 000000000..fd1d5d5eb
Binary files /dev/null and b/src/main/res/drawable-xxhdpi/ic_send_videocam_dnd.png differ
diff --git a/src/main/res/drawable-xxhdpi/ic_send_videocam_offline.png b/src/main/res/drawable-xxhdpi/ic_send_videocam_offline.png
new file mode 100644
index 000000000..0d5f52d92
Binary files /dev/null and b/src/main/res/drawable-xxhdpi/ic_send_videocam_offline.png differ
diff --git a/src/main/res/drawable-xxhdpi/ic_send_videocam_offline_white.png b/src/main/res/drawable-xxhdpi/ic_send_videocam_offline_white.png
new file mode 100644
index 000000000..8df2bf190
Binary files /dev/null and b/src/main/res/drawable-xxhdpi/ic_send_videocam_offline_white.png differ
diff --git a/src/main/res/drawable-xxhdpi/ic_send_videocam_online.png b/src/main/res/drawable-xxhdpi/ic_send_videocam_online.png
new file mode 100644
index 000000000..400b4a639
Binary files /dev/null and b/src/main/res/drawable-xxhdpi/ic_send_videocam_online.png differ
diff --git a/src/main/res/drawable-xxxhdpi/ic_attach_videocam.png b/src/main/res/drawable-xxxhdpi/ic_attach_videocam.png
new file mode 100644
index 000000000..992d6aaed
Binary files /dev/null and b/src/main/res/drawable-xxxhdpi/ic_attach_videocam.png differ
diff --git a/src/main/res/drawable-xxxhdpi/ic_attach_videocam_white.png b/src/main/res/drawable-xxxhdpi/ic_attach_videocam_white.png
new file mode 100644
index 000000000..ed20c0706
Binary files /dev/null and b/src/main/res/drawable-xxxhdpi/ic_attach_videocam_white.png differ
diff --git a/src/main/res/drawable-xxxhdpi/ic_send_videocam_away.png b/src/main/res/drawable-xxxhdpi/ic_send_videocam_away.png
new file mode 100644
index 000000000..174b4ec60
Binary files /dev/null and b/src/main/res/drawable-xxxhdpi/ic_send_videocam_away.png differ
diff --git a/src/main/res/drawable-xxxhdpi/ic_send_videocam_dnd.png b/src/main/res/drawable-xxxhdpi/ic_send_videocam_dnd.png
new file mode 100644
index 000000000..5abe11829
Binary files /dev/null and b/src/main/res/drawable-xxxhdpi/ic_send_videocam_dnd.png differ
diff --git a/src/main/res/drawable-xxxhdpi/ic_send_videocam_offline.png b/src/main/res/drawable-xxxhdpi/ic_send_videocam_offline.png
new file mode 100644
index 000000000..488d28bfe
Binary files /dev/null and b/src/main/res/drawable-xxxhdpi/ic_send_videocam_offline.png differ
diff --git a/src/main/res/drawable-xxxhdpi/ic_send_videocam_offline_white.png b/src/main/res/drawable-xxxhdpi/ic_send_videocam_offline_white.png
new file mode 100644
index 000000000..704c63c4d
Binary files /dev/null and b/src/main/res/drawable-xxxhdpi/ic_send_videocam_offline_white.png differ
diff --git a/src/main/res/drawable-xxxhdpi/ic_send_videocam_online.png b/src/main/res/drawable-xxxhdpi/ic_send_videocam_online.png
new file mode 100644
index 000000000..79b1b985c
Binary files /dev/null and b/src/main/res/drawable-xxxhdpi/ic_send_videocam_online.png differ
diff --git a/src/main/res/menu/attachment_choices.xml b/src/main/res/menu/attachment_choices.xml
index 28372c0a3..62e3f9acb 100644
--- a/src/main/res/menu/attachment_choices.xml
+++ b/src/main/res/menu/attachment_choices.xml
@@ -2,19 +2,9 @@
\ No newline at end of file
diff --git a/src/main/res/values-v21/themes.xml b/src/main/res/values-v21/themes.xml
index 8e57ef2d0..36c07d78e 100644
--- a/src/main/res/values-v21/themes.xml
+++ b/src/main/res/values-v21/themes.xml
@@ -29,9 +29,11 @@
- @drawable/ic_send_photo_offline
- @drawable/ic_send_picture_offline
- @drawable/ic_send_text_offline
+ - @drawable/ic_send_videocam_offline
- @drawable/ic_send_voice_offline
- @drawable/ic_attach_camera
+ - @drawable/ic_attach_videocam
- @drawable/ic_attach_document
- @drawable/ic_attach_location
- @drawable/ic_attach_photo
@@ -107,9 +109,11 @@
- @drawable/ic_send_photo_offline_white
- @drawable/ic_send_picture_offline_white
- @drawable/ic_send_text_offline_white
+ - @drawable/ic_send_videocam_offline_white
- @drawable/ic_send_voice_offline_white
- @drawable/ic_attach_camera_white
+ - @drawable/ic_attach_videocam_white
- @drawable/ic_attach_document_white
- @drawable/ic_attach_location_white
- @drawable/ic_attach_photo_white
diff --git a/src/main/res/values/arrays.xml b/src/main/res/values/arrays.xml
index 3ce79deec..63838b7e3 100644
--- a/src/main/res/values/arrays.xml
+++ b/src/main/res/values/arrays.xml
@@ -52,6 +52,7 @@
- @string/none
- @string/recently_used
- @string/attach_take_picture
+ - @string/attach_record_video
- @string/attach_choose_picture
- @string/attach_record_voice
- @string/send_location
@@ -60,10 +61,11 @@
- none
- recent
- - photo
- - picture
- - voice
- - location
+ - TAKE_PHOTO
+ - RECORD_VIDEO
+ - CHOOSE_PICTURE
+ - RECORD_VOICE
+ - SEND_LOCATION
diff --git a/src/main/res/values/attrs.xml b/src/main/res/values/attrs.xml
index 33637e5b5..f844894ba 100644
--- a/src/main/res/values/attrs.xml
+++ b/src/main/res/values/attrs.xml
@@ -20,9 +20,11 @@
+
+
diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml
index 5e86ca708..0be4878c0 100644
--- a/src/main/res/values/strings.xml
+++ b/src/main/res/values/strings.xml
@@ -724,4 +724,5 @@
Network is unreachable
Certificate does not contain a Jabber ID
partial
+ Record video
diff --git a/src/main/res/values/themes.xml b/src/main/res/values/themes.xml
index c4c925f32..61ebb0924 100644
--- a/src/main/res/values/themes.xml
+++ b/src/main/res/values/themes.xml
@@ -25,9 +25,11 @@
- @drawable/ic_send_photo_offline
- @drawable/ic_send_picture_offline
- @drawable/ic_send_text_offline
+ - @drawable/ic_send_videocam_offline
- @drawable/ic_send_voice_offline
- @drawable/ic_attach_camera
+ - @drawable/ic_attach_videocam
- @drawable/ic_attach_document
- @drawable/ic_attach_location
- @drawable/ic_attach_photo
@@ -100,9 +102,11 @@
- @drawable/ic_send_photo_offline_white
- @drawable/ic_send_picture_offline_white
- @drawable/ic_send_text_offline_white
+ - @drawable/ic_send_videocam_offline_white
- @drawable/ic_send_voice_offline_white
- @drawable/ic_attach_camera_white
+ - @drawable/ic_attach_videocam_white
- @drawable/ic_attach_document_white
- @drawable/ic_attach_location_white
- @drawable/ic_attach_photo_white