From e1d6143f4abf718f675b36a1ea9ad3315366d38a Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 29 Jul 2022 10:09:27 +0300 Subject: [PATCH 1/4] Updated on 2026-08-14 --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 105d4d8323..ce5b525f66 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -144,7 +144,7 @@ dependencies { implementation("com.squareup.okhttp3:logging-interceptor") // Support - implementation("com.zendesk:support:5.0.9") + implementation("com.zendesk:chat:3.3.5") implementation("com.zendesk:messaging:5.2.4") //Crypto From ec7872ac95968b5da1fa578a79b255f537ee80b3 Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 29 Jul 2022 10:09:50 +0300 Subject: [PATCH 2/4] Updated on 2026-08-14 --- .../main/java/com/tangem/tap/common/zendesk/ZendeskConfig.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/src/main/java/com/tangem/tap/common/zendesk/ZendeskConfig.kt b/app/src/main/java/com/tangem/tap/common/zendesk/ZendeskConfig.kt index aad872b7df..66569ee1b7 100644 --- a/app/src/main/java/com/tangem/tap/common/zendesk/ZendeskConfig.kt +++ b/app/src/main/java/com/tangem/tap/common/zendesk/ZendeskConfig.kt @@ -11,6 +11,8 @@ data class ZendeskConfig( val appId: String, @Json(name = "zendeskClientId") val clientId: String, + @Json(name = "zendeskAccountKey") + val accountKey: String, @Json(name = "zendeskUrl") val url: String, ) \ No newline at end of file From 41f3747ab5254a9da02adc15afe511d1a61e9a70 Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 29 Jul 2022 10:11:50 +0300 Subject: [PATCH 3/4] 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 - From 26e66efeeda21797beb4f90a6c734cd59a0c79a7 Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 29 Jul 2022 10:13:49 +0300 Subject: [PATCH 4/4] Updated on 2026-08-14 --- app/src/main/AndroidManifest.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d180642a75..b460cf581a 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -47,7 +47,7 @@