TP-75758 | Owais | bug-fix (#13540)
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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) -> {
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user