Skip to content

Instantly share code, notes, and snippets.

View merttoptas's full-sized avatar

Mert Toptas merttoptas

View GitHub Profile
@RunWith(AndroidJUnit4::class)
class AppDeepLinkingTest {
@get:Rule
val activityScenarioRule = ActivityScenarioRule(MainActivity::class.java)
@get:Rule
val composeTestRule = createAndroidComposeRule<MainActivity>()
private lateinit var scenario: ActivityScenario<MainActivity>
fun NavGraphBuilder.settingsScreen() {
composable(
route = settingsNavigationRoute,
deepLinks = listOf(navDeepLink {
uriPattern = "example://compose/settings/{id}"
action = Intent.ACTION_VIEW
}),
arguments = listOf(
navArgument("id") {
type = NavType.StringType
@Composable
internal fun HomeScreenRoute(
modifier: Modifier = Modifier,
deepLinkData: String? = null
) {
HomeScreen(modifier, deepLinkData)
}
@OptIn(ExperimentalMaterial3Api::class)
@Composable
@Composable
fun MainNavHost(
navController: NavHostController,
modifier: Modifier = Modifier,
startDestination: String = homeNavigationRoute
) {
NavHost(
modifier = modifier,
navController = navController,
fun NavGraphBuilder.homeScreen() {
composable(
route = homeNavigationRoute,
deepLinks = listOf(navDeepLink {
uriPattern = "example://compose/dashboard/{name}"
action = Intent.ACTION_VIEW
}),
arguments = listOf(
navArgument("name") {
type = NavType.StringType
<activity
android:name=".MainActivity"
android:exported="true"
android:label="@string/app_name"
android:theme="@style/Theme.ComposeDeeplinkTutorial">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
const val homeNavigationRoute = "home_route"
fun NavController.navigateHomeScreen(navOptions: NavOptions? = null) {
this.navigate(homeNavigationRoute, navOptions)
}
fun NavGraphBuilder.homeScreen() {
composable(route = homeNavigationRoute) {
HomeScreenRoute()
}
@Composable
fun MainNavHost(
navController: NavHostController,
modifier: Modifier = Modifier,
startDestination: String = homeNavigationRoute
) {
NavHost(
navController = navController,
startDestination = startDestination,
) {
@merttoptas
merttoptas / BloomTextField.kt
Created April 24, 2022 12:50
SearchEditText
@Composable
fun SearchEditText(modifier: Modifier) {
BloomTextField(
modifier = modifier,
value = "",
onValueChange = {},
placeholder = {
BloomText(
modifier = modifier,
text = "Search",
@Composable
fun BloomTextField(
modifier: Modifier = Modifier,
value: String,
onValueChange: (String) -> Unit,
leadingIcon: @Composable (() -> Unit)? = null,
trailingIcon: @Composable (() -> Unit)? = null,
placeholder: @Composable (() -> Unit)? = null,
visualTransformation: VisualTransformation = VisualTransformation.None,
keyboardOptions: KeyboardOptions = KeyboardOptions.Default,