File tree 5 files changed +38
-6
lines changed
sample-compose/app/src/main
java/co/nimblehq/sample/compose/ui
template-compose/app/src/main/java/co/nimblehq/template/compose/ui
5 files changed +38
-6
lines changed Original file line number Diff line number Diff line change 26
26
27
27
<category android : name =" android.intent.category.LAUNCHER" />
28
28
</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 >
29
48
</activity >
30
49
</application >
31
50
Original file line number Diff line number Diff line change @@ -2,11 +2,11 @@ package co.nimblehq.sample.compose.ui
2
2
3
3
import androidx.compose.runtime.Composable
4
4
import androidx.navigation.NavBackStackEntry
5
- import androidx.navigation.NavDeepLink
6
5
import androidx.navigation.NavGraphBuilder
7
6
import androidx.navigation.NavHostController
8
7
import androidx.navigation.compose.NavHost
9
8
import androidx.navigation.compose.composable
9
+ import androidx.navigation.navDeepLink
10
10
import co.nimblehq.sample.compose.ui.base.BaseDestination
11
11
import co.nimblehq.sample.compose.ui.screens.main.mainNavGraph
12
12
@@ -25,13 +25,16 @@ fun AppNavGraph(
25
25
26
26
fun NavGraphBuilder.composable (
27
27
destination : BaseDestination ,
28
- deepLinks : List <NavDeepLink > = emptyList(),
29
28
content : @Composable (NavBackStackEntry ) -> Unit ,
30
29
) {
31
30
composable(
32
31
route = destination.route,
33
32
arguments = destination.arguments,
34
- deepLinks = deepLinks,
33
+ deepLinks = destination.deepLinks.map {
34
+ navDeepLink {
35
+ uriPattern = it
36
+ }
37
+ },
35
38
content = content
36
39
)
37
40
}
Original file line number Diff line number Diff line change @@ -8,6 +8,11 @@ abstract class BaseDestination(val route: String = "") {
8
8
9
9
open val arguments: List <NamedNavArgument > = emptyList()
10
10
11
+ open val deepLinks: List <String > = listOf (
12
+ " https://android.nimblehq.co/$route " ,
13
+ " android://$route " ,
14
+ )
15
+
11
16
open var destination: String = route
12
17
13
18
open var parcelableArgument: Pair <String , Any ?> = " " to null
Original file line number Diff line number Diff line change @@ -2,11 +2,11 @@ package co.nimblehq.template.compose.ui
2
2
3
3
import androidx.compose.runtime.Composable
4
4
import androidx.navigation.NavBackStackEntry
5
- import androidx.navigation.NavDeepLink
6
5
import androidx.navigation.NavGraphBuilder
7
6
import androidx.navigation.NavHostController
8
7
import androidx.navigation.compose.NavHost
9
8
import androidx.navigation.compose.composable
9
+ import androidx.navigation.navDeepLink
10
10
import co.nimblehq.template.compose.ui.base.BaseDestination
11
11
import co.nimblehq.template.compose.ui.screens.main.mainNavGraph
12
12
@@ -25,13 +25,16 @@ fun AppNavGraph(
25
25
26
26
fun NavGraphBuilder.composable (
27
27
destination : BaseDestination ,
28
- deepLinks : List <NavDeepLink > = emptyList(),
29
28
content : @Composable (NavBackStackEntry ) -> Unit ,
30
29
) {
31
30
composable(
32
31
route = destination.route,
33
32
arguments = destination.arguments,
34
- deepLinks = deepLinks,
33
+ deepLinks = destination.deepLinks.map {
34
+ navDeepLink {
35
+ uriPattern = it
36
+ }
37
+ },
35
38
content = content
36
39
)
37
40
}
Original file line number Diff line number Diff line change @@ -6,6 +6,8 @@ abstract class BaseDestination(val route: String = "") {
6
6
7
7
open val arguments: List <NamedNavArgument > = emptyList()
8
8
9
+ open val deepLinks: List <String > = emptyList()
10
+
9
11
open var destination: String = route
10
12
11
13
data class Up (val results : HashMap <String , Any > = hashMapOf()) : BaseDestination() {
You can’t perform that action at this time.
0 commit comments