unified copy text and share with context menu entries

This commit is contained in:
Daniel Gultsch 2017-04-30 21:03:44 +02:00
parent cec9b9b35a
commit 7c31a981bb
3 changed files with 4 additions and 24 deletions

View file

@ -602,7 +602,6 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa
&& t == null; && t == null;
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 selectText = menu.findItem(R.id.select_text); MenuItem selectText = menu.findItem(R.id.select_text);
MenuItem retryDecryption = menu.findItem(R.id.retry_decryption); MenuItem retryDecryption = menu.findItem(R.id.retry_decryption);
MenuItem correctMessage = menu.findItem(R.id.correct_message); MenuItem correctMessage = menu.findItem(R.id.correct_message);
@ -613,12 +612,6 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa
MenuItem cancelTransmission = menu.findItem(R.id.cancel_transmission); MenuItem cancelTransmission = menu.findItem(R.id.cancel_transmission);
MenuItem deleteFile = menu.findItem(R.id.delete_file); MenuItem deleteFile = menu.findItem(R.id.delete_file);
MenuItem showErrorMessage = menu.findItem(R.id.show_error_message); MenuItem showErrorMessage = menu.findItem(R.id.show_error_message);
if (!treatAsFile
&& !GeoHelper.isGeoUri(m.getBody())
&& !m.treatAsDownloadable()) {
copyText.setVisible(true);
selectText.setVisible(ListSelectionManager.isSupported());
}
if (m.getEncryption() == Message.ENCRYPTION_DECRYPTION_FAILED) { if (m.getEncryption() == Message.ENCRYPTION_DECRYPTION_FAILED) {
retryDecryption.setVisible(true); retryDecryption.setVisible(true);
} }
@ -627,7 +620,7 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa
&& (m.getConversation().getMucOptions().nonanonymous() || m.getConversation().getMode() == Conversation.MODE_SINGLE)) { && (m.getConversation().getMucOptions().nonanonymous() || m.getConversation().getMode() == Conversation.MODE_SINGLE)) {
correctMessage.setVisible(true); correctMessage.setVisible(true);
} }
if (treatAsFile || (GeoHelper.isGeoUri(m.getBody()))) { if (treatAsFile || (m.getType() == Message.TYPE_TEXT && !m.treatAsDownloadable())) {
shareWith.setVisible(true); shareWith.setVisible(true);
} }
if (m.getStatus() == Message.STATUS_SEND_FAILED) { if (m.getStatus() == Message.STATUS_SEND_FAILED) {
@ -668,9 +661,6 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa
case R.id.share_with: case R.id.share_with:
shareWith(selectedMessage); shareWith(selectedMessage);
return true; return true;
case R.id.copy_text:
copyText(selectedMessage);
return true;
case R.id.select_text: case R.id.select_text:
selectText(selectedMessage); selectText(selectedMessage);
return true; return true;
@ -717,6 +707,9 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa
if (GeoHelper.isGeoUri(message.getBody())) { if (GeoHelper.isGeoUri(message.getBody())) {
shareIntent.putExtra(Intent.EXTRA_TEXT, message.getBody()); shareIntent.putExtra(Intent.EXTRA_TEXT, message.getBody());
shareIntent.setType("text/plain"); shareIntent.setType("text/plain");
} else if (!message.isFileOrImage()) {
shareIntent.putExtra(Intent.EXTRA_TEXT, message.getMergedBody().toString());
shareIntent.setType("text/plain");
} else { } else {
final DownloadableFile file = activity.xmppConnectionService.getFileBackend().getFile(message); final DownloadableFile file = activity.xmppConnectionService.getFileBackend().getFile(message);
try { try {
@ -740,14 +733,6 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa
} }
} }
private void copyText(Message message) {
if (activity.copyTextToClipboard(message.getMergedBody().toString(),
R.string.message_text)) {
Toast.makeText(activity, R.string.message_copied_to_clipboard,
Toast.LENGTH_SHORT).show();
}
}
private void selectText(Message message) { private void selectText(Message message) {
final int index; final int index;
synchronized (this.messageList) { synchronized (this.messageList) {

View file

@ -1,10 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" > <menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/copy_text"
android:title="@string/copy_text"
android:visible="false"/>
<item <item
android:id="@+id/select_text" android:id="@+id/select_text"
android:title="@string/select_text" android:title="@string/select_text"

View file

@ -364,7 +364,6 @@
<string name="check_x_filesize">Check %s size</string> <string name="check_x_filesize">Check %s size</string>
<string name="check_x_filesize_on_host">Check %1$s size on %2$s</string> <string name="check_x_filesize_on_host">Check %1$s size on %2$s</string>
<string name="message_options">Message options</string> <string name="message_options">Message options</string>
<string name="copy_text">Copy text</string>
<string name="select_text">Select text</string> <string name="select_text">Select text</string>
<string name="quote">Quote</string> <string name="quote">Quote</string>
<string name="copy_original_url">Copy original URL</string> <string name="copy_original_url">Copy original URL</string>