unified copy text and share with context menu entries
This commit is contained in:
		
							parent
							
								
									cec9b9b35a
								
							
						
					
					
						commit
						7c31a981bb
					
				| @ -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) { | ||||||
|  | |||||||
| @ -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" | ||||||
|  | |||||||
| @ -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> | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Daniel Gultsch
						Daniel Gultsch