TP-75758 | Owais | bug-fix (#13540)

This commit is contained in:
Sayed Owais Ali
2024-11-08 23:34:06 +05:30
committed by GitHub
parent 4ed56d37bc
commit 69a6ae43e1
5 changed files with 32 additions and 8 deletions

View File

@@ -274,6 +274,7 @@ object NaviDeepLinkNavigator : DeepLinkListener {
private const val WEB = "web"
private const val PLATFORM_TYPE = "platformType"
private const val TARGET_PLATFORM = "targetPlatform"
private const val ANDROID = "Android"
private const val NAVI_CLICK_ACTION_URL = "NAVI_CLICK_ACTION_URL"
@@ -544,6 +545,7 @@ object NaviDeepLinkNavigator : DeepLinkListener {
var metaData: HashMap<String?, String?>? = null
var fetchHistoryByScreenName = true
var idempotencyKey: String? = null
var targetPlatform: String? = null
if (ctaData.parameters.isNullOrEmpty()) {
bundle.getString(CHAT_BOT_SCREEN_NAME)?.let { keyValue ->
shareableLink = keyValue
@@ -578,6 +580,9 @@ object NaviDeepLinkNavigator : DeepLinkListener {
CHAT_IDEMPOTENCY_KEY -> {
idempotencyKey = keyValue.value.toString()
}
TARGET_PLATFORM -> {
targetPlatform = keyValue.value.toString()
}
}
}
val naviChatSystemLocalData =
@@ -602,7 +607,12 @@ object NaviDeepLinkNavigator : DeepLinkListener {
fetchHistoryByScreenName = fetchHistoryByScreenName,
idempotencyKey = idempotencyKey
)
intent = getCrmWebViewIntent(activity = activity, ctaUrl = CHAT_ACTIVITY)
intent =
getCrmWebViewIntent(
activity = activity,
ctaUrl = CHAT_ACTIVITY,
platform = targetPlatform
)
bundle.putParcelable(NAVI_CHAT_SYSTEM_LOCAL_DATA, naviChatSystemLocalData)
NaviTrackEvent.trackEventOnClickStream(
CHAT_TOUCH_POINT_CLICKED,

View File

@@ -15,10 +15,12 @@ import androidx.recyclerview.widget.LinearLayoutManager
import com.navi.base.deeplink.DeepLinkManager
import com.navi.base.model.ActionData
import com.navi.base.model.CtaData
import com.navi.base.model.LineItem
import com.navi.base.model.NaviClickAction
import com.navi.chat.R
import com.navi.chat.databinding.ActivityHelpCenterBinding
import com.navi.chat.ui.activities.SupportScreenActivity.Companion.KEY_SCREEN_NAME
import com.navi.chat.utils.ANDROID
import com.navi.chat.utils.CONVERSATION_ID
import com.navi.chat.utils.CONVERSATION_ID_PARAM
import com.navi.chat.utils.NaviChatAnalytics
@@ -33,6 +35,7 @@ import com.navi.chat.utils.NaviChatAnalytics.Companion.SCREEN_NAME
import com.navi.chat.utils.NaviChatAnalytics.Companion.TIMESTAMP
import com.navi.chat.utils.NaviChatAnalytics.Companion.VIEW_ACTIVE_TICKETS
import com.navi.chat.utils.NaviChatAnalytics.Companion.VIEW_ALL_CHATS_CLICK
import com.navi.chat.utils.TARGET_PLATFORM
import com.navi.chat.viewmodels.HelpCenterViewModel
import com.navi.common.listeners.HeaderInteractionListener
import com.navi.common.model.Header
@@ -136,6 +139,7 @@ class NaviHelpCenterActivity : BaseActivity(), HeaderInteractionListener, Widget
override fun onClick(naviClickAction: NaviClickAction, widgetId: String?) {
when (naviClickAction) {
is ActionData -> {
val actionDataParams = naviClickAction.parameters?.toMutableList()
if (naviClickAction.url == ALL_TICKETS || naviClickAction.url == ALL_TICKETS_V2) {
if (widgetId == VIEW_ACTIVE_TICKETS) {
crmEventTracker.sendEvent(VIEW_ALL_CHATS_CLICK)
@@ -168,16 +172,13 @@ class NaviHelpCenterActivity : BaseActivity(), HeaderInteractionListener, Widget
NaviChatAnalytics.ACTIVE_CHAT_CLICK,
hashMapOf(CONVERSATION_ID to conversationId)
)
actionDataParams?.add(LineItem(TARGET_PLATFORM, ANDROID))
}
DeepLinkManager.getDeepLinkListener()
?.navigateTo(
this@NaviHelpCenterActivity,
ctaData =
CtaData(
url = naviClickAction.url,
parameters = naviClickAction.parameters
),
ctaData = CtaData(url = naviClickAction.url, parameters = actionDataParams),
bundle = null,
finish = false,
needsResult = true

View File

@@ -19,6 +19,7 @@ import com.navi.base.sharedpref.PreferenceManager
import com.navi.chat.db.utils.crmEventTracker
import com.navi.chat.models.TicketDetailsData
import com.navi.chat.ui.compose.TicketScreen
import com.navi.chat.utils.ANDROID
import com.navi.chat.utils.CONVERSATION_ID
import com.navi.chat.utils.CONVERSATION_ID_PARAM
import com.navi.chat.utils.NaviChatAnalytics.Companion.CONVERSATION_CLICK_ACS
@@ -28,6 +29,7 @@ import com.navi.chat.utils.NaviChatAnalytics.Companion.TICKET_CONTEXT
import com.navi.chat.utils.NaviChatAnalytics.Companion.TICKET_ID
import com.navi.chat.utils.NaviChatAnalytics.Companion.TICKET_STATE
import com.navi.chat.utils.NaviChatAnalytics.Companion.TIMESTAMP
import com.navi.chat.utils.TARGET_PLATFORM
import com.navi.chat.utils.TICKET_CLICKED
import com.navi.chat.viewmodels.TicketListViewModel
import com.navi.common.model.ModuleNameV2
@@ -86,6 +88,7 @@ class NaviTicketViewActivity : BaseActivity() {
)
val actionDataParams = ticketDetailsData.actionData.parameters?.toMutableList()
actionDataParams?.add(LineItem(CONVERSATION_ID_PARAM, ticketDetailsData.conversationId))
actionDataParams?.add(LineItem(TARGET_PLATFORM, ANDROID))
DeepLinkManager.getDeepLinkListener()
?.navigateTo(
this@NaviTicketViewActivity,

View File

@@ -10,7 +10,6 @@ package com.navi.chat.utils
import android.app.Activity
import android.content.Intent
import android.os.Bundle
import androidx.core.content.ContextCompat.startActivity
import com.navi.chat.ui.activities.CRMWebViewActivity
import com.navi.chat.ui.activities.NaviChatActivity
import com.navi.chat.ui.activities.NaviHelpCenterActivity
@@ -18,7 +17,16 @@ import com.navi.chat.ui.activities.SupportScreenActivity
import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper
import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper.CRM_WEB_VIEW_ENABLED
fun getCrmWebViewIntent(activity: Activity?, ctaUrl: String): Intent {
fun getCrmWebViewIntent(activity: Activity?, ctaUrl: String, platform: String? = null): Intent {
if (platform == ANDROID) {
return when (ctaUrl) {
PRODUCT_HELP_PAGE -> Intent(activity, SupportScreenActivity::class.java)
CHAT_ACTIVITY -> Intent(activity, NaviChatActivity::class.java)
else -> Intent(activity, NaviHelpCenterActivity::class.java)
}
}
val targetActivity =
when {
FirebaseRemoteConfigHelper.getBoolean(CRM_WEB_VIEW_ENABLED, false) -> {

View File

@@ -71,6 +71,8 @@ const val UPLOAD_FROM_GALLERY = "Upload from gallery"
const val FILE_TYPE_PARAM = "fileType"
const val CONVERSATION_ID_PARAM = "conversationId"
const val TARGET_PLATFORM = "targetPlatform"
const val ANDROID = "Android"
const val TYPING_CUES_PATH_AGENT = "agent"
const val TYPING_CUES_PATH_USER = "user"
const val BOT = "BOT"