parent
77e4e1c2ac
commit
8d3323e384
|
@ -33,6 +33,7 @@ import android.widget.Toast;
|
||||||
|
|
||||||
import net.java.otr4j.session.SessionStatus;
|
import net.java.otr4j.session.SessionStatus;
|
||||||
|
|
||||||
|
import java.net.URLConnection;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.NoSuchElementException;
|
import java.util.NoSuchElementException;
|
||||||
|
@ -408,7 +409,7 @@ public class ConversationFragment extends Fragment {
|
||||||
activity.getMenuInflater().inflate(R.menu.message_context, menu);
|
activity.getMenuInflater().inflate(R.menu.message_context, menu);
|
||||||
menu.setHeaderTitle(R.string.message_options);
|
menu.setHeaderTitle(R.string.message_options);
|
||||||
MenuItem copyText = menu.findItem(R.id.copy_text);
|
MenuItem copyText = menu.findItem(R.id.copy_text);
|
||||||
MenuItem shareImage = menu.findItem(R.id.share_image);
|
MenuItem shareWith = menu.findItem(R.id.share_with);
|
||||||
MenuItem sendAgain = menu.findItem(R.id.send_again);
|
MenuItem sendAgain = menu.findItem(R.id.send_again);
|
||||||
MenuItem copyUrl = menu.findItem(R.id.copy_url);
|
MenuItem copyUrl = menu.findItem(R.id.copy_url);
|
||||||
MenuItem downloadImage = menu.findItem(R.id.download_image);
|
MenuItem downloadImage = menu.findItem(R.id.download_image);
|
||||||
|
@ -416,8 +417,10 @@ public class ConversationFragment extends Fragment {
|
||||||
if (m.getType() != Message.TYPE_TEXT || m.getDownloadable() != null) {
|
if (m.getType() != Message.TYPE_TEXT || m.getDownloadable() != null) {
|
||||||
copyText.setVisible(false);
|
copyText.setVisible(false);
|
||||||
}
|
}
|
||||||
if (m.getType() != Message.TYPE_IMAGE || m.getDownloadable() != null) {
|
if (m.getType() == Message.TYPE_TEXT
|
||||||
shareImage.setVisible(false);
|
|| m.getType() == Message.TYPE_PRIVATE
|
||||||
|
|| m.getDownloadable() != null) {
|
||||||
|
shareWith.setVisible(false);
|
||||||
}
|
}
|
||||||
if (m.getStatus() != Message.STATUS_SEND_FAILED) {
|
if (m.getStatus() != Message.STATUS_SEND_FAILED) {
|
||||||
sendAgain.setVisible(false);
|
sendAgain.setVisible(false);
|
||||||
|
@ -425,24 +428,25 @@ public class ConversationFragment extends Fragment {
|
||||||
if ((m.getType() != Message.TYPE_IMAGE && m.getDownloadable() == null)
|
if ((m.getType() != Message.TYPE_IMAGE && m.getDownloadable() == null)
|
||||||
|| m.getImageParams().url == null) {
|
|| m.getImageParams().url == null) {
|
||||||
copyUrl.setVisible(false);
|
copyUrl.setVisible(false);
|
||||||
}
|
}
|
||||||
if (m.getType() != Message.TYPE_TEXT
|
if (m.getType() != Message.TYPE_TEXT
|
||||||
|| m.getDownloadable() != null
|
|| m.getDownloadable() != null
|
||||||
|| !m.bodyContainsDownloadable()) {
|
|| !m.bodyContainsDownloadable()) {
|
||||||
downloadImage.setVisible(false);
|
downloadImage.setVisible(false);
|
||||||
}
|
}
|
||||||
if (!((m.getDownloadable() != null && !(m.getDownloadable() instanceof DownloadablePlaceholder))
|
if (!((m.getDownloadable() != null && !(m.getDownloadable() instanceof DownloadablePlaceholder))
|
||||||
|| (m.isFileOrImage() && m.getStatus() == Message.STATUS_WAITING))) {
|
|| (m.isFileOrImage() && (m.getStatus() == Message.STATUS_WAITING
|
||||||
|
|| m.getStatus() == Message.STATUS_OFFERED)))) {
|
||||||
cancelTransmission.setVisible(false);
|
cancelTransmission.setVisible(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onContextItemSelected(MenuItem item) {
|
public boolean onContextItemSelected(MenuItem item) {
|
||||||
switch (item.getItemId()) {
|
switch (item.getItemId()) {
|
||||||
case R.id.share_image:
|
case R.id.share_with:
|
||||||
shareImage(selectedMessage);
|
shareWith(selectedMessage);
|
||||||
return true;
|
return true;
|
||||||
case R.id.copy_text:
|
case R.id.copy_text:
|
||||||
copyText(selectedMessage);
|
copyText(selectedMessage);
|
||||||
|
@ -464,16 +468,20 @@ public class ConversationFragment extends Fragment {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void shareImage(Message message) {
|
private void shareWith(Message message) {
|
||||||
Intent shareIntent = new Intent();
|
Intent shareIntent = new Intent();
|
||||||
shareIntent.setAction(Intent.ACTION_SEND);
|
shareIntent.setAction(Intent.ACTION_SEND);
|
||||||
shareIntent.putExtra(Intent.EXTRA_STREAM,
|
shareIntent.putExtra(Intent.EXTRA_STREAM,
|
||||||
activity.xmppConnectionService.getFileBackend()
|
activity.xmppConnectionService.getFileBackend()
|
||||||
.getJingleFileUri(message));
|
.getJingleFileUri(message));
|
||||||
shareIntent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
|
shareIntent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
|
||||||
shareIntent.setType("image/webp");
|
String path = message.getRelativeFilePath();
|
||||||
activity.startActivity(Intent.createChooser(shareIntent,
|
String mime = path == null ? null :URLConnection.guessContentTypeFromName(path);
|
||||||
getText(R.string.share_with)));
|
if (mime == null) {
|
||||||
|
mime = "image/webp";
|
||||||
|
}
|
||||||
|
shareIntent.setType(mime);
|
||||||
|
activity.startActivity(Intent.createChooser(shareIntent,getText(R.string.share_with)));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void copyText(Message message) {
|
private void copyText(Message message) {
|
||||||
|
|
|
@ -5,8 +5,8 @@
|
||||||
android:id="@+id/copy_text"
|
android:id="@+id/copy_text"
|
||||||
android:title="@string/copy_text"/>
|
android:title="@string/copy_text"/>
|
||||||
<item
|
<item
|
||||||
android:id="@+id/share_image"
|
android:id="@+id/share_with"
|
||||||
android:title="@string/share_image"/>
|
android:title="@string/share_with"/>
|
||||||
<item
|
<item
|
||||||
android:id="@+id/copy_url"
|
android:id="@+id/copy_url"
|
||||||
android:title="@string/copy_original_url"/>
|
android:title="@string/copy_original_url"/>
|
||||||
|
|
|
@ -47,7 +47,7 @@
|
||||||
<string name="remove_bookmark_text">Would you like to remove %s as a bookmark? The conversation associated with this bookmark will not be removed.</string>
|
<string name="remove_bookmark_text">Would you like to remove %s as a bookmark? The conversation associated with this bookmark will not be removed.</string>
|
||||||
<string name="register_account">Register new account on server</string>
|
<string name="register_account">Register new account on server</string>
|
||||||
<string name="change_password_on_server">Change password on server</string>
|
<string name="change_password_on_server">Change password on server</string>
|
||||||
<string name="share_with">Share with</string>
|
<string name="share_with">Share with…</string>
|
||||||
<string name="start_conversation">Start Conversation</string>
|
<string name="start_conversation">Start Conversation</string>
|
||||||
<string name="invite_contact">Invite Contact</string>
|
<string name="invite_contact">Invite Contact</string>
|
||||||
<string name="contacts">Contacts</string>
|
<string name="contacts">Contacts</string>
|
||||||
|
@ -328,7 +328,6 @@
|
||||||
<string name="check_image_filesize">Check image file size</string>
|
<string name="check_image_filesize">Check image file size</string>
|
||||||
<string name="message_options">Message options</string>
|
<string name="message_options">Message options</string>
|
||||||
<string name="copy_text">Copy text</string>
|
<string name="copy_text">Copy text</string>
|
||||||
<string name="share_image">Share image</string>
|
|
||||||
<string name="copy_original_url">Copy original URL</string>
|
<string name="copy_original_url">Copy original URL</string>
|
||||||
<string name="send_again">Send again</string>
|
<string name="send_again">Send again</string>
|
||||||
<string name="image_url">Image URL</string>
|
<string name="image_url">Image URL</string>
|
||||||
|
|
Loading…
Reference in a new issue