diff --git a/art/ic_send_picture_away.svg b/art/ic_send_picture_away.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a85a1eecbbf64ec7b0b04bd6a6c95ddf6c758d00
--- /dev/null
+++ b/art/ic_send_picture_away.svg
@@ -0,0 +1,55 @@
+
+
diff --git a/art/ic_send_picture_dnd.svg b/art/ic_send_picture_dnd.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0c7d06356a94eac05b3dc0ec13a1803fdb254bc1
--- /dev/null
+++ b/art/ic_send_picture_dnd.svg
@@ -0,0 +1,55 @@
+
+
diff --git a/art/ic_send_picture_offline.svg b/art/ic_send_picture_offline.svg
new file mode 100644
index 0000000000000000000000000000000000000000..048508a356dce7746391c69dae3b0afd74966ce6
--- /dev/null
+++ b/art/ic_send_picture_offline.svg
@@ -0,0 +1,55 @@
+
+
diff --git a/art/ic_send_picture_online.svg b/art/ic_send_picture_online.svg
new file mode 100644
index 0000000000000000000000000000000000000000..06181bbdab84187cbacd46c0b7f16063430ba5d7
--- /dev/null
+++ b/art/ic_send_picture_online.svg
@@ -0,0 +1,55 @@
+
+
diff --git a/art/render.rb b/art/render.rb
index ad53b1f4fa6c52c980bbcfded8175c5a91ce853f..698abea5b05f19cdae288881f4e83c1cc09e10c7 100755
--- a/art/render.rb
+++ b/art/render.rb
@@ -30,6 +30,10 @@ images = {
'ic_send_cancel_offline.svg' => ['ic_send_cancel_offline', 36],
'ic_send_cancel_away.svg' => ['ic_send_cancel_away', 36],
'ic_send_cancel_dnd.svg' => ['ic_send_cancel_dnd', 36],
+ 'ic_send_picture_online.svg' => ['ic_send_picture_online', 36],
+ 'ic_send_picture_offline.svg' => ['ic_send_picture_offline', 36],
+ 'ic_send_picture_away.svg' => ['ic_send_picture_away', 36],
+ 'ic_send_picture_dnd.svg' => ['ic_send_picture_dnd', 36]
}
images.each do |source, result|
resolutions.each do |name, factor|
diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java b/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java
index d9f56c5dbc2a094309c330648f20b15b6e7c4c35..c48b5865c426dbbbd45f3c92052f07c81718ed4a 100644
--- a/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java
+++ b/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java
@@ -479,6 +479,9 @@ public class ConversationActivity extends XmppActivity
case ATTACHMENT_CHOICE_TAKE_PHOTO:
getPreferences().edit().putString("recently_used_quick_action","photo").apply();
break;
+ case ATTACHMENT_CHOICE_CHOOSE_IMAGE:
+ getPreferences().edit().putString("recently_used_quick_action","picture").apply();
+ break;
}
final Conversation conversation = getSelectedConversation();
final int encryption = conversation.getNextEncryption(forceEncryption());
diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java b/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java
index 02f664db597f4e631d8bab7bf783965e7e8b7383..a817b27bfc925067dd823bbb3d40d56803c60ad6 100644
--- a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java
+++ b/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java
@@ -256,6 +256,9 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa
case RECORD_VOICE:
activity.attachFile(ConversationActivity.ATTACHMENT_CHOICE_RECORD_VOICE);
break;
+ case CHOOSE_PICTURE:
+ activity.attachFile(ConversationActivity.ATTACHMENT_CHOICE_CHOOSE_IMAGE);
+ break;
case CANCEL:
if (conversation != null && conversation.getMode() == Conversation.MODE_MULTI) {
conversation.setNextCounterpart(null);
@@ -818,7 +821,7 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa
updateChatMsgHint();
}
- enum SendButtonAction {TEXT, TAKE_PHOTO, SEND_LOCATION, RECORD_VOICE, CANCEL}
+ enum SendButtonAction {TEXT, TAKE_PHOTO, SEND_LOCATION, RECORD_VOICE, CANCEL, CHOOSE_PICTURE}
private int getSendButtonImageResource(SendButtonAction action, int status) {
switch (action) {
@@ -887,6 +890,19 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa
default:
return R.drawable.ic_send_cancel_offline;
}
+ case CHOOSE_PICTURE:
+ switch (status) {
+ case Presences.CHAT:
+ case Presences.ONLINE:
+ return R.drawable.ic_send_picture_online;
+ case Presences.AWAY:
+ return R.drawable.ic_send_picture_away;
+ case Presences.XA:
+ case Presences.DND:
+ return R.drawable.ic_send_picture_dnd;
+ default:
+ return R.drawable.ic_send_picture_offline;
+ }
}
return R.drawable.ic_send_text_offline;
}
@@ -920,6 +936,9 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa
case "voice":
action = SendButtonAction.RECORD_VOICE;
break;
+ case "picture":
+ action = SendButtonAction.CHOOSE_PICTURE;
+ break;
default:
action = SendButtonAction.TEXT;
break;
diff --git a/src/main/res/drawable-hdpi/ic_send_picture_away.png b/src/main/res/drawable-hdpi/ic_send_picture_away.png
new file mode 100644
index 0000000000000000000000000000000000000000..09d1c7b7a404c258bb563b3e83bcf636d0b7f38a
Binary files /dev/null and b/src/main/res/drawable-hdpi/ic_send_picture_away.png differ
diff --git a/src/main/res/drawable-hdpi/ic_send_picture_dnd.png b/src/main/res/drawable-hdpi/ic_send_picture_dnd.png
new file mode 100644
index 0000000000000000000000000000000000000000..77964b5b57859c49933652f25d5a67f44f40be1a
Binary files /dev/null and b/src/main/res/drawable-hdpi/ic_send_picture_dnd.png differ
diff --git a/src/main/res/drawable-hdpi/ic_send_picture_offline.png b/src/main/res/drawable-hdpi/ic_send_picture_offline.png
new file mode 100644
index 0000000000000000000000000000000000000000..28135e25b951f4aa468be88d3a57bfa67418a5bd
Binary files /dev/null and b/src/main/res/drawable-hdpi/ic_send_picture_offline.png differ
diff --git a/src/main/res/drawable-hdpi/ic_send_picture_online.png b/src/main/res/drawable-hdpi/ic_send_picture_online.png
new file mode 100644
index 0000000000000000000000000000000000000000..feb926c6fafdcee8eb3aa8b3159346cf2fcead90
Binary files /dev/null and b/src/main/res/drawable-hdpi/ic_send_picture_online.png differ
diff --git a/src/main/res/drawable-mdpi/ic_send_picture_away.png b/src/main/res/drawable-mdpi/ic_send_picture_away.png
new file mode 100644
index 0000000000000000000000000000000000000000..d3ebca5356039f4165ab048b7848a22bad20080b
Binary files /dev/null and b/src/main/res/drawable-mdpi/ic_send_picture_away.png differ
diff --git a/src/main/res/drawable-mdpi/ic_send_picture_dnd.png b/src/main/res/drawable-mdpi/ic_send_picture_dnd.png
new file mode 100644
index 0000000000000000000000000000000000000000..1d293f20d42759fdf7f1c15868ae41cdd9f38e06
Binary files /dev/null and b/src/main/res/drawable-mdpi/ic_send_picture_dnd.png differ
diff --git a/src/main/res/drawable-mdpi/ic_send_picture_offline.png b/src/main/res/drawable-mdpi/ic_send_picture_offline.png
new file mode 100644
index 0000000000000000000000000000000000000000..95d5621e6db22aa6829c07d7f0dba8301061e108
Binary files /dev/null and b/src/main/res/drawable-mdpi/ic_send_picture_offline.png differ
diff --git a/src/main/res/drawable-mdpi/ic_send_picture_online.png b/src/main/res/drawable-mdpi/ic_send_picture_online.png
new file mode 100644
index 0000000000000000000000000000000000000000..be4194d342dd5c140ff70182687a978abe910fbf
Binary files /dev/null and b/src/main/res/drawable-mdpi/ic_send_picture_online.png differ
diff --git a/src/main/res/drawable-xhdpi/ic_send_picture_away.png b/src/main/res/drawable-xhdpi/ic_send_picture_away.png
new file mode 100644
index 0000000000000000000000000000000000000000..f9aa21dc81b9ef39258440b55604c49c6fc46c22
Binary files /dev/null and b/src/main/res/drawable-xhdpi/ic_send_picture_away.png differ
diff --git a/src/main/res/drawable-xhdpi/ic_send_picture_dnd.png b/src/main/res/drawable-xhdpi/ic_send_picture_dnd.png
new file mode 100644
index 0000000000000000000000000000000000000000..95e4acce7b9c44d7858fc326118126ff5b48fadd
Binary files /dev/null and b/src/main/res/drawable-xhdpi/ic_send_picture_dnd.png differ
diff --git a/src/main/res/drawable-xhdpi/ic_send_picture_offline.png b/src/main/res/drawable-xhdpi/ic_send_picture_offline.png
new file mode 100644
index 0000000000000000000000000000000000000000..75ff2fc4e0301216f0702773c958e8c61600c54b
Binary files /dev/null and b/src/main/res/drawable-xhdpi/ic_send_picture_offline.png differ
diff --git a/src/main/res/drawable-xhdpi/ic_send_picture_online.png b/src/main/res/drawable-xhdpi/ic_send_picture_online.png
new file mode 100644
index 0000000000000000000000000000000000000000..0f68d5f52aeb5baebb6072497a4c9ac77c8e6e34
Binary files /dev/null and b/src/main/res/drawable-xhdpi/ic_send_picture_online.png differ
diff --git a/src/main/res/drawable-xxhdpi/ic_send_picture_away.png b/src/main/res/drawable-xxhdpi/ic_send_picture_away.png
new file mode 100644
index 0000000000000000000000000000000000000000..7898ed4fb2ffd667e606d690dbe9cc08821cae76
Binary files /dev/null and b/src/main/res/drawable-xxhdpi/ic_send_picture_away.png differ
diff --git a/src/main/res/drawable-xxhdpi/ic_send_picture_dnd.png b/src/main/res/drawable-xxhdpi/ic_send_picture_dnd.png
new file mode 100644
index 0000000000000000000000000000000000000000..ccffabbef3d801f9d57426ad5022e02e53dda015
Binary files /dev/null and b/src/main/res/drawable-xxhdpi/ic_send_picture_dnd.png differ
diff --git a/src/main/res/drawable-xxhdpi/ic_send_picture_offline.png b/src/main/res/drawable-xxhdpi/ic_send_picture_offline.png
new file mode 100644
index 0000000000000000000000000000000000000000..7b5687e42e3d5814d0aa65885f25ac297a345c4b
Binary files /dev/null and b/src/main/res/drawable-xxhdpi/ic_send_picture_offline.png differ
diff --git a/src/main/res/drawable-xxhdpi/ic_send_picture_online.png b/src/main/res/drawable-xxhdpi/ic_send_picture_online.png
new file mode 100644
index 0000000000000000000000000000000000000000..82eab70c0ee41fb9439f2ebee2c355d747ef0fa1
Binary files /dev/null and b/src/main/res/drawable-xxhdpi/ic_send_picture_online.png differ
diff --git a/src/main/res/drawable-xxxhdpi/ic_send_picture_away.png b/src/main/res/drawable-xxxhdpi/ic_send_picture_away.png
new file mode 100644
index 0000000000000000000000000000000000000000..1daa8eccec860f108690c8a2156b5731f5c60e30
Binary files /dev/null and b/src/main/res/drawable-xxxhdpi/ic_send_picture_away.png differ
diff --git a/src/main/res/drawable-xxxhdpi/ic_send_picture_dnd.png b/src/main/res/drawable-xxxhdpi/ic_send_picture_dnd.png
new file mode 100644
index 0000000000000000000000000000000000000000..d8257aad00c003aab9c2a30a380f8fc9ca3fa249
Binary files /dev/null and b/src/main/res/drawable-xxxhdpi/ic_send_picture_dnd.png differ
diff --git a/src/main/res/drawable-xxxhdpi/ic_send_picture_offline.png b/src/main/res/drawable-xxxhdpi/ic_send_picture_offline.png
new file mode 100644
index 0000000000000000000000000000000000000000..d487709be99746da81f95d3d5e7aedfa1fc136bf
Binary files /dev/null and b/src/main/res/drawable-xxxhdpi/ic_send_picture_offline.png differ
diff --git a/src/main/res/drawable-xxxhdpi/ic_send_picture_online.png b/src/main/res/drawable-xxxhdpi/ic_send_picture_online.png
new file mode 100644
index 0000000000000000000000000000000000000000..c095d7959e73c2c7ac6b53a3d97d62991e67fb09
Binary files /dev/null and b/src/main/res/drawable-xxxhdpi/ic_send_picture_online.png differ
diff --git a/src/main/res/values/arrays.xml b/src/main/res/values/arrays.xml
index fec077ccc21a67b4b2a825f28898b3af76613781..5be352d1cae557b5a07ee02038d3cbd37b863252 100644
--- a/src/main/res/values/arrays.xml
+++ b/src/main/res/values/arrays.xml
@@ -44,6 +44,7 @@
- @string/none
- @string/recently_used
- @string/attach_take_picture
+ - @string/attach_choose_picture
- @string/attach_record_voice
- @string/send_location
@@ -52,6 +53,7 @@
- none
- recent
- photo
+ - picture
- voice
- location