diff --git a/kommunicateui/src/main/java/com/applozic/mobicomkit/uiwidgets/AlCustomizationSettings.java b/kommunicateui/src/main/java/com/applozic/mobicomkit/uiwidgets/AlCustomizationSettings.java index 5c909c0ce..333fa4c73 100644 --- a/kommunicateui/src/main/java/com/applozic/mobicomkit/uiwidgets/AlCustomizationSettings.java +++ b/kommunicateui/src/main/java/com/applozic/mobicomkit/uiwidgets/AlCustomizationSettings.java @@ -120,6 +120,7 @@ public class AlCustomizationSettings extends JsonMarker { private boolean launchChatFromProfilePicOrName = false; private boolean useDeviceDefaultLanguage = true; + private boolean showTypingIndicatorWhileFetchingResponse = false; private Map filterGallery; private boolean enableShareConversation = false; private String messageStatusIconColor = ""; @@ -641,6 +642,9 @@ public boolean isAgentApp() { public boolean isUseDeviceDefaultLanguage(){ return useDeviceDefaultLanguage; } + public boolean isShowTypingIndicatorWhileFetchingResponse() { + return showTypingIndicatorWhileFetchingResponse; + } public boolean isGroupSubtitleHidden() { return hideGroupSubtitle; @@ -817,6 +821,7 @@ public String toString() { ", toolbarTitleColor=" + toolbarTitleColor + ", toolbarSubtitleColor=" + toolbarSubtitleColor + ", useDeviceDefaultLanguage=" + useDeviceDefaultLanguage + + ", showTypingIndicatorWhileFetchingResponse=" + showTypingIndicatorWhileFetchingResponse+ '}'; } } diff --git a/kommunicateui/src/main/java/com/applozic/mobicomkit/uiwidgets/conversation/ConversationUIService.java b/kommunicateui/src/main/java/com/applozic/mobicomkit/uiwidgets/conversation/ConversationUIService.java index 909557b5c..43f87a5ad 100755 --- a/kommunicateui/src/main/java/com/applozic/mobicomkit/uiwidgets/conversation/ConversationUIService.java +++ b/kommunicateui/src/main/java/com/applozic/mobicomkit/uiwidgets/conversation/ConversationUIService.java @@ -23,6 +23,7 @@ import com.applozic.mobicomkit.ApplozicClient; import com.applozic.mobicomkit.api.MobiComKitConstants; import com.applozic.mobicomkit.api.account.user.MobiComUserPreference; +import com.applozic.mobicomkit.api.account.user.User; import com.applozic.mobicomkit.api.account.user.UserClientService; import com.applozic.mobicomkit.api.attachment.FileClientService; import com.applozic.mobicomkit.api.attachment.FileMeta; @@ -32,6 +33,7 @@ import com.applozic.mobicomkit.channel.service.ChannelService; import com.applozic.mobicomkit.contact.AppContactService; import com.applozic.mobicomkit.contact.BaseContactService; +import com.applozic.mobicomkit.uiwidgets.AlCustomizationSettings; import com.applozic.mobicomkit.uiwidgets.R; import com.applozic.mobicomkit.uiwidgets.async.KmChannelDeleteTask; import com.applozic.mobicomkit.uiwidgets.async.KmChannelLeaveMember; diff --git a/kommunicateui/src/main/java/com/applozic/mobicomkit/uiwidgets/conversation/fragment/MobiComConversationFragment.java b/kommunicateui/src/main/java/com/applozic/mobicomkit/uiwidgets/conversation/fragment/MobiComConversationFragment.java index c6157b158..ddb1d12ef 100644 --- a/kommunicateui/src/main/java/com/applozic/mobicomkit/uiwidgets/conversation/fragment/MobiComConversationFragment.java +++ b/kommunicateui/src/main/java/com/applozic/mobicomkit/uiwidgets/conversation/fragment/MobiComConversationFragment.java @@ -194,6 +194,7 @@ import java.util.List; import java.util.Locale; import java.util.Map; +import java.util.Objects; import java.util.Set; import java.util.TimeZone; import java.util.Timer; @@ -2805,6 +2806,12 @@ public void updateMessageKeyString(final Message message) { if (getActivity() == null) { return; } + //Showing typing indicator when bot is fetching response from API + if (alCustomizationSettings.isShowTypingIndicatorWhileFetchingResponse()){ + if (Objects.equals(conversationAssignee.getRoleType(), User.RoleType.BOT.getValue())){ + updateTypingStatus(message.getTo(),true); + } + } this.getActivity().runOnUiThread(new Runnable() { @Override