From 72bda7d1950d82b73a88963031c471924155355b Mon Sep 17 00:00:00 2001 From: Brieuc Viel Date: Thu, 16 Mar 2017 16:16:11 +0100 Subject: [PATCH] [imdm] fix bubleImageCell download button size + mark chat room as read if open --- default.properties | 2 +- res/layout/chat_bubble.xml | 40 +++++++++++--- res/values-fr/strings.xml | 3 ++ res/values/strings.xml | 3 ++ src/org/linphone/ChatFragment.java | 83 ++++++++++++++++++++---------- submodules/bctoolbox | 2 +- 6 files changed, 99 insertions(+), 34 deletions(-) diff --git a/default.properties b/default.properties index 2f4f19c69..7947d88ea 100644 --- a/default.properties +++ b/default.properties @@ -1 +1 @@ -version.name=3.2.2-97-gf7378dac +version.name=3.2.5-19-g07d4f18 diff --git a/res/layout/chat_bubble.xml b/res/layout/chat_bubble.xml index e11301559..929e88cd1 100644 --- a/res/layout/chat_bubble.xml +++ b/res/layout/chat_bubble.xml @@ -59,8 +59,10 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" - android:padding="10dp"> - + android:paddingTop="10dp" + android:paddingLeft="10dp" + android:paddingRight="10dp"> + - + - + + + + + - + - + diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml index 8eafa5671..735a1579c 100644 --- a/res/values-fr/strings.xml +++ b/res/values-fr/strings.xml @@ -174,6 +174,9 @@ Vos amis pourront vous joindre plus facilement si vous associez votre compte à Vous ne pouvez pas déchiffrer ce message. Vous essayez d\'envoyer un message à un contact non vérifié par ZRTP tout en utilisant LIME.\nAppelez ce contact et vérifié sa clef ZRTP avant de lui envoyer des messages. Traitement de l\'image, cela peut prendre quelques secondes selon sa taille + Lu + Reçu + Renvoyer Enregistré Non enregistré diff --git a/res/values/strings.xml b/res/values/strings.xml index 518c4814e..e8009c3ea 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -185,6 +185,9 @@ You are unable to decrypt this message. You are trying to send a message using LIME to a contact not verified by ZRTP.\nPlease call this contact and verify his ZRTP key before sending your messages. Processing image, can take up to a few seconds depending on the size of the file + Displayed + Delivered + Resend Registered diff --git a/src/org/linphone/ChatFragment.java b/src/org/linphone/ChatFragment.java index b66480fe6..b5efc1f59 100644 --- a/src/org/linphone/ChatFragment.java +++ b/src/org/linphone/ChatFragment.java @@ -18,30 +18,6 @@ along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.lang.ref.WeakReference; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Calendar; -import java.util.List; -import java.util.Locale; - -import org.linphone.compatibility.Compatibility; -import org.linphone.core.LinphoneAddress; -import org.linphone.core.LinphoneBuffer; -import org.linphone.core.LinphoneChatMessage; -import org.linphone.core.LinphoneChatMessage.State; -import org.linphone.core.LinphoneChatRoom; -import org.linphone.core.LinphoneContent; -import org.linphone.core.LinphoneCore; -import org.linphone.core.LinphoneCoreFactory; -import org.linphone.core.LinphoneCoreListenerBase; -import org.linphone.mediastream.Log; - import android.Manifest; import android.annotation.SuppressLint; import android.app.Activity; @@ -97,6 +73,30 @@ import android.widget.RelativeLayout; import android.widget.TextView; import android.widget.Toast; +import org.linphone.compatibility.Compatibility; +import org.linphone.core.LinphoneAddress; +import org.linphone.core.LinphoneBuffer; +import org.linphone.core.LinphoneChatMessage; +import org.linphone.core.LinphoneChatMessage.State; +import org.linphone.core.LinphoneChatRoom; +import org.linphone.core.LinphoneContent; +import org.linphone.core.LinphoneCore; +import org.linphone.core.LinphoneCoreFactory; +import org.linphone.core.LinphoneCoreListenerBase; +import org.linphone.mediastream.Log; + +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.lang.ref.WeakReference; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Calendar; +import java.util.List; +import java.util.Locale; + public class ChatFragment extends Fragment implements OnClickListener, LinphoneChatMessage.LinphoneChatMessageListener { private static final int ADD_PHOTO = 1337; @@ -1021,6 +1021,9 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC public ImageView messageStatus; public ProgressBar messageSendingInProgress; public ImageView contactPictureMask; + public LinearLayout imdmLayout; + public ImageView imdmIcon; + public TextView imdmLabel; public ViewHolder(View view) { id = view.getId(); @@ -1037,6 +1040,9 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC messageStatus = (ImageView) view.findViewById(R.id.status); messageSendingInProgress = (ProgressBar) view.findViewById(R.id.inprogress); contactPictureMask = (ImageView) view.findViewById(R.id.mask); + imdmLayout = (LinearLayout) view.findViewById(R.id.imdmLayout); + imdmIcon = (ImageView) view.findViewById(R.id.imdmIcon); + imdmLabel = (TextView) view.findViewById(R.id.imdmText); } @Override @@ -1178,16 +1184,38 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC } holder.contactName.setText(timestampToHumanDate(context, message.getTime()) + " - " + displayName); - if (status == LinphoneChatMessage.State.NotDelivered) { + /*if (status == LinphoneChatMessage.State.NotDelivered) { holder.messageStatus.setVisibility(View.VISIBLE); holder.messageStatus.setImageResource(R.drawable.chat_message_not_delivered); - } else if (status == LinphoneChatMessage.State.InProgress) { + } else*/ + if (status == LinphoneChatMessage.State.InProgress) { holder.messageSendingInProgress.setVisibility(View.VISIBLE); } else if (!message.isSecured() && !message.isOutgoing() && LinphoneManager.getLc().getLimeEncryption() == LinphoneCore.LinphoneLimeState.Mandatory) { holder.messageStatus.setVisibility(View.VISIBLE); holder.messageStatus.setImageResource(R.drawable.lime_ko); } + else if(status == State.DeliveredToUser && message.isOutgoing()){ + holder.imdmLayout.setVisibility(View.VISIBLE); + holder.imdmIcon.setImageResource(R.drawable.valid_disabled); + holder.imdmLabel.setText(R.string.delivered); + holder.imdmLabel.setTextColor(getResources().getColor(R.color.colorA)); + } + else if(status == State.Displayed && message.isOutgoing()){ + holder.imdmLayout.setVisibility(View.VISIBLE); + holder.imdmIcon.setImageResource(R.drawable.valid); + holder.imdmLabel.setText(R.string.displayed); + holder.imdmLabel.setTextColor(getResources().getColor(R.color.colorA)); + } + else if(status == State.NotDelivered && message.isOutgoing()){ + holder.imdmLayout.setVisibility(View.VISIBLE); + holder.imdmIcon.setImageResource(R.drawable.chat_message_not_delivered); + holder.imdmLabel.setText(R.string.resend); + holder.imdmLabel.setTextColor(getResources().getColor(R.color.colorI)); + } + if(!message.isOutgoing()){ + holder.imdmLayout.setVisibility(View.INVISIBLE); + } if (externalBodyUrl != null || fileTransferContent != null) { String appData = message.getAppData(); @@ -1252,7 +1280,10 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC } } }); + LinphoneManager.getLc().getChatRoom(message.getFrom()).markAsRead();; + } else { + holder.imdmLayout.setVisibility(View.INVISIBLE); holder.fileTransferAction.setText(getString(R.string.accept)); holder.fileTransferAction.setOnClickListener(new OnClickListener() { @Override diff --git a/submodules/bctoolbox b/submodules/bctoolbox index 33fcf86a6..c0ef01c8b 160000 --- a/submodules/bctoolbox +++ b/submodules/bctoolbox @@ -1 +1 @@ -Subproject commit 33fcf86a6b9acf38de4fc03a531d7df8ed927def +Subproject commit c0ef01c8be50ee4da734df19d8a429e3038f1347