mirror of
https://gitlab.linphone.org/BC/public/linphone-android.git
synced 2026-01-20 21:18:07 +00:00
Fix file transfert view in chat view
This commit is contained in:
parent
c05862e261
commit
477f483d8f
4 changed files with 54 additions and 26 deletions
|
|
@ -117,6 +117,18 @@
|
|||
android:textAlignment="center"
|
||||
android:visibility="gone" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/file_transfer_image"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/file_name"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:gravity="center"
|
||||
android:scaleType="centerInside"
|
||||
android:src="@drawable/chat_attachment_over"
|
||||
android:visibility="gone" />
|
||||
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/image"
|
||||
|
|
@ -150,29 +162,32 @@
|
|||
android:textColor="#595959"
|
||||
android:textSize="13.3sp"/>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/file_transfer_layout"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone">
|
||||
<RelativeLayout
|
||||
android:id="@+id/file_transfer_layout"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:visibility="gone">
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/progress_bar"
|
||||
style="@android:style/Widget.ProgressBar.Horizontal"
|
||||
android:layout_width="150dp"
|
||||
android:layout_height="5dp"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:paddingRight="5dp"/>
|
||||
<ProgressBar
|
||||
android:id="@+id/progress_bar"
|
||||
style="@android:style/Widget.ProgressBar.Horizontal"
|
||||
android:layout_width="150dp"
|
||||
android:layout_height="5dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:paddingRight="5dp" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/file_transfer_action"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/progress_bar"
|
||||
android:textAppearance="@style/font8"/>
|
||||
android:layout_centerInParent="true"
|
||||
android:gravity="center"
|
||||
android:textAppearance="@style/font8" />
|
||||
|
||||
</RelativeLayout>
|
||||
</RelativeLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/messageLayout"
|
||||
|
|
|
|||
|
|
@ -60,6 +60,7 @@ public class ChatBubbleViewHolder {
|
|||
public RelativeLayout fileTransferLayout;
|
||||
public ProgressBar fileTransferProgressBar;
|
||||
public Button fileTransferAction;
|
||||
public ImageView fileTransferImage;
|
||||
|
||||
public TextView fileName;
|
||||
public Button openFileButton;
|
||||
|
|
@ -94,6 +95,7 @@ public class ChatBubbleViewHolder {
|
|||
fileTransferLayout = view.findViewById(R.id.file_transfer_layout);
|
||||
fileTransferProgressBar = view.findViewById(R.id.progress_bar);
|
||||
fileTransferAction = view.findViewById(R.id.file_transfer_action);
|
||||
fileTransferImage = view.findViewById(R.id.file_transfer_image);
|
||||
|
||||
fileName = view.findViewById(R.id.file_name);
|
||||
openFileButton = view.findViewById(R.id.open_file);
|
||||
|
|
|
|||
|
|
@ -211,6 +211,7 @@ public class ChatEventsAdapter extends ListSelectionAdapter {
|
|||
holder.imdmIcon.setVisibility(View.INVISIBLE);
|
||||
holder.imdmLabel.setVisibility(View.INVISIBLE);
|
||||
holder.rightAnchor.setVisibility(View.VISIBLE);
|
||||
holder.fileTransferImage.setVisibility(View.GONE);
|
||||
//holder.contactPicture.setImageBitmap(ContactsManager.getInstance().getDefaultAvatarBitmap());
|
||||
|
||||
if (isEditionEnabled()) {
|
||||
|
|
@ -371,19 +372,21 @@ public class ChatEventsAdapter extends ListSelectionAdapter {
|
|||
String externalBodyUrl = message.getExternalBodyUrl();
|
||||
Content fileTransferContent = message.getFileTransferInformation();
|
||||
|
||||
if (fileTransferContent != null && fileTransferContent.isFile()) { // Something to display
|
||||
if (fileTransferContent != null && externalBodyUrl == null && fileTransferContent.isFile()) { // Something to display
|
||||
displayAttachedFile(message, holder);
|
||||
}
|
||||
|
||||
if (externalBodyUrl != null) { // Incoming file transfer not yet downloaded
|
||||
holder.fileName.setVisibility(View.VISIBLE);
|
||||
holder.fileName.setText(fileTransferContent.getName());
|
||||
holder.fileName.setText("");
|
||||
holder.fileName.setVisibility(View.GONE);
|
||||
holder.fileTransferImage.setVisibility(View.VISIBLE);
|
||||
|
||||
holder.fileTransferLayout.setVisibility(View.VISIBLE);
|
||||
holder.fileTransferProgressBar.setVisibility(View.GONE);
|
||||
if (message.isFileTransferInProgress()) { // Incoming file transfer in progress
|
||||
holder.fileTransferAction.setVisibility(View.GONE);
|
||||
} else {
|
||||
holder.fileTransferAction.setVisibility(View.VISIBLE);
|
||||
holder.fileTransferAction.setText(mContext.getString(R.string.accept));
|
||||
holder.fileTransferAction.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
|
|
@ -416,6 +419,7 @@ public class ChatEventsAdapter extends ListSelectionAdapter {
|
|||
} else if (message.isFileTransferInProgress()) { // Outgoing file transfer in progress
|
||||
message.setListener(mListener); // add the listener for file upload progress display
|
||||
holder.messageSendingInProgress.setVisibility(View.GONE);
|
||||
holder.fileTransferAction.setVisibility(View.VISIBLE);
|
||||
holder.fileTransferLayout.setVisibility(View.VISIBLE);
|
||||
holder.fileTransferAction.setText(mContext.getString(R.string.cancel));
|
||||
holder.fileTransferAction.setOnClickListener(new View.OnClickListener() {
|
||||
|
|
|
|||
|
|
@ -126,6 +126,7 @@ public class ImdnFragment extends Fragment {
|
|||
mBubble.messageStatus.setVisibility(View.GONE);
|
||||
mBubble.messageSendingInProgress.setVisibility(View.GONE);
|
||||
mBubble.imdmLayout.setVisibility(View.INVISIBLE);
|
||||
mBubble.fileTransferImage.setVisibility(View.GONE);
|
||||
//mBubble.contactPicture.setImageBitmap(ContactsManager.getInstance().getDefaultAvatarBitmap());
|
||||
|
||||
mMessage = mRoom.findMessage(mMessageId);
|
||||
|
|
@ -338,16 +339,22 @@ public class ImdnFragment extends Fragment {
|
|||
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 (message.getExternalBodyUrl() == 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);
|
||||
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);
|
||||
LinphoneUtils.scanFile(message);
|
||||
holder.fileName.setText(extension);
|
||||
holder.fileName.setVisibility(View.VISIBLE);
|
||||
holder.fileName.setTag(appData);
|
||||
} else {
|
||||
holder.fileName.setText("");
|
||||
holder.fileName.setVisibility(View.GONE);
|
||||
holder.fileTransferImage.setVisibility(View.VISIBLE);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue