Added cancel button for file transfer

This commit is contained in:
Sylvain Berfini 2019-03-22 16:06:20 +01:00
parent 002cbd7008
commit 178cf2ce9b

View file

@ -238,8 +238,8 @@ public class ChatMessageViewHolder extends RecyclerView.ViewHolder implements Vi
private void displayContent( private void displayContent(
final ChatMessage message, Content c, View content, boolean isMultiContent) { final ChatMessage message, Content c, View content, boolean isMultiContent) {
final Button download = content.findViewById(R.id.download); final Button downloadOrCancel = content.findViewById(R.id.download);
download.setVisibility(View.GONE); downloadOrCancel.setVisibility(View.GONE);
final ImageView bigImage = content.findViewById(R.id.bigImage); final ImageView bigImage = content.findViewById(R.id.bigImage);
bigImage.setVisibility(View.GONE); bigImage.setVisibility(View.GONE);
final ImageView smallImage = content.findViewById(R.id.image); final ImageView smallImage = content.findViewById(R.id.image);
@ -277,7 +277,7 @@ public class ChatMessageViewHolder extends RecyclerView.ViewHolder implements Vi
} }
}); });
} else { } else {
download.setVisibility(View.VISIBLE); downloadOrCancel.setVisibility(View.VISIBLE);
if (mContext.getPackageManager() if (mContext.getPackageManager()
.checkPermission( .checkPermission(
@ -300,16 +300,24 @@ public class ChatMessageViewHolder extends RecyclerView.ViewHolder implements Vi
+ filename); + filename);
prefix += 1; prefix += 1;
} }
download.setTag(c);
c.setFilePath(file.getPath()); c.setFilePath(file.getPath());
download.setOnClickListener(
downloadOrCancel.setTag(c);
if (!message.isFileTransferInProgress()) {
downloadOrCancel.setText(R.string.download_file);
} else {
downloadOrCancel.setText(R.string.cancel);
}
downloadOrCancel.setOnClickListener(
new View.OnClickListener() { new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
Content c = (Content) v.getTag(); Content c = (Content) v.getTag();
if (!message.isFileTransferInProgress()) { if (!message.isFileTransferInProgress()) {
message.downloadContent(c); message.downloadContent(c);
} else {
message.cancelFileTransfer();
} }
} }
}); });