Skip to content

Commit c013641

Browse files
committed
[FEAT/#380] action -> redirect, id -> internId 복구
1 parent d5d56eb commit c013641

8 files changed

Lines changed: 39 additions & 34 deletions

File tree

core/designsystem/src/main/java/com/terning/core/designsystem/util/DeeplinkDefaults.kt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,20 @@ import android.net.Uri
44

55
object DeeplinkDefaults {
66
private const val SCHEME: String = "terning"
7-
const val ACTION: String = "action"
8-
const val ID: String = "id"
7+
const val REDIRECT: String = "redirect"
8+
const val INTERN_ID: String = "internId"
99

1010
fun build(
1111
host: String,
12-
action: String? = null,
13-
id: String? = null
12+
redirect: String? = null,
13+
internId: String? = null
1414
): String {
1515
val uriBuilder = Uri.Builder()
1616
.scheme(SCHEME)
1717
.authority(host)
1818

19-
action?.let { uriBuilder.appendQueryParameter(ACTION, it) }
20-
id?.let { uriBuilder.appendQueryParameter(ID, it) }
19+
redirect?.let { uriBuilder.appendQueryParameter(REDIRECT, it) }
20+
internId?.let { uriBuilder.appendQueryParameter(INTERN_ID, it) }
2121

2222
return uriBuilder.build().toString()
2323
}

core/firebase/src/main/java/com/terning/core/firebase/messageservice/TerningMessagingService.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ class TerningMessagingService : FirebaseMessagingService() {
164164
val base = DeeplinkType.from(type) ?: return ""
165165

166166
return if (isForeground) DeeplinkDefaults.build(host = base.path)
167-
else DeeplinkDefaults.build(host = BACKGROUND_HOST, action = base.path)
167+
else DeeplinkDefaults.build(host = BACKGROUND_HOST, redirect = base.path)
168168
}
169169

170170
companion object {

feature/intern/src/main/java/com/terning/feature/intern/InternViewModel.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,11 @@ class InternViewModel @Inject constructor(
7878
"START_DATE" to internInfo.startYearMonth,
7979
"PERIOD" to internInfo.workingPeriod,
8080
"A_E" to "kakaolink",
81-
"A_E_D" to "jobDetail",
81+
"A_E_D" to "intern",
8282
"I_E" to "kakaolink",
8383
"I_E_D" to "jobDetail",
84+
"redirect" to "intern",
85+
"internId" to announcementId,
8486
"action" to "jobDetail",
8587
"JOB_ID" to announcementId
8688
)

feature/main/src/main/java/com/terning/feature/main/MainActivity.kt

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,11 @@ import com.terning.core.analytics.AmplitudeTracker
1313
import com.terning.core.analytics.EventType
1414
import com.terning.core.analytics.LocalTracker
1515
import com.terning.core.designsystem.theme.TerningPointTheme
16+
import com.terning.core.designsystem.util.DeeplinkDefaults.INTERN_ID
17+
import com.terning.core.designsystem.util.DeeplinkDefaults.REDIRECT
1618
import com.terning.core.firebase.messageservice.TerningMessagingService.Companion.FROM_NOTIFICATION
1719
import dagger.hilt.android.AndroidEntryPoint
20+
import timber.log.Timber
1821
import javax.inject.Inject
1922

2023
@AndroidEntryPoint
@@ -30,14 +33,14 @@ class MainActivity : ComponentActivity() {
3033

3134
setContent {
3235
val navigator: MainNavigator = rememberMainNavigator()
33-
val (host, action, id) = handleDeeplink(intent)
36+
val (host, redirect, internId) = handleDeeplink(intent)
3437

3538
TerningPointTheme {
3639
CompositionLocalProvider(LocalTracker provides tracker) {
3740
MainScreen(
3841
host = host,
39-
action = action,
40-
id = id,
42+
redirect = redirect,
43+
internId = internId,
4144
navigator = navigator
4245
)
4346
}
@@ -51,10 +54,10 @@ class MainActivity : ComponentActivity() {
5154

5255
if (uriString.isNullOrEmpty()) return Triple(null, null, null)
5356

57+
Timber.tag("LYB").d("uri = $uri")
5458
val host = uri.host
55-
val action = uri.getQueryParameter("action")
56-
val id = uri.getQueryParameter("id")
57-
59+
val redirect = uri.getQueryParameter(REDIRECT)
60+
val internId = uri.getQueryParameter(INTERN_ID)
5861

5962
if (!intent.getBooleanExtra(ALREADY_TRACKED, false)
6063
&& intent.getBooleanExtra(FROM_NOTIFICATION, false)
@@ -67,7 +70,7 @@ class MainActivity : ComponentActivity() {
6770

6871
intent.putExtra(ALREADY_TRACKED, true)
6972

70-
return Triple(host, action, id)
73+
return Triple(host, redirect, internId)
7174
}
7275

7376
companion object {

feature/main/src/main/java/com/terning/feature/main/MainNavigator.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,15 @@ class MainNavigator(
2828

2929
fun getStartDestination(
3030
host: String?,
31-
action: String?,
32-
id: String?
31+
redirect: String?,
32+
internId: String?
3333
) = when (DeeplinkType.from(host)) {
3434
DeeplinkType.SEARCH -> Search
3535
DeeplinkType.HOME -> Home(internId = null)
3636
DeeplinkType.CALENDAR -> Calendar
37-
DeeplinkType.KAKAOLINK -> Splash(action = action, id = id)
37+
DeeplinkType.KAKAOLINK -> Splash(redirect = redirect, internId = internId)
3838

39-
else -> Splash(action = action)
39+
else -> Splash(redirect = redirect)
4040
}
4141

4242
val currentTab: MainTab?

feature/main/src/main/java/com/terning/feature/main/MainScreen.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ import kotlinx.coroutines.launch
6464
@Composable
6565
fun MainScreen(
6666
host: String?,
67-
action: String?,
68-
id: String?,
67+
redirect: String?,
68+
internId: String?,
6969
navigator: MainNavigator = rememberMainNavigator(),
7070
) {
7171
val context = LocalContext.current
@@ -91,7 +91,7 @@ fun MainScreen(
9191

9292
val amplitudeTracker = LocalTracker.current
9393
val splashNavOptions = NavOptions.Builder().setPopUpTo(
94-
route = Splash(action = action, id = id),
94+
route = Splash(redirect = redirect, internId = internId),
9595
inclusive = true
9696
).build()
9797

@@ -148,8 +148,8 @@ fun MainScreen(
148148
navController = navigator.navController,
149149
startDestination = navigator.getStartDestination(
150150
host = host,
151-
action = action,
152-
id = id
151+
redirect = redirect,
152+
internId = internId
153153
)
154154
) {
155155
splashNavGraph(

feature/splash/src/main/java/com/terning/feature/splash/SplashRoute.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ import kotlinx.coroutines.launch
3636

3737
@Composable
3838
internal fun SplashRoute(
39-
action: String?,
40-
id: String?,
39+
redirect: String?,
40+
internId: String?,
4141
navigateToHome: (internId: String?) -> Unit,
4242
navigateToSignIn: () -> Unit,
4343
navigateToCalendar: () -> Unit,
@@ -87,11 +87,11 @@ internal fun SplashRoute(
8787
when (sideEffect) {
8888
is SplashSideEffect.HasAccessToken -> {
8989
if (sideEffect.hasAccessToken) {
90-
when (DeeplinkType.from(action)) {
90+
when (DeeplinkType.from(redirect)) {
9191
DeeplinkType.CALENDAR -> navigateToCalendar()
9292
DeeplinkType.HOME -> navigateToHome(null)
9393
DeeplinkType.SEARCH -> navigateToSearch()
94-
DeeplinkType.INTERN -> navigateToHome(id.orEmpty())
94+
DeeplinkType.INTERN -> navigateToHome(internId.orEmpty())
9595

9696
else -> navigateToHome(null)
9797
}

feature/splash/src/main/java/com/terning/feature/splash/navigation/SplashNavigation.kt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ fun NavGraphBuilder.splashNavGraph(
2525
) {
2626
val args = it.toRoute<Splash>()
2727
SplashRoute(
28-
action = args.action,
29-
id = args.id,
28+
redirect = args.redirect,
29+
internId = args.internId,
3030
navigateToHome = navigateHome,
3131
navigateToSignIn = navigateSignIn,
3232
navigateToSearch = navigateSearch,
@@ -37,8 +37,8 @@ fun NavGraphBuilder.splashNavGraph(
3737

3838
@Serializable
3939
data class Splash(
40-
@SerialName("action")
41-
val action: String? = null,
42-
@SerialName("id")
43-
val id: String? = null
40+
@SerialName("redirect")
41+
val redirect: String? = null,
42+
@SerialName("internId")
43+
val internId: String? = null
4444
) : Route

0 commit comments

Comments
 (0)