diff --git a/app/src/main/java/com/guru/composecookbook/ui/home/advancelists/AdvanceListsActivity.kt b/app/src/main/java/com/guru/composecookbook/ui/home/advancelists/AdvanceListsActivity.kt index f71fe080..b89d5438 100644 --- a/app/src/main/java/com/guru/composecookbook/ui/home/advancelists/AdvanceListsActivity.kt +++ b/app/src/main/java/com/guru/composecookbook/ui/home/advancelists/AdvanceListsActivity.kt @@ -55,16 +55,14 @@ class AdvanceListsActivity : ComponentActivity() { IconButton(onClick = { onBackPressed() }) { Icon( Icons.Filled.ArrowBack, - contentDescription = stringResource(id = R.string.cd_back) + contentDescription = stringResource(id = R.string.cd_back), ) } - } + }, ) } ) { paddingValues -> - AdvanceListContent( - modifier = Modifier.padding(paddingValues), - ) + AdvanceListContent(modifier = Modifier.padding(paddingValues)) } } } @@ -73,22 +71,21 @@ class AdvanceListsActivity : ComponentActivity() { companion object { val tabs = listOf("Shimmers", "Animated Lists", "Swipeable Lists") const val DARK_THEME = "darkTheme" + fun newIntent(context: Context, isDarkTheme: Boolean) = Intent(context, AdvanceListsActivity::class.java).apply { putExtra(DARK_THEME, isDarkTheme) } } } @Composable -fun AdvanceListContent( - modifier: Modifier = Modifier, -) { +fun AdvanceListContent(modifier: Modifier = Modifier) { var selectedIndex by remember { mutableStateOf(0) } val pagerState: PagerState = run { remember { PagerState(0, 0, tabs.size - 1) } } Column(modifier = modifier) { ScrollableTabRow( backgroundColor = MaterialTheme.colorScheme.surface, selectedTabIndex = selectedIndex, - edgePadding = 12.dp + edgePadding = 12.dp, ) { tabs.forEachIndexed { index, title -> Tab( @@ -97,7 +94,7 @@ fun AdvanceListContent( selectedIndex = tabs.indexOf(title) pagerState.currentPage = tabs.indexOf(title) }, - text = { Text(title) } + text = { Text(title) }, ) } } diff --git a/app/src/main/java/com/guru/composecookbook/ui/home/dialogs/DialogsActivity.kt b/app/src/main/java/com/guru/composecookbook/ui/home/dialogs/DialogsActivity.kt index 40a6ffb6..e53afdc9 100644 --- a/app/src/main/java/com/guru/composecookbook/ui/home/dialogs/DialogsActivity.kt +++ b/app/src/main/java/com/guru/composecookbook/ui/home/dialogs/DialogsActivity.kt @@ -65,6 +65,7 @@ class DialogsActivity : AppCompatActivity() { companion object { const val DARK_THEME = "darkTheme" + fun newIntent(context: Context, isDarkTheme: Boolean) = Intent(context, DialogsActivity::class.java).apply { putExtra(DARK_THEME, isDarkTheme) } } @@ -82,13 +83,13 @@ fun DialogScreen(onBack: () -> Unit) { IconButton(onClick = onBack) { Icon( imageVector = Icons.Default.ArrowBack, - contentDescription = stringResource(id = R.string.cd_back) + contentDescription = stringResource(id = R.string.cd_back), ) } - } + }, ) }, - content = { DialogsOptionList() } + content = { DialogsOptionList() }, ) } @@ -108,51 +109,51 @@ fun DialogsOptionList() { Column(modifier = Modifier.verticalScroll(rememberScrollState()).padding(16.dp)) { Button( onClick = { dialogState = dialogState.copy(showDialog = true) }, - modifier = Modifier.fillMaxWidth().padding(16.dp) + modifier = Modifier.fillMaxWidth().padding(16.dp), ) { Text(text = "Plain Message Dialog") } Button( onClick = { dialogState = DialogState(true, DialogType.TITLE) }, - modifier = Modifier.fillMaxWidth().padding(16.dp) + modifier = Modifier.fillMaxWidth().padding(16.dp), ) { Text(text = "Title Dialog") } Button( onClick = { dialogState = DialogState(true, DialogType.VERTICALBUTTON) }, - modifier = Modifier.fillMaxWidth().padding(16.dp) + modifier = Modifier.fillMaxWidth().padding(16.dp), ) { Text(text = "Dialog with Vertical buttons") } Button( onClick = { dialogState = DialogState(true, DialogType.IMAGE) }, - modifier = Modifier.fillMaxWidth().padding(16.dp) + modifier = Modifier.fillMaxWidth().padding(16.dp), ) { Text(text = "Dialog with Image") } Button( onClick = { dialogState = DialogState(true, DialogType.LONGDIALOG) }, - modifier = Modifier.fillMaxWidth().padding(16.dp) + modifier = Modifier.fillMaxWidth().padding(16.dp), ) { Text(text = "Long Dialog") } Button( onClick = { dialogState = DialogState(true, DialogType.ROUNDED) }, - modifier = Modifier.fillMaxWidth().padding(16.dp) + modifier = Modifier.fillMaxWidth().padding(16.dp), ) { Text(text = "Extra Rounded Dialog") } Button( onClick = { dialogState = DialogState(true, DialogType.DATEPICKER) }, - modifier = Modifier.fillMaxWidth().padding(16.dp) + modifier = Modifier.fillMaxWidth().padding(16.dp), ) { Text(text = "Date Picker Dialog") } Button( onClick = { dialogState = DialogState(true, DialogType.TIMEPICKER) }, - modifier = Modifier.fillMaxWidth().padding(16.dp) + modifier = Modifier.fillMaxWidth().padding(16.dp), ) { Text(text = "Time Picker Dialog") } @@ -170,7 +171,7 @@ fun ShowDialog(type: DialogType, onDismiss: () -> Unit) { confirmButton = { TextButton(onClick = onDismiss, modifier = Modifier.padding(8.dp)) { Text(text = "Ok") } }, - onDismissRequest = onDismiss + onDismissRequest = onDismiss, ) DialogType.TITLE -> AlertDialog( @@ -184,7 +185,7 @@ fun ShowDialog(type: DialogType, onDismiss: () -> Unit) { TextButton(onClick = onDismiss, modifier = Modifier.padding(4.dp)) { Text(text = "Ok") } } }, - onDismissRequest = onDismiss + onDismissRequest = onDismiss, ) DialogType.VERTICALBUTTON -> AlertDialog( @@ -198,7 +199,7 @@ fun ShowDialog(type: DialogType, onDismiss: () -> Unit) { Text(text = "Ok") } }, - onDismissRequest = onDismiss + onDismissRequest = onDismiss, ) DialogType.IMAGE -> AlertDialog( @@ -210,7 +211,7 @@ fun ShowDialog(type: DialogType, onDismiss: () -> Unit) { confirmButton = { TextButton(onClick = onDismiss, modifier = Modifier.padding(8.dp)) { Text(text = "Ok") } }, - onDismissRequest = onDismiss + onDismissRequest = onDismiss, ) DialogType.LONGDIALOG -> AlertDialog( @@ -220,11 +221,11 @@ fun ShowDialog(type: DialogType, onDismiss: () -> Unit) { Text(item.subtitle, modifier = Modifier.padding(bottom = 8.dp)) Image( painter = painterResource(DemoDataProvider.item.imageId), - contentDescription = null + contentDescription = null, ) Text( item.subtitle + item.title + item.subtitle + item.title, - style = typography.subtitle2 + style = typography.subtitle2, ) } }, @@ -242,7 +243,7 @@ fun ShowDialog(type: DialogType, onDismiss: () -> Unit) { Image( painter = painterResource(DemoDataProvider.item.imageId), contentDescription = null, - modifier = Modifier.clip(RoundedCornerShape(16.dp)) + modifier = Modifier.clip(RoundedCornerShape(16.dp)), ) } }, @@ -250,7 +251,7 @@ fun ShowDialog(type: DialogType, onDismiss: () -> Unit) { TextButton(onClick = onDismiss, modifier = Modifier.padding(8.dp)) { Text(text = "Ok") } }, onDismissRequest = onDismiss, - shape = RoundedCornerShape(16.dp) + shape = RoundedCornerShape(16.dp), ) DialogType.DATEPICKER -> { val context = LocalContext.current diff --git a/app/src/main/java/com/guru/composecookbook/ui/home/dynamic/DynamicUIActivity.kt b/app/src/main/java/com/guru/composecookbook/ui/home/dynamic/DynamicUIActivity.kt index 6268b533..fcc3f87b 100644 --- a/app/src/main/java/com/guru/composecookbook/ui/home/dynamic/DynamicUIActivity.kt +++ b/app/src/main/java/com/guru/composecookbook/ui/home/dynamic/DynamicUIActivity.kt @@ -50,6 +50,7 @@ class DynamicUIActivity : ComponentActivity() { companion object { const val TYPE = "type" const val DARK_THEME = "darkTheme" + fun newIntent(context: Context, dynamicUiType: String, isDarkTheme: Boolean) = Intent(context, DynamicUIActivity::class.java).apply { putExtra(TYPE, dynamicUiType) @@ -69,23 +70,17 @@ fun DynamicUiWrapper(uiType: String, onback: () -> Unit) { IconButton(onClick = onback) { Icon(Icons.Filled.ArrowBack, contentDescription = stringResource(id = R.string.cd_back)) } - } + }, ) }, content = { paddingValues -> - DynamicUiScreen( - uiType = uiType, - modifier = Modifier.padding(paddingValues), - ) - } + DynamicUiScreen(uiType = uiType, modifier = Modifier.padding(paddingValues)) + }, ) } @Composable -fun DynamicUiScreen( - uiType: String, - modifier: Modifier = Modifier, -) { +fun DynamicUiScreen(uiType: String, modifier: Modifier = Modifier) { // We setup a base activity and we will change content depending upon ui type so // we don't have to create Activity for every feature showcase Box(modifier = modifier) { diff --git a/app/src/main/java/com/guru/composecookbook/ui/home/lists/ListViewActivity.kt b/app/src/main/java/com/guru/composecookbook/ui/home/lists/ListViewActivity.kt index efdd46ca..45c1f9f2 100644 --- a/app/src/main/java/com/guru/composecookbook/ui/home/lists/ListViewActivity.kt +++ b/app/src/main/java/com/guru/composecookbook/ui/home/lists/ListViewActivity.kt @@ -54,6 +54,7 @@ class ListViewActivity : ComponentActivity() { companion object { const val TYPE = "type" const val DARK_THEME = "darkTheme" + fun newIntent(context: Context, listViewType: String, isDarkTheme: Boolean) = Intent(context, ListViewActivity::class.java).apply { putExtra(TYPE, listViewType) @@ -78,34 +79,25 @@ fun ListViewContent(listType: String, onBack: () -> Unit) { Text(text = "ListView") Text( text = listType.lowercase(Locale.getDefault()), - style = MaterialTheme.typography.labelSmall + style = MaterialTheme.typography.labelSmall, ) } }, navigationIcon = { IconButton(onClick = onBack) { - Icon( - Icons.Filled.ArrowBack, - contentDescription = stringResource(id = R.string.cd_back), - ) + Icon(Icons.Filled.ArrowBack, contentDescription = stringResource(id = R.string.cd_back)) } }, ) }, content = { paddingValues -> - ListViewScreen( - listType = listType, - modifier = Modifier.padding(paddingValues), - ) - } + ListViewScreen(listType = listType, modifier = Modifier.padding(paddingValues)) + }, ) } @Composable -fun ListViewScreen( - listType: String, - modifier: Modifier = Modifier, -) { +fun ListViewScreen(listType: String, modifier: Modifier = Modifier) { Box(modifier = modifier) { when (listType) { ListViewType.VERTICAL.name -> { @@ -137,7 +129,7 @@ fun VerticalListView() { VerticalListItem(item = item) } ListItemDivider() - } + }, ) } } @@ -150,19 +142,19 @@ fun HorizontalListView() { Text( modifier = Modifier.padding(16.dp), text = "Good Food", - style = MaterialTheme.typography.labelMedium + style = MaterialTheme.typography.labelMedium, ) LazyRow(modifier = Modifier.padding(end = 16.dp)) { items( items = list, - itemContent = { HorizontalListItem(it, Modifier.padding(start = 16.dp, bottom = 16.dp)) } + itemContent = { HorizontalListItem(it, Modifier.padding(start = 16.dp, bottom = 16.dp)) }, ) } ListItemDivider() Text( modifier = Modifier.padding(16.dp), text = "Stories", - style = MaterialTheme.typography.labelMedium + style = MaterialTheme.typography.labelMedium, ) StoryList(profiles = profiles, onProfileClicked = {}) } @@ -183,7 +175,7 @@ fun GridListView() { profileName = it.author, isMe = it.id == 1, modifier = Modifier.padding(start = 8.dp, end = 8.dp, top = 8.dp), - onClick = {} + onClick = {}, ) } } @@ -194,17 +186,12 @@ fun GridListView() { private fun ListItemDivider() { Divider( modifier = Modifier.padding(horizontal = 12.dp, vertical = 12.dp), - color = MaterialTheme.colorScheme.onSurface.copy(alpha = 0.08f) + color = MaterialTheme.colorScheme.onSurface.copy(alpha = 0.08f), ) } @Preview(showBackground = true) @Composable fun DefaultPreview2() { - ComposeCookBookTheme { - ListViewContent( - ListViewType.VERTICAL.name, - onBack = {}, - ) - } + ComposeCookBookTheme { ListViewContent(ListViewType.VERTICAL.name, onBack = {}) } } diff --git a/build.gradle.kts b/build.gradle.kts index a9e59cd0..33be65e6 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -10,7 +10,7 @@ buildscript { } plugins { - id("com.ncorti.ktfmt.gradle") version "0.12.0" apply false + id("com.ncorti.ktfmt.gradle") version "0.16.0" apply false } allprojects {