Skip to content

Commit c048363

Browse files
committedMay 18, 2024
Use glance preview
1 parent 9bcd6ef commit c048363

File tree

5 files changed

+37
-115
lines changed

5 files changed

+37
-115
lines changed
 

‎app/build.gradle.kts

+2
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,8 @@ dependencies {
164164
implementation(libs.androidx.glance.appwidget)
165165
testImplementation(libs.androidx.glance.appwidget.testing)
166166
implementation(libs.androidx.glance.material3)
167+
debugImplementation(libs.androidx.glance.preview)
168+
debugImplementation(libs.androidx.glance.appwidget.preview)
167169

168170
implementation(libs.androidx.hilt.navigation)
169171
implementation(libs.compose.destinations.core)

‎app/src/main/java/dev/aungkyawpaing/ccdroidx/feature/widget/DashboardWidget.kt

+30
Original file line numberDiff line numberDiff line change
@@ -34,18 +34,22 @@ import androidx.glance.layout.Column
3434
import androidx.glance.layout.fillMaxWidth
3535
import androidx.glance.layout.height
3636
import androidx.glance.layout.padding
37+
import androidx.glance.preview.ExperimentalGlancePreviewApi
38+
import androidx.glance.preview.Preview
3739
import androidx.glance.semantics.semantics
3840
import androidx.glance.semantics.testTag
3941
import androidx.glance.text.FontWeight
4042
import androidx.glance.text.Text
4143
import androidx.glance.text.TextStyle
4244
import dagger.hilt.android.AndroidEntryPoint
4345
import dev.aungkyawpaing.ccdroidx.R
46+
import dev.aungkyawpaing.ccdroidx.common.BuildState
4447
import dev.aungkyawpaing.ccdroidx.common.BuildStatus
4548
import dev.aungkyawpaing.ccdroidx.common.Project
4649
import dev.aungkyawpaing.ccdroidx.data.ProjectRepo
4750
import dev.aungkyawpaing.ccdroidx.feature.MainActivity
4851
import dev.aungkyawpaing.ccdroidx.feature.sync.SyncWorkerScheduler
52+
import java.time.ZonedDateTime
4953
import javax.inject.Inject
5054

5155
class DashboardWidget(
@@ -146,3 +150,29 @@ class DashboardWidgetReceiver : GlanceAppWidgetReceiver() {
146150
override val glanceAppWidget: GlanceAppWidget
147151
get() = DashboardWidget(projectRepo)
148152
}
153+
154+
@OptIn(ExperimentalGlancePreviewApi::class)
155+
@Preview(widthDp = 150, heightDp = 200)
156+
@Composable
157+
fun DashboardWidgetContentPreview() {
158+
val projects = listOf(
159+
"failing/project",
160+
"shown/here",
161+
"just/glance"
162+
).mapIndexed { index, name ->
163+
Project(
164+
id = index.toLong(),
165+
name = name,
166+
activity = BuildState.SLEEPING,
167+
lastBuildStatus = BuildStatus.FAILURE,
168+
lastBuildTime = ZonedDateTime.now(),
169+
nextBuildTime = null,
170+
webUrl = "https://example.com/$name",
171+
feedUrl = "https://www.example.com/cc.xml",
172+
isMuted = false,
173+
mutedUntil = null,
174+
lastBuildLabel = null
175+
)
176+
}
177+
DashboardWidgetContent(projects)
178+
}

‎app/src/main/java/dev/aungkyawpaing/ccdroidx/feature/widget/DashboardWidgetPreview.kt

-112
This file was deleted.

‎gradle/libs.versions.toml

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[versions]
22
android-junit5 = "1.4.0"
3-
android-plugin = "8.3.1"
3+
android-plugin = "8.4.0"
44
androidx-dataStore = "1.0.0"
55
androidx-fragment = "1.6.2"
66
androidx-lifecycle = "2.7.0"
@@ -14,7 +14,7 @@ androidx-hilt = "1.2.0"
1414
desugar-jdk-libs = "2.0.4"
1515
espresso = "3.5.1"
1616
firebase-crashlytics-gradle = "2.9.9"
17-
glance = "1.1.0-alpha01"
17+
glance = "1.1.0-rc01"
1818
google-services = "4.4.1"
1919
jupiter = "5.10.0"
2020
kotlin = "1.9.22"
@@ -44,7 +44,9 @@ androidx-dataStore-preference = { group = "androidx.datastore", name = "datastor
4444
androidx-fragment = { group = "androidx.fragment", name = "fragment-ktx", version.ref = "androidx-fragment" }
4545
androidx-fragment-testing = { group = "androidx.fragment", name = "fragment-testing", version.ref = "androidx-fragment" }
4646
androidx-glance-appwidget = { group = "androidx.glance", name = "glance-appwidget", version.ref = "glance" }
47+
androidx-glance-appwidget-preview = { group = "androidx.glance", name = "glance-appwidget-preview", version.ref = "glance" }
4748
androidx-glance-appwidget-testing = { group = "androidx.glance", name = "glance-appwidget-testing", version.ref = "glance" }
49+
androidx-glance-preview = { group = "androidx.glance", name = "glance-preview", version.ref = "glance" }
4850
androidx-glance-testing = { group = "androidx.glance", name = "glance-testing", version.ref = "glance" }
4951
androidx-glance-material3 = { group = "androidx.glance", name = "glance-material3", version.ref = "glance" }
5052
androidx-lifecycle-extensions = { group = "androidx.lifecycle", name = "lifecycle-extensions", version = "2.2.0" }
+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
distributionBase=GRADLE_USER_HOME
2-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip
2+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
33
distributionPath=wrapper/dists
44
zipStorePath=wrapper/dists
55
zipStoreBase=GRADLE_USER_HOME

0 commit comments

Comments
 (0)
Please sign in to comment.