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 @@ + + + + + + image/svg+xml + + + + + + + + + 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 @@ + + + + + + image/svg+xml + + + + + + + + + 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 @@ + + + + + + image/svg+xml + + + + + + + + + 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 @@ + + + + + + image/svg+xml + + + + + + + + + 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