From 41f3747ab5254a9da02adc15afe511d1a61e9a70 Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 29 Jul 2022 10:11:50 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../java/com/tangem/tap/TapApplication.kt | 1 + .../tap/common/feedback/FeedbackManager.kt | 72 ++++++++++--------- app/src/main/res/values-ru/strings_final.xml | 2 + app/src/main/res/values/strings_final.xml | 2 + app/src/main/res/values/zendesk_styles.xml | 11 --- 5 files changed, 45 insertions(+), 43 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/TapApplication.kt b/app/src/main/java/com/tangem/tap/TapApplication.kt index 2dee2fa397..adcd569b7f 100644 --- a/app/src/main/java/com/tangem/tap/TapApplication.kt +++ b/app/src/main/java/com/tangem/tap/TapApplication.kt @@ -141,4 +141,5 @@ class TapApplication : Application(), ImageLoaderFactory { data class LogConfig( val coil: Boolean = BuildConfig.DEBUG, val storeAction: Boolean = BuildConfig.DEBUG, + val zendesk: Boolean = BuildConfig.DEBUG, ) \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/common/feedback/FeedbackManager.kt b/app/src/main/java/com/tangem/tap/common/feedback/FeedbackManager.kt index 4e551608e5..c2bb70a931 100644 --- a/app/src/main/java/com/tangem/tap/common/feedback/FeedbackManager.kt +++ b/app/src/main/java/com/tangem/tap/common/feedback/FeedbackManager.kt @@ -6,18 +6,19 @@ import com.tangem.tap.common.extensions.sendEmail import com.tangem.tap.common.log.TangemLogCollector import com.tangem.tap.common.zendesk.ZendeskConfig import com.tangem.tap.foregroundActivityObserver +import com.tangem.tap.logConfig import com.tangem.tap.withForegroundActivity +import com.tangem.wallet.R +import com.zendesk.logger.Logger +import timber.log.Timber +import zendesk.chat.Chat +import zendesk.chat.ChatConfiguration +import zendesk.chat.ChatEngine +import zendesk.configurations.Configuration +import zendesk.messaging.MessagingActivity import java.io.File import java.io.FileWriter import java.io.StringWriter -import timber.log.Timber -import zendesk.configurations.Configuration -import zendesk.core.AnonymousIdentity -import zendesk.core.Zendesk -import zendesk.support.Support -import zendesk.support.request.RequestConfiguration -import zendesk.support.requestlist.RequestListActivity -import zendesk.support.requestlist.RequestListConfiguration /** [REDACTED_AUTHOR] @@ -30,14 +31,14 @@ class FeedbackManager( context: Context, zendeskConfig: ZendeskConfig, ) { - Zendesk.INSTANCE.init( - /* context = */ context, - /* zendeskUrl = */ zendeskConfig.url, - /* applicationId = */ zendeskConfig.appId, - /* oauthClientId = */ zendeskConfig.clientId, + Chat.INSTANCE.init( + context, + zendeskConfig.accountKey, + zendeskConfig.appId ) - Support.INSTANCE.init(Zendesk.INSTANCE) - Zendesk.INSTANCE.setIdentity(AnonymousIdentity()) + + // Zendesk logs + Logger.setLoggable(logConfig.zendesk) } fun sendEmail(feedbackData: FeedbackData, onFail: ((Exception) -> Unit)? = null) { @@ -57,11 +58,8 @@ class FeedbackManager( fun openChat(feedbackData: FeedbackData) { feedbackData.prepare(infoHolder) foregroundActivityObserver.withForegroundActivity { activity -> - RequestListActivity.builder() - .show( - /* context = */ activity, - /* configurations = */ buildConfigs(activity, feedbackData) - ) + setChatVisitorNote(activity, feedbackData) + showMessagingActivity(activity) } } @@ -84,20 +82,30 @@ class FeedbackManager( } } - private fun buildConfigs( + private fun setChatVisitorNote( context: Context, feedbackData: FeedbackData, - ): List { - return listOf( - // Request configuration - RequestConfiguration.Builder() - .withRequestSubject(context.getString(feedbackData.subjectResId)) - .config(), - // Request list configuration - RequestListConfiguration.Builder() - .withContactUsButtonVisible(true) - .config(), - ) + ) { + Chat.INSTANCE.providers() + ?.profileProvider() + ?.setVisitorNote(feedbackData.joinTogether(context, infoHolder)) + } + + private fun showMessagingActivity(context: Context) { + MessagingActivity.builder() + .withMultilineResponseOptionsEnabled(false) + .withBotLabelStringRes(R.string.chat_bot_name) + .withBotAvatarDrawable(R.mipmap.ic_launcher) + .withEngines(ChatEngine.engine()) + .show(context, buildChatConfig()) + } + + private fun buildChatConfig(): Configuration { + return ChatConfiguration.builder() + .withOfflineFormEnabled(true) + .withAgentAvailabilityEnabled(true) + .withPreChatFormEnabled(false) + .build() } private fun getSupportEmail(): String { diff --git a/app/src/main/res/values-ru/strings_final.xml b/app/src/main/res/values-ru/strings_final.xml index d4ddb9ad8c..a7ebbef56b 100644 --- a/app/src/main/res/values-ru/strings_final.xml +++ b/app/src/main/res/values-ru/strings_final.xml @@ -77,4 +77,6 @@ Да Задать вопрос + + Tangem Bot diff --git a/app/src/main/res/values/strings_final.xml b/app/src/main/res/values/strings_final.xml index 4c7ec8e0bd..f496ca1548 100644 --- a/app/src/main/res/values/strings_final.xml +++ b/app/src/main/res/values/strings_final.xml @@ -78,4 +78,6 @@ No Ask a question + + Tangem Bot diff --git a/app/src/main/res/values/zendesk_styles.xml b/app/src/main/res/values/zendesk_styles.xml index 0022b241b1..ebb4fcab6b 100644 --- a/app/src/main/res/values/zendesk_styles.xml +++ b/app/src/main/res/values/zendesk_styles.xml @@ -4,15 +4,4 @@ @color/darkGray6 @color/darkGray6 - - // Contact us FAB style -