diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 75a80508..91bd9859 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -17,6 +17,12 @@ + + + + + + diff --git a/feature/epoch/src/main/java/com/sadellie/unitto/feature/epoch/navigation/EpochNavigation.kt b/feature/epoch/src/main/java/com/sadellie/unitto/feature/epoch/navigation/EpochNavigation.kt index dde15761..f1665243 100644 --- a/feature/epoch/src/main/java/com/sadellie/unitto/feature/epoch/navigation/EpochNavigation.kt +++ b/feature/epoch/src/main/java/com/sadellie/unitto/feature/epoch/navigation/EpochNavigation.kt @@ -18,21 +18,45 @@ package com.sadellie.unitto.feature.epoch.navigation +import android.content.Intent +import android.net.Uri +import androidx.core.content.pm.ShortcutInfoCompat +import androidx.core.content.pm.ShortcutManagerCompat import androidx.navigation.NavController import androidx.navigation.NavGraphBuilder import androidx.navigation.compose.composable +import androidx.navigation.navDeepLink import com.sadellie.unitto.feature.epoch.EpochRoute +import com.sadellie.unitto.feature.epoch.R private const val epochRoute = "epoch_route" fun NavController.navigateToEpoch() { + val shortcut = ShortcutInfoCompat + .Builder(context, epochRoute) + .setLongLabel(context.getString(R.string.epoch_converter)) + .setLongLabel(context.getString(R.string.epoch_converter)) + .setIntent( + Intent( + Intent.ACTION_VIEW, + Uri.parse("app://com.sadellie.unitto/$epochRoute") + ) + ) + .build() + ShortcutManagerCompat.pushDynamicShortcut(context, shortcut) + navigate(epochRoute) } fun NavGraphBuilder.epochScreen( navigateUpAction: () -> Unit ) { - composable(epochRoute) { + composable( + route = epochRoute, + deepLinks = listOf( + navDeepLink { uriPattern = "app://com.sadellie.unitto/$epochRoute" } + ) + ) { EpochRoute( navigateUpAction = navigateUpAction )