diff --git a/CHANGELOG.md b/CHANGELOG.md index 718dbd236..322bb05ac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,8 @@ The changelog for [Kommunicate-Android-Chat-SDK](https://github.com/Kommunicate-io/Kommunicate-Android-Chat-SDK). Also see the [releases](https://github.com/Kommunicate-io/Kommunicate-Android-Chat-SDK/releases) on Github. +## Unreleased +1) Added configuration for form submit button in hidePostCTA ## Kommunicate Android SDK 2.8.4 1) Reduce time taken for conversation creation ## Kommunicate Android SDK 2.8.3 diff --git a/app/src/main/assets/applozic-settings.json b/app/src/main/assets/applozic-settings.json index c9382d14b..7e3c60c26 100644 --- a/app/src/main/assets/applozic-settings.json +++ b/app/src/main/assets/applozic-settings.json @@ -160,7 +160,8 @@ "hidePostCTA": { "submit": false, "link": false, - "quickReply": false + "quickReply": false, + "hidePostFormSubmit": false }, "receiverNameTextColor": "#5C6677", "innerTimestampDesign": false, diff --git a/kommunicateui/src/main/java/com/applozic/mobicomkit/uiwidgets/conversation/richmessaging/types/KmFormRichMessage.java b/kommunicateui/src/main/java/com/applozic/mobicomkit/uiwidgets/conversation/richmessaging/types/KmFormRichMessage.java index 92781d2c0..b60c18377 100644 --- a/kommunicateui/src/main/java/com/applozic/mobicomkit/uiwidgets/conversation/richmessaging/types/KmFormRichMessage.java +++ b/kommunicateui/src/main/java/com/applozic/mobicomkit/uiwidgets/conversation/richmessaging/types/KmFormRichMessage.java @@ -39,15 +39,16 @@ public void createRichMessage(boolean isMessageProcessed) { final KmFormItemAdapter formItemAdapter = new KmFormItemAdapter(context, kmRichMessageModel.getFormModelList(), message.getKeyString(), alCustomizationSettings); alFormLayoutRecycler.setAdapter(formItemAdapter); - if (isMessageProcessed && themeHelper.hideSubmitButtonsPostCTA()) { - return; - } - List actionModelList = new ArrayList<>(); for (Object object : kmRichMessageModel.getFormModelList()) { if (object instanceof KmFormPayloadModel) { KmFormPayloadModel formPayloadModel = (KmFormPayloadModel) object; + + if (isMessageProcessed && themeHelper.hideFormSubmitButtonsPostCTA() && KmFormPayloadModel.Type.SUBMIT.getValue().equals(formPayloadModel.getType())) { + continue; + } + if (KmFormPayloadModel.Type.SUBMIT.getValue().equals(formPayloadModel.getType()) || KmFormPayloadModel.Type.ACTION.getValue().equals(formPayloadModel.getType()) || TextUtils.isEmpty(formPayloadModel.getType())) { actionModelList.add(formPayloadModel.getAction()); } diff --git a/kommunicateui/src/main/java/com/applozic/mobicomkit/uiwidgets/kommunicate/utils/KmThemeHelper.java b/kommunicateui/src/main/java/com/applozic/mobicomkit/uiwidgets/kommunicate/utils/KmThemeHelper.java index 49d5fb599..65a1b1c59 100644 --- a/kommunicateui/src/main/java/com/applozic/mobicomkit/uiwidgets/kommunicate/utils/KmThemeHelper.java +++ b/kommunicateui/src/main/java/com/applozic/mobicomkit/uiwidgets/kommunicate/utils/KmThemeHelper.java @@ -20,6 +20,7 @@ public class KmThemeHelper implements KmCallback { private static final String SUBMIT_BUTTON = "submit"; private static final String LINK_BUTTON = "link"; private static final String QUICK_REPLIES = "quickReply"; + private static final String FORM_SUBMIT_BUTTON = "hidePostFormSubmit"; private static KmThemeHelper kmThemeHelper; private final Context context; private final KmAppSettingPreferences appSettingPreferences; @@ -121,6 +122,11 @@ public boolean hideSubmitButtonsPostCTA() { return getHidePostCTA().get(SUBMIT_BUTTON) != null ? getHidePostCTA().get(SUBMIT_BUTTON) : false; } + @SuppressWarnings("ConstantConditions") + public boolean hideFormSubmitButtonsPostCTA() { + return getHidePostCTA().get(FORM_SUBMIT_BUTTON) != null ? getHidePostCTA().get(FORM_SUBMIT_BUTTON) : false; + } + @SuppressWarnings("ConstantConditions") public boolean hideLinkButtonsPostCTA() { return getHidePostCTA().get(LINK_BUTTON) != null ? getHidePostCTA().get(LINK_BUTTON) : false;