added choose picture as another quick action. fixes #1221
55
art/ic_send_picture_away.svg
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="48"
|
||||||
|
height="48"
|
||||||
|
viewBox="0 0 48 48"
|
||||||
|
id="svg2"
|
||||||
|
version="1.1"
|
||||||
|
inkscape:version="0.91 r13725"
|
||||||
|
sodipodi:docname="ic_send_picture_away.svg">
|
||||||
|
<metadata
|
||||||
|
id="metadata10">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<defs
|
||||||
|
id="defs8" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1916"
|
||||||
|
inkscape:window-height="1036"
|
||||||
|
id="namedview6"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="4.9166667"
|
||||||
|
inkscape:cx="6.5084746"
|
||||||
|
inkscape:cy="24"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="20"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
inkscape:current-layer="svg2" />
|
||||||
|
<path
|
||||||
|
d="M42 38V10c0-2.21-1.79-4-4-4H10c-2.21 0-4 1.79-4 4v28c0 2.21 1.79 4 4 4h28c2.21 0 4-1.79 4-4zM17 27l5 6.01L29 24l9 12H10l7-9z"
|
||||||
|
id="path4"
|
||||||
|
style="fill:#ff9800;fill-opacity:0.627451" />
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.6 KiB |
55
art/ic_send_picture_dnd.svg
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="48"
|
||||||
|
height="48"
|
||||||
|
viewBox="0 0 48 48"
|
||||||
|
id="svg2"
|
||||||
|
version="1.1"
|
||||||
|
inkscape:version="0.91 r13725"
|
||||||
|
sodipodi:docname="ic_send_picture_dnd.svg">
|
||||||
|
<metadata
|
||||||
|
id="metadata10">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<defs
|
||||||
|
id="defs8" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1916"
|
||||||
|
inkscape:window-height="1036"
|
||||||
|
id="namedview6"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="4.9166667"
|
||||||
|
inkscape:cx="6.5084746"
|
||||||
|
inkscape:cy="24"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="20"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
inkscape:current-layer="svg2" />
|
||||||
|
<path
|
||||||
|
d="M42 38V10c0-2.21-1.79-4-4-4H10c-2.21 0-4 1.79-4 4v28c0 2.21 1.79 4 4 4h28c2.21 0 4-1.79 4-4zM17 27l5 6.01L29 24l9 12H10l7-9z"
|
||||||
|
id="path4"
|
||||||
|
style="fill:#f44336;fill-opacity:0.627451" />
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.6 KiB |
55
art/ic_send_picture_offline.svg
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="48"
|
||||||
|
height="48"
|
||||||
|
viewBox="0 0 48 48"
|
||||||
|
id="svg2"
|
||||||
|
version="1.1"
|
||||||
|
inkscape:version="0.91 r13725"
|
||||||
|
sodipodi:docname="ic_send_picture_offline.svg">
|
||||||
|
<metadata
|
||||||
|
id="metadata10">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<defs
|
||||||
|
id="defs8" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1916"
|
||||||
|
inkscape:window-height="1036"
|
||||||
|
id="namedview6"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="4.9166667"
|
||||||
|
inkscape:cx="6.5084746"
|
||||||
|
inkscape:cy="24"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="20"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
inkscape:current-layer="svg2" />
|
||||||
|
<path
|
||||||
|
d="M42 38V10c0-2.21-1.79-4-4-4H10c-2.21 0-4 1.79-4 4v28c0 2.21 1.79 4 4 4h28c2.21 0 4-1.79 4-4zM17 27l5 6.01L29 24l9 12H10l7-9z"
|
||||||
|
id="path4"
|
||||||
|
style="fill:#000000;fill-opacity:0.627451" />
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.6 KiB |
55
art/ic_send_picture_online.svg
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="48"
|
||||||
|
height="48"
|
||||||
|
viewBox="0 0 48 48"
|
||||||
|
id="svg2"
|
||||||
|
version="1.1"
|
||||||
|
inkscape:version="0.91 r13725"
|
||||||
|
sodipodi:docname="ic_send_picture_online.svg">
|
||||||
|
<metadata
|
||||||
|
id="metadata10">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<defs
|
||||||
|
id="defs8" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1916"
|
||||||
|
inkscape:window-height="1036"
|
||||||
|
id="namedview6"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="4.9166667"
|
||||||
|
inkscape:cx="6.5084746"
|
||||||
|
inkscape:cy="24"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="20"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
inkscape:current-layer="svg2" />
|
||||||
|
<path
|
||||||
|
d="M42 38V10c0-2.21-1.79-4-4-4H10c-2.21 0-4 1.79-4 4v28c0 2.21 1.79 4 4 4h28c2.21 0 4-1.79 4-4zM17 27l5 6.01L29 24l9 12H10l7-9z"
|
||||||
|
id="path4"
|
||||||
|
style="fill:#259b24;fill-opacity:0.627451" />
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.6 KiB |
@ -30,6 +30,10 @@ images = {
|
|||||||
'ic_send_cancel_offline.svg' => ['ic_send_cancel_offline', 36],
|
'ic_send_cancel_offline.svg' => ['ic_send_cancel_offline', 36],
|
||||||
'ic_send_cancel_away.svg' => ['ic_send_cancel_away', 36],
|
'ic_send_cancel_away.svg' => ['ic_send_cancel_away', 36],
|
||||||
'ic_send_cancel_dnd.svg' => ['ic_send_cancel_dnd', 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|
|
images.each do |source, result|
|
||||||
resolutions.each do |name, factor|
|
resolutions.each do |name, factor|
|
||||||
|
@ -479,6 +479,9 @@ public class ConversationActivity extends XmppActivity
|
|||||||
case ATTACHMENT_CHOICE_TAKE_PHOTO:
|
case ATTACHMENT_CHOICE_TAKE_PHOTO:
|
||||||
getPreferences().edit().putString("recently_used_quick_action","photo").apply();
|
getPreferences().edit().putString("recently_used_quick_action","photo").apply();
|
||||||
break;
|
break;
|
||||||
|
case ATTACHMENT_CHOICE_CHOOSE_IMAGE:
|
||||||
|
getPreferences().edit().putString("recently_used_quick_action","picture").apply();
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
final Conversation conversation = getSelectedConversation();
|
final Conversation conversation = getSelectedConversation();
|
||||||
final int encryption = conversation.getNextEncryption(forceEncryption());
|
final int encryption = conversation.getNextEncryption(forceEncryption());
|
||||||
|
@ -256,6 +256,9 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa
|
|||||||
case RECORD_VOICE:
|
case RECORD_VOICE:
|
||||||
activity.attachFile(ConversationActivity.ATTACHMENT_CHOICE_RECORD_VOICE);
|
activity.attachFile(ConversationActivity.ATTACHMENT_CHOICE_RECORD_VOICE);
|
||||||
break;
|
break;
|
||||||
|
case CHOOSE_PICTURE:
|
||||||
|
activity.attachFile(ConversationActivity.ATTACHMENT_CHOICE_CHOOSE_IMAGE);
|
||||||
|
break;
|
||||||
case CANCEL:
|
case CANCEL:
|
||||||
if (conversation != null && conversation.getMode() == Conversation.MODE_MULTI) {
|
if (conversation != null && conversation.getMode() == Conversation.MODE_MULTI) {
|
||||||
conversation.setNextCounterpart(null);
|
conversation.setNextCounterpart(null);
|
||||||
@ -818,7 +821,7 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa
|
|||||||
updateChatMsgHint();
|
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) {
|
private int getSendButtonImageResource(SendButtonAction action, int status) {
|
||||||
switch (action) {
|
switch (action) {
|
||||||
@ -887,6 +890,19 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa
|
|||||||
default:
|
default:
|
||||||
return R.drawable.ic_send_cancel_offline;
|
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;
|
return R.drawable.ic_send_text_offline;
|
||||||
}
|
}
|
||||||
@ -920,6 +936,9 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa
|
|||||||
case "voice":
|
case "voice":
|
||||||
action = SendButtonAction.RECORD_VOICE;
|
action = SendButtonAction.RECORD_VOICE;
|
||||||
break;
|
break;
|
||||||
|
case "picture":
|
||||||
|
action = SendButtonAction.CHOOSE_PICTURE;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
action = SendButtonAction.TEXT;
|
action = SendButtonAction.TEXT;
|
||||||
break;
|
break;
|
||||||
|
BIN
src/main/res/drawable-hdpi/ic_send_picture_away.png
Normal file
After Width: | Height: | Size: 790 B |
BIN
src/main/res/drawable-hdpi/ic_send_picture_dnd.png
Normal file
After Width: | Height: | Size: 884 B |
BIN
src/main/res/drawable-hdpi/ic_send_picture_offline.png
Normal file
After Width: | Height: | Size: 657 B |
BIN
src/main/res/drawable-hdpi/ic_send_picture_online.png
Normal file
After Width: | Height: | Size: 867 B |
BIN
src/main/res/drawable-mdpi/ic_send_picture_away.png
Normal file
After Width: | Height: | Size: 512 B |
BIN
src/main/res/drawable-mdpi/ic_send_picture_dnd.png
Normal file
After Width: | Height: | Size: 585 B |
BIN
src/main/res/drawable-mdpi/ic_send_picture_offline.png
Normal file
After Width: | Height: | Size: 456 B |
BIN
src/main/res/drawable-mdpi/ic_send_picture_online.png
Normal file
After Width: | Height: | Size: 580 B |
BIN
src/main/res/drawable-xhdpi/ic_send_picture_away.png
Normal file
After Width: | Height: | Size: 899 B |
BIN
src/main/res/drawable-xhdpi/ic_send_picture_dnd.png
Normal file
After Width: | Height: | Size: 1016 B |
BIN
src/main/res/drawable-xhdpi/ic_send_picture_offline.png
Normal file
After Width: | Height: | Size: 799 B |
BIN
src/main/res/drawable-xhdpi/ic_send_picture_online.png
Normal file
After Width: | Height: | Size: 997 B |
BIN
src/main/res/drawable-xxhdpi/ic_send_picture_away.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
src/main/res/drawable-xxhdpi/ic_send_picture_dnd.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
src/main/res/drawable-xxhdpi/ic_send_picture_offline.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
src/main/res/drawable-xxhdpi/ic_send_picture_online.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
src/main/res/drawable-xxxhdpi/ic_send_picture_away.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
src/main/res/drawable-xxxhdpi/ic_send_picture_dnd.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
src/main/res/drawable-xxxhdpi/ic_send_picture_offline.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
src/main/res/drawable-xxxhdpi/ic_send_picture_online.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
@ -44,6 +44,7 @@
|
|||||||
<item>@string/none</item>
|
<item>@string/none</item>
|
||||||
<item>@string/recently_used</item>
|
<item>@string/recently_used</item>
|
||||||
<item>@string/attach_take_picture</item>
|
<item>@string/attach_take_picture</item>
|
||||||
|
<item>@string/attach_choose_picture</item>
|
||||||
<item>@string/attach_record_voice</item>
|
<item>@string/attach_record_voice</item>
|
||||||
<item>@string/send_location</item>
|
<item>@string/send_location</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
@ -52,6 +53,7 @@
|
|||||||
<item>none</item>
|
<item>none</item>
|
||||||
<item>recent</item>
|
<item>recent</item>
|
||||||
<item>photo</item>
|
<item>photo</item>
|
||||||
|
<item>picture</item>
|
||||||
<item>voice</item>
|
<item>voice</item>
|
||||||
<item>location</item>
|
<item>location</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|