mirror of
https://github.com/moparisthebest/Conversations
synced 2024-12-26 01:09:13 -05:00
allow to copy original url even while downloading. fixes #1743
This commit is contained in:
parent
cc67bfd8db
commit
07263370d9
@ -53,6 +53,7 @@ import eu.siacs.conversations.entities.MucOptions;
|
|||||||
import eu.siacs.conversations.entities.Presence;
|
import eu.siacs.conversations.entities.Presence;
|
||||||
import eu.siacs.conversations.entities.Transferable;
|
import eu.siacs.conversations.entities.Transferable;
|
||||||
import eu.siacs.conversations.entities.TransferablePlaceholder;
|
import eu.siacs.conversations.entities.TransferablePlaceholder;
|
||||||
|
import eu.siacs.conversations.http.HttpDownloadConnection;
|
||||||
import eu.siacs.conversations.services.MessageArchiveService;
|
import eu.siacs.conversations.services.MessageArchiveService;
|
||||||
import eu.siacs.conversations.services.XmppConnectionService;
|
import eu.siacs.conversations.services.XmppConnectionService;
|
||||||
import eu.siacs.conversations.ui.XmppActivity.OnPresenceSelected;
|
import eu.siacs.conversations.ui.XmppActivity.OnPresenceSelected;
|
||||||
@ -520,6 +521,7 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa
|
|||||||
|
|
||||||
private void populateContextMenu(ContextMenu menu) {
|
private void populateContextMenu(ContextMenu menu) {
|
||||||
final Message m = this.selectedMessage;
|
final Message m = this.selectedMessage;
|
||||||
|
final Transferable t = m.getTransferable();
|
||||||
Message relevantForCorrection = m;
|
Message relevantForCorrection = m;
|
||||||
while(relevantForCorrection.mergeable(relevantForCorrection.next())) {
|
while(relevantForCorrection.mergeable(relevantForCorrection.next())) {
|
||||||
relevantForCorrection = relevantForCorrection.next();
|
relevantForCorrection = relevantForCorrection.next();
|
||||||
@ -536,7 +538,7 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa
|
|||||||
MenuItem downloadFile = menu.findItem(R.id.download_file);
|
MenuItem downloadFile = menu.findItem(R.id.download_file);
|
||||||
MenuItem cancelTransmission = menu.findItem(R.id.cancel_transmission);
|
MenuItem cancelTransmission = menu.findItem(R.id.cancel_transmission);
|
||||||
if ((m.getType() == Message.TYPE_TEXT || m.getType() == Message.TYPE_PRIVATE)
|
if ((m.getType() == Message.TYPE_TEXT || m.getType() == Message.TYPE_PRIVATE)
|
||||||
&& m.getTransferable() == null
|
&& t == null
|
||||||
&& !GeoHelper.isGeoUri(m.getBody())
|
&& !GeoHelper.isGeoUri(m.getBody())
|
||||||
&& m.treatAsDownloadable() != Message.Decision.MUST) {
|
&& m.treatAsDownloadable() != Message.Decision.MUST) {
|
||||||
copyText.setVisible(true);
|
copyText.setVisible(true);
|
||||||
@ -550,7 +552,7 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa
|
|||||||
}
|
}
|
||||||
if ((m.getType() != Message.TYPE_TEXT
|
if ((m.getType() != Message.TYPE_TEXT
|
||||||
&& m.getType() != Message.TYPE_PRIVATE
|
&& m.getType() != Message.TYPE_PRIVATE
|
||||||
&& m.getTransferable() == null)
|
&& t == null)
|
||||||
|| (GeoHelper.isGeoUri(m.getBody()))) {
|
|| (GeoHelper.isGeoUri(m.getBody()))) {
|
||||||
shareWith.setVisible(true);
|
shareWith.setVisible(true);
|
||||||
}
|
}
|
||||||
@ -559,15 +561,16 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa
|
|||||||
}
|
}
|
||||||
if (m.hasFileOnRemoteHost()
|
if (m.hasFileOnRemoteHost()
|
||||||
|| GeoHelper.isGeoUri(m.getBody())
|
|| GeoHelper.isGeoUri(m.getBody())
|
||||||
|| m.treatAsDownloadable() == Message.Decision.MUST) {
|
|| m.treatAsDownloadable() == Message.Decision.MUST
|
||||||
|
|| (t != null && t instanceof HttpDownloadConnection)) {
|
||||||
copyUrl.setVisible(true);
|
copyUrl.setVisible(true);
|
||||||
}
|
}
|
||||||
if ((m.getType() == Message.TYPE_TEXT && m.getTransferable() == null && m.treatAsDownloadable() != Message.Decision.NEVER)
|
if ((m.getType() == Message.TYPE_TEXT && t == null && m.treatAsDownloadable() != Message.Decision.NEVER)
|
||||||
|| (m.isFileOrImage() && m.getTransferable() instanceof TransferablePlaceholder && m.hasFileOnRemoteHost())){
|
|| (m.isFileOrImage() && t instanceof TransferablePlaceholder && m.hasFileOnRemoteHost())){
|
||||||
downloadFile.setVisible(true);
|
downloadFile.setVisible(true);
|
||||||
downloadFile.setTitle(activity.getString(R.string.download_x_file,UIHelper.getFileDescriptionString(activity, m)));
|
downloadFile.setTitle(activity.getString(R.string.download_x_file,UIHelper.getFileDescriptionString(activity, m)));
|
||||||
}
|
}
|
||||||
if ((m.getTransferable() != null && !(m.getTransferable() instanceof TransferablePlaceholder))
|
if ((t != null && !(t instanceof TransferablePlaceholder))
|
||||||
|| (m.isFileOrImage() && (m.getStatus() == Message.STATUS_WAITING
|
|| (m.isFileOrImage() && (m.getStatus() == Message.STATUS_WAITING
|
||||||
|| m.getStatus() == Message.STATUS_OFFERED))) {
|
|| m.getStatus() == Message.STATUS_OFFERED))) {
|
||||||
cancelTransmission.setVisible(true);
|
cancelTransmission.setVisible(true);
|
||||||
|
Loading…
Reference in New Issue
Block a user