Skip to content

Commit 91c7ac8

Browse files
authored
Merge pull request #531 from nimblehq/feature/define-deeplink-structure
[#548] Prepare initial setup for deep-link
2 parents ebb41f0 + 1974e18 commit 91c7ac8

File tree

5 files changed

+38
-6
lines changed

5 files changed

+38
-6
lines changed

sample-compose/app/src/main/AndroidManifest.xml

+19
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,25 @@
2626

2727
<category android:name="android.intent.category.LAUNCHER" />
2828
</intent-filter>
29+
30+
<intent-filter android:autoVerify="true">
31+
<action android:name="android.intent.action.VIEW" />
32+
33+
<category android:name="android.intent.category.DEFAULT" />
34+
<category android:name="android.intent.category.BROWSABLE" />
35+
36+
<data android:scheme="https" />
37+
<data android:host="android.nimblehq.co" />
38+
</intent-filter>
39+
40+
<intent-filter>
41+
<action android:name="android.intent.action.VIEW" />
42+
43+
<category android:name="android.intent.category.DEFAULT" />
44+
<category android:name="android.intent.category.BROWSABLE" />
45+
46+
<data android:scheme="android" />
47+
</intent-filter>
2948
</activity>
3049
</application>
3150

sample-compose/app/src/main/java/co/nimblehq/sample/compose/ui/AppNavGraph.kt

+6-3
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@ package co.nimblehq.sample.compose.ui
22

33
import androidx.compose.runtime.Composable
44
import androidx.navigation.NavBackStackEntry
5-
import androidx.navigation.NavDeepLink
65
import androidx.navigation.NavGraphBuilder
76
import androidx.navigation.NavHostController
87
import androidx.navigation.compose.NavHost
98
import androidx.navigation.compose.composable
9+
import androidx.navigation.navDeepLink
1010
import co.nimblehq.sample.compose.ui.base.BaseDestination
1111
import co.nimblehq.sample.compose.ui.screens.main.mainNavGraph
1212

@@ -25,13 +25,16 @@ fun AppNavGraph(
2525

2626
fun NavGraphBuilder.composable(
2727
destination: BaseDestination,
28-
deepLinks: List<NavDeepLink> = emptyList(),
2928
content: @Composable (NavBackStackEntry) -> Unit,
3029
) {
3130
composable(
3231
route = destination.route,
3332
arguments = destination.arguments,
34-
deepLinks = deepLinks,
33+
deepLinks = destination.deepLinks.map {
34+
navDeepLink {
35+
uriPattern = it
36+
}
37+
},
3538
content = content
3639
)
3740
}

sample-compose/app/src/main/java/co/nimblehq/sample/compose/ui/base/BaseDestination.kt

+5
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,11 @@ abstract class BaseDestination(val route: String = "") {
88

99
open val arguments: List<NamedNavArgument> = emptyList()
1010

11+
open val deepLinks: List<String> = listOf(
12+
"https://android.nimblehq.co/$route",
13+
"android://$route",
14+
)
15+
1116
open var destination: String = route
1217

1318
open var parcelableArgument: Pair<String, Any?> = "" to null

template-compose/app/src/main/java/co/nimblehq/template/compose/ui/AppNavGraph.kt

+6-3
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@ package co.nimblehq.template.compose.ui
22

33
import androidx.compose.runtime.Composable
44
import androidx.navigation.NavBackStackEntry
5-
import androidx.navigation.NavDeepLink
65
import androidx.navigation.NavGraphBuilder
76
import androidx.navigation.NavHostController
87
import androidx.navigation.compose.NavHost
98
import androidx.navigation.compose.composable
9+
import androidx.navigation.navDeepLink
1010
import co.nimblehq.template.compose.ui.base.BaseDestination
1111
import co.nimblehq.template.compose.ui.screens.main.mainNavGraph
1212

@@ -25,13 +25,16 @@ fun AppNavGraph(
2525

2626
fun NavGraphBuilder.composable(
2727
destination: BaseDestination,
28-
deepLinks: List<NavDeepLink> = emptyList(),
2928
content: @Composable (NavBackStackEntry) -> Unit,
3029
) {
3130
composable(
3231
route = destination.route,
3332
arguments = destination.arguments,
34-
deepLinks = deepLinks,
33+
deepLinks = destination.deepLinks.map {
34+
navDeepLink {
35+
uriPattern = it
36+
}
37+
},
3538
content = content
3639
)
3740
}

template-compose/app/src/main/java/co/nimblehq/template/compose/ui/base/BaseDestination.kt

+2
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ abstract class BaseDestination(val route: String = "") {
66

77
open val arguments: List<NamedNavArgument> = emptyList()
88

9+
open val deepLinks: List<String> = emptyList()
10+
911
open var destination: String = route
1012

1113
data class Up(val results: HashMap<String, Any> = hashMapOf()) : BaseDestination() {

0 commit comments

Comments
 (0)