@@ -22,20 +22,18 @@ import androidx.glance.appwidget.GlanceAppWidgetReceiver
22
22
import androidx.glance.appwidget.SizeMode
23
23
import androidx.glance.appwidget.action.ActionCallback
24
24
import androidx.glance.appwidget.action.actionRunCallback
25
+ import androidx.glance.appwidget.components.Scaffold
26
+ import androidx.glance.appwidget.components.TitleBar
25
27
import androidx.glance.appwidget.cornerRadius
26
28
import androidx.glance.appwidget.lazy.LazyColumn
27
29
import androidx.glance.appwidget.lazy.items
28
30
import androidx.glance.appwidget.provideContent
29
31
import androidx.glance.background
30
- import androidx.glance.layout.Alignment
31
32
import androidx.glance.layout.Box
32
33
import androidx.glance.layout.Column
33
- import androidx.glance.layout.Row
34
- import androidx.glance.layout.fillMaxSize
35
34
import androidx.glance.layout.fillMaxWidth
36
35
import androidx.glance.layout.height
37
36
import androidx.glance.layout.padding
38
- import androidx.glance.layout.size
39
37
import androidx.glance.semantics.semantics
40
38
import androidx.glance.semantics.testTag
41
39
import androidx.glance.text.FontWeight
@@ -71,45 +69,27 @@ fun DashboardWidgetContent(failingProjects: List<Project>) {
71
69
val context = LocalContext .current
72
70
73
71
GlanceTheme {
74
- Column (
75
- modifier = GlanceModifier
76
- .fillMaxSize()
77
- .background(GlanceTheme .colors.background)
78
- ) {
79
-
80
- Row (
81
- modifier = GlanceModifier
82
- .fillMaxWidth()
83
- .background(GlanceTheme .colors.primary)
84
- .clickable(onClick = actionStartActivity(MainActivity ::class .java)),
85
- verticalAlignment = Alignment .CenterVertically
86
- ) {
87
- val title = if (failingProjects.isEmpty()) {
88
- context.getString(R .string.dashboard_widget_title_green)
89
- } else {
90
- context.getString(R .string.dashboard_widget_title_red, failingProjects.size.toString())
91
- }
92
- val titleStyle = TextStyle (
93
- color = GlanceTheme .colors.onPrimary,
94
- fontSize = TextUnit (16.0f , TextUnitType .Sp ),
95
- fontWeight = FontWeight .Medium ,
96
- )
97
- Image (
98
- provider = ImageProvider (R .drawable.ic_refresh_24),
99
- contentDescription = context.getString(R .string.menu_item_sync_project_status),
100
- colorFilter = ColorFilter .tint(GlanceTheme .colors.onPrimary),
101
- modifier = GlanceModifier .defaultWeight().size(48 .dp).padding(12 .dp)
102
- .clickable(onClick = actionRunCallback<WidgetRefreshAction >())
103
- )
104
-
105
- Text (
106
- text = title,
107
- style = titleStyle,
108
- modifier = GlanceModifier .fillMaxWidth()
109
- )
110
- }
111
-
112
- LazyColumn (modifier = GlanceModifier .padding(8 .dp)) {
72
+ Scaffold (
73
+ modifier = GlanceModifier .background(GlanceTheme .colors.widgetBackground),
74
+ titleBar = {
75
+ TitleBar (
76
+ startIcon = ImageProvider (R .drawable.ic_notification),
77
+ iconColor = GlanceTheme .colors.primary,
78
+ title = if (failingProjects.isEmpty()) {
79
+ context.getString(R .string.dashboard_widget_title_green)
80
+ } else {
81
+ context.getString(R .string.dashboard_widget_title_red, failingProjects.size.toString())
82
+ },
83
+ actions = {
84
+ Image (
85
+ provider = ImageProvider (R .drawable.ic_refresh_24),
86
+ contentDescription = context.getString(R .string.menu_item_sync_project_status),
87
+ colorFilter = ColorFilter .tint(GlanceTheme .colors.onSurface),
88
+ modifier = GlanceModifier .clickable(onClick = actionRunCallback<WidgetRefreshAction >())
89
+ )
90
+ })
91
+ }) {
92
+ LazyColumn {
113
93
items(failingProjects) { project ->
114
94
Column {
115
95
Box (
0 commit comments