Skip to content

Commit c494684

Browse files
authored
Merge pull request #168 from shamalip/main
Update the sizes, checklist layout and clean up unused files.
2 parents 2b88c2c + 7859c67 commit c494684

File tree

11 files changed

+113
-743
lines changed

11 files changed

+113
-743
lines changed

samples/user-interface/appwidgets/src/main/java/com/example/platform/ui/appwidgets/glance/layout/collections/HeroStyleImageGridAppWidget.kt

Lines changed: 0 additions & 95 deletions
This file was deleted.

samples/user-interface/appwidgets/src/main/java/com/example/platform/ui/appwidgets/glance/layout/collections/layout/CheckListLayout.kt

Lines changed: 32 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,17 @@ import androidx.glance.action.Action
1313
import androidx.glance.appwidget.components.CircleIconButton
1414
import androidx.glance.appwidget.components.Scaffold
1515
import androidx.glance.appwidget.components.TitleBar
16-
import androidx.glance.layout.Box
1716
import androidx.glance.layout.fillMaxSize
1817
import androidx.glance.layout.fillMaxWidth
1918
import androidx.glance.layout.padding
2019
import androidx.glance.text.FontWeight
2120
import androidx.glance.text.Text
2221
import androidx.glance.text.TextStyle
2322
import com.example.platform.ui.appwidgets.R
24-
import com.example.platform.ui.appwidgets.glance.layout.collections.layout.CheckListLayoutDimensions.contentEndPadding
23+
import com.example.platform.ui.appwidgets.glance.layout.collections.layout.CheckListLayoutDimensions.checkListRowStartPadding
24+
import com.example.platform.ui.appwidgets.glance.layout.collections.layout.CheckListLayoutDimensions.checkListRowEndPadding
2525
import com.example.platform.ui.appwidgets.glance.layout.collections.layout.CheckListLayoutDimensions.scaffoldHorizontalPadding
26+
import com.example.platform.ui.appwidgets.glance.layout.collections.layout.CheckListLayoutDimensions.verticalItemSpacing
2627
import com.example.platform.ui.appwidgets.glance.layout.collections.layout.CheckListLayoutDimensions.widgetPadding
2728
import com.example.platform.ui.appwidgets.glance.layout.collections.layout.CheckListLayoutSize.Companion.isWiderThan
2829
import com.example.platform.ui.appwidgets.glance.layout.collections.layout.CheckListLayoutSize.Companion.showTitleBar
@@ -124,20 +125,17 @@ fun CheckListLayout(
124125
null
125126
}
126127
) {
127-
// Apply end padding to compensate for the start padding included via checkbox icon.
128-
Box(modifier = GlanceModifier.padding(end = contentEndPadding)) {
129-
if (items.isEmpty()) {
130-
EmptyListContent()
131-
} else {
132-
Content(
133-
items = items,
134-
checkedItems = checkedItems,
135-
onCheck = onCheck,
136-
checkedIconRes = checkedIconRes,
137-
unCheckedIconRes = unCheckedIconRes,
138-
checkButtonContentDescription = checkButtonContentDescription,
139-
)
140-
}
128+
if (items.isEmpty()) {
129+
EmptyListContent()
130+
} else {
131+
Content(
132+
items = items,
133+
checkedItems = checkedItems,
134+
onCheck = onCheck,
135+
checkedIconRes = checkedIconRes,
136+
unCheckedIconRes = unCheckedIconRes,
137+
checkButtonContentDescription = checkButtonContentDescription,
138+
)
141139
}
142140
}
143141
}
@@ -154,6 +152,7 @@ private fun Content(
154152
RoundedScrollingLazyColumn(
155153
modifier = GlanceModifier.fillMaxSize(),
156154
items = items,
155+
verticalItemsSpacing = verticalItemSpacing,
157156
itemContentProvider = { item ->
158157
CheckListItem(
159158
item = item,
@@ -183,6 +182,12 @@ private fun CheckListItem(
183182
modifier: GlanceModifier = GlanceModifier,
184183
isChecked: Boolean,
185184
) {
185+
val listItemEndPadding = if (item.hasTrailingIcons) {
186+
0.dp
187+
} else {
188+
checkListRowEndPadding
189+
}
190+
186191
@Composable
187192
fun CheckButton() {
188193
CircleIconButton(
@@ -235,7 +240,8 @@ private fun CheckListItem(
235240

236241
// List item itself is not clickable, as it contains more trailing actions.
237242
ListItem(
238-
modifier = modifier.fillMaxWidth(),
243+
modifier = modifier.fillMaxWidth()
244+
.padding(start = checkListRowStartPadding, end = listItemEndPadding),
239245
contentSpacing = 0.dp, // Since check box's tap target covers the needed visual spacing
240246
leadingContent = { CheckButton() },
241247
headlineContent = { Title() },
@@ -395,10 +401,13 @@ private object CheckListLayoutTextStyles {
395401
private object CheckListLayoutDimensions {
396402
val widgetPadding = 12.dp
397403

398-
// Padding needed to deduct from widget's start padding to align the check icon with title bar.
399-
val checkboxIconOffsetPadding = 8.dp
400-
// To compensate for the space taken by tap target padding of the checkbox, we use less padding in
401-
// the start.
402-
val scaffoldHorizontalPadding = widgetPadding - checkboxIconOffsetPadding
403-
val contentEndPadding = checkboxIconOffsetPadding
404+
val verticalItemSpacing = 4.dp
405+
406+
// Full width scrollable content
407+
val scaffoldHorizontalPadding = 0.dp
408+
// Match with the padding applied to the app icon in title bar; this allow us to vertically align
409+
// the app icon with check icon button.
410+
val checkListRowStartPadding = 2.dp
411+
// Padding to be applied on right of each item if there isn't a icon button on right.
412+
val checkListRowEndPadding = widgetPadding
404413
}

0 commit comments

Comments
 (0)