fix(dm): MainV2Activity chat path 라우팅을 보정한다
This commit is contained in:
@@ -457,7 +457,9 @@ class MainV2Activity : BaseActivity<ActivityMainV2Binding>(ActivityMainV2Binding
|
||||
val bundle = intent.getBundleExtra(Constants.EXTRA_DATA) ?: return
|
||||
val deepLinkUrl = bundle.getString("deep_link")
|
||||
val routeBundle = if (!deepLinkUrl.isNullOrBlank()) {
|
||||
buildBundleFromDeepLinkUrl(deepLinkUrl) ?: bundle
|
||||
Bundle(bundle).apply {
|
||||
buildBundleFromDeepLinkUrl(deepLinkUrl)?.let { putAll(it) }
|
||||
}
|
||||
} else {
|
||||
bundle
|
||||
}
|
||||
@@ -480,6 +482,7 @@ class MainV2Activity : BaseActivity<ActivityMainV2Binding>(ActivityMainV2Binding
|
||||
}
|
||||
}
|
||||
|
||||
putQuery("room_id")
|
||||
putQuery("channel_id")
|
||||
putQuery("message_id")
|
||||
putQuery("audition_id")
|
||||
@@ -518,6 +521,12 @@ class MainV2Activity : BaseActivity<ActivityMainV2Binding>(ActivityMainV2Binding
|
||||
}
|
||||
|
||||
when (pathType) {
|
||||
"chat" -> {
|
||||
putIfAbsent("room_id", pathId)
|
||||
putIfAbsent("deep_link_value", "chat")
|
||||
putIfAbsent("deep_link_sub5", pathId)
|
||||
}
|
||||
|
||||
"content" -> {
|
||||
putIfAbsent("content_id", pathId)
|
||||
putIfAbsent("deep_link_value", "content")
|
||||
@@ -565,7 +574,7 @@ class MainV2Activity : BaseActivity<ActivityMainV2Binding>(ActivityMainV2Binding
|
||||
val communityPostId = bundle.getString(Constants.EXTRA_COMMUNITY_POST_ID)?.toLongOrNull()
|
||||
?: bundle.getLong(Constants.EXTRA_COMMUNITY_POST_ID).takeIf { it > 0 }
|
||||
|
||||
if (isUserCreatorChat(bundle) && roomId != null && roomId > 0) {
|
||||
if (isDmChatDeepLink(bundle) && roomId != null && roomId > 0) {
|
||||
startActivity(DmChatRoomActivity.newIntentByRoomId(applicationContext, roomId))
|
||||
return true
|
||||
}
|
||||
@@ -615,8 +624,8 @@ class MainV2Activity : BaseActivity<ActivityMainV2Binding>(ActivityMainV2Binding
|
||||
return !deepLinkValue.isNullOrBlank() && routeByDeepLinkValue(deepLinkValue, deepLinkValueId)
|
||||
}
|
||||
|
||||
private fun isUserCreatorChat(bundle: Bundle): Boolean {
|
||||
return bundle.getString("chat_type") == "USER_CREATOR"
|
||||
private fun isDmChatDeepLink(bundle: Bundle): Boolean {
|
||||
return bundle.getString("deep_link_value") == "chat"
|
||||
}
|
||||
|
||||
private fun routeByDeepLinkValue(deepLinkValue: String, deepLinkValueId: Long?): Boolean {
|
||||
|
||||
Reference in New Issue
Block a user