Skip to content

Commit 8a2ffa1

Browse files
committed
acknowledge code review comments
1 parent a83eb8e commit 8a2ffa1

8 files changed

Lines changed: 19 additions & 38 deletions

File tree

Jetsnack/app/src/main/java/com/example/jetsnack/widget/ActionDemonstrationActivity.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package com.example.platform.ui.appwidgets.glance.layout
16+
package com.example.jetsnack.widget
1717

1818
import androidx.activity.ComponentActivity
1919
import androidx.activity.compose.setContent

Jetsnack/app/src/main/java/com/example/jetsnack/widget/CollectionsKtx.kt

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

Jetsnack/app/src/main/java/com/example/jetsnack/widget/RecentOrdersWidget.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ class RecentOrdersWidget : GlanceAppWidget() {
6161
val repo = getImageTextListDataRepo(id)
6262

6363
val initialItems = withContext(Dispatchers.Default) {
64-
repo.load()
64+
repo.load(context)
6565
}
6666

6767
provideContent {
@@ -103,7 +103,7 @@ class RecentOrdersWidget : GlanceAppWidget() {
103103

104104
override suspend fun providePreview(context: Context, widgetCategory: Int) {
105105
val repo = RecentOrdersDataRepository()
106-
val items = repo.load()
106+
val items = repo.load(context)
107107

108108
provideContent {
109109
GlanceTheme {

Jetsnack/app/src/main/java/com/example/jetsnack/widget/data/RecentOrdersDataRepository.kt

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,14 @@
1616

1717
package com.example.jetsnack.widget.data
1818

19+
import android.content.Context
1920
import androidx.annotation.DrawableRes
21+
import androidx.core.content.ContextCompat.getString
2022
import androidx.glance.GlanceId
2123
import com.example.jetsnack.R
2224
import com.example.jetsnack.model.Snack
2325
import com.example.jetsnack.model.snacks
2426
import com.example.jetsnack.widget.layout.ImageTextListItemData
25-
import com.example.jetsnack.widget.computeIfAbsent as computeIfAbsentExt
2627
import kotlinx.coroutines.flow.Flow
2728
import kotlinx.coroutines.flow.MutableStateFlow
2829

@@ -41,9 +42,9 @@ class RecentOrdersDataRepository {
4142
/**
4243
* Loads the list of [ImageTextListItemData]s.
4344
*/
44-
fun load(): List<ImageTextListItemData> {
45+
fun load(context: Context): List<ImageTextListItemData> {
4546
data.value = if (items.isNotEmpty()) {
46-
processImagesAndBuildData(items)
47+
processImagesAndBuildData(items, context)
4748
} else {
4849
listOf()
4950
}
@@ -53,6 +54,7 @@ class RecentOrdersDataRepository {
5354

5455
private fun processImagesAndBuildData(
5556
items: List<DemoDataItem>,
57+
context: Context
5658
): List<ImageTextListItemData> {
5759

5860
val mappedItems =
@@ -63,7 +65,8 @@ class RecentOrdersDataRepository {
6365
supportingText = item.supportingText,
6466
supportingImage = item.supportingImage,
6567
trailingIconButton = R.drawable.add_shopping_cart,
66-
trailingIconButtonContentDescription = "Add to Shopping Cart",
68+
trailingIconButtonContentDescription =
69+
getString(context, R.string.add_to_cart_content_description),
6770
snackKeys = item.snackKeys
6871
)
6972
}
@@ -118,7 +121,7 @@ class RecentOrdersDataRepository {
118121
*/
119122
fun getImageTextListDataRepo(glanceId: GlanceId): RecentOrdersDataRepository {
120123
return synchronized(repositories) {
121-
repositories.computeIfAbsentExt(glanceId) { RecentOrdersDataRepository() }!!
124+
repositories.getOrPut(glanceId) { RecentOrdersDataRepository() }
122125
}
123126
}
124127

Jetsnack/app/src/main/java/com/example/jetsnack/widget/layout/ImageTextListLayout.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,6 +279,7 @@ private fun FilledHorizontalListItem(
279279

280280
@Composable
281281
fun SupportingImage() {
282+
item.supportingImage?.let {
282283
Image(
283284
provider = ImageProvider(item.supportingImage.toString().toInt()),
284285
// contentDescription is null because in this sample, it serves merely as a visual; but if
@@ -289,6 +290,7 @@ private fun FilledHorizontalListItem(
289290
// Fixed size per UX spec
290291
modifier = modifier.cornerRadius(imageCornerRadius).size(Dimensions.imageSize)
291292
)
293+
}
292294
}
293295

294296
@Composable

Jetsnack/app/src/main/java/com/example/jetsnack/widget/utils/ActionUtils.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ import androidx.compose.runtime.Composable
44
import androidx.glance.action.Action
55
import androidx.glance.action.actionParametersOf
66
import androidx.glance.action.actionStartActivity
7-
import com.example.platform.ui.appwidgets.glance.layout.ActionDemonstrationActivity
8-
import com.example.platform.ui.appwidgets.glance.layout.ActionSourceMessageKey
7+
import com.example.jetsnack.widget.ActionDemonstrationActivity
8+
import com.example.jetsnack.widget.ActionSourceMessageKey
99

1010
/**
1111
* Utility functions for creating [Action]s.

Jetsnack/app/src/main/res/values/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,5 +83,6 @@
8383
<string name="shopping_cart_button_label">View shopping cart</string>
8484
<string name="sample_no_data_text">No data</string>
8585
<string name="sample_add_button_text">Add</string>
86+
<string name="add_to_cart_content_description">Add to Shopping Cart</string>
8687

8788
</resources>

scripts/libs.versions.toml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ androidx-compose-bom = "2025.05.00"
1212
androidx-constraintlayout = "1.1.1"
1313
androidx-core-splashscreen = "1.0.1"
1414
androidx-corektx = "1.16.0"
15-
androidx-glance = "1.1.1"
15+
androidx-glance = "1.2.0-alpha01"
1616
androidx-lifecycle = "2.8.2"
1717
androidx-lifecycle-compose = "2.9.0"
1818
androidx-lifecycle-runtime-compose = "2.9.0"
@@ -57,6 +57,7 @@ spotless = "7.0.3"
5757
# @keep
5858
targetSdk = "33"
5959
version-catalog-update = "1.0.0"
60+
glancePreview = "1.1.1"
6061

6162
[libraries]
6263
accompanist-adaptive = { module = "com.google.accompanist:accompanist-adaptive", version.ref = "accompanist" }
@@ -158,6 +159,7 @@ roborazzi-compose = { module = "io.github.takahirom.roborazzi:roborazzi-compose"
158159
roborazzi-rule = { module = "io.github.takahirom.roborazzi:roborazzi-junit-rule", version.ref = "roborazzi" }
159160
rometools-modules = { module = "com.rometools:rome-modules", version.ref = "rome" }
160161
rometools-rome = { module = "com.rometools:rome", version.ref = "rome" }
162+
androidx-glance-preview = { group = "androidx.glance", name = "glance-preview", version.ref = "glancePreview" }
161163

162164
[plugins]
163165
android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" }

0 commit comments

Comments
 (0)