diff --git a/res/layout/chat_bubble.xml b/res/layout/chat_bubble.xml index 1840514c8..2e569cb77 100644 --- a/res/layout/chat_bubble.xml +++ b/res/layout/chat_bubble.xml @@ -114,7 +114,8 @@ android:gravity="center" android:maxLines="1" android:text="FILE" - android:textAlignment="center" /> + android:textAlignment="center" + android:visibility="gone" /> 0) ? mMessage.getContents()[0].getFilePath() : ""; - if (appData != null) { // Something to display - mBubble.fileName.setVisibility(View.VISIBLE); - mBubble.fileName.setText(LinphoneUtils.getNameFromFilePath(appData)); - // We purposely chose not to display the image + Content fileTransferContent = mMessage.getFileTransferInformation(); + + if (fileTransferContent != null && fileTransferContent.isFile()) { // Something to display + displayAttachedFile(mMessage, mBubble); } mRead.removeAllViews(); @@ -331,4 +331,23 @@ public class ImdnFragment extends Fragment { first = false; } } + + private void displayAttachedFile(ChatMessage message, ChatBubbleViewHolder holder) { + holder.fileName.setVisibility(View.VISIBLE); + + Content fileContent = message.getFileTransferInformation(); + String appData = fileContent.getFilePath(); + if (fileContent != null && fileContent.isFile() && appData != null) { + String extension = (LinphoneUtils.getExtensionFromFileName(message.getFileTransferInformation().getName())); + if(extension != null) extension = extension.toUpperCase(); + else extension = "FILE"; + + if (extension.length() > 4) extension = extension.substring(0, 3); + + LinphoneUtils.scanFile(message); + holder.fileName.setText(extension); + holder.fileName.setVisibility(View.VISIBLE); + holder.fileName.setTag(appData); + } + } }