Skip to content

Commit

Permalink
Merge pull request #769 from Orange-OpenSource/531-update-the-placeho…
Browse files Browse the repository at this point in the history
…lder-image

531 - Update the placeholder images
  • Loading branch information
paulinea authored Jan 18, 2024
2 parents a5236fe + b9ded97 commit 3d79378
Show file tree
Hide file tree
Showing 46 changed files with 175 additions and 48 deletions.
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
/*
* Software Name: Orange Design System
* SPDX-FileCopyrightText: Copyright (c) Orange SA
* SPDX-License-Identifier: MIT
*
* Copyright 2021 Orange
* This software is distributed under the MIT licence,
* the text of which is available at https://opensource.org/license/MIT/
* or see the "LICENSE" file for more details.
*
* Use of this source code is governed by an MIT-style
* license that can be found in the LICENSE file or at
* https://opensource.org/licenses/MIT.
* /
* Software description: Android library of reusable graphical components
*/

package com.orange.ods.app.ui.components.appbars.top
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
/*
* Software Name: Orange Design System
* SPDX-FileCopyrightText: Copyright (c) Orange SA
* SPDX-License-Identifier: MIT
*
* Copyright 2021 Orange
* This software is distributed under the MIT licence,
* the text of which is available at https://opensource.org/license/MIT/
* or see the "LICENSE" file for more details.
*
* Use of this source code is governed by an MIT-style
* license that can be found in the LICENSE file or at
* https://opensource.org/licenses/MIT.
* /
* Software description: Android library of reusable graphical components
*/

package com.orange.ods.app.ui.components.appbars.top
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
/*
* Software Name: Orange Design System
* SPDX-FileCopyrightText: Copyright (c) Orange SA
* SPDX-License-Identifier: MIT
*
* Copyright 2021 Orange
* This software is distributed under the MIT licence,
* the text of which is available at https://opensource.org/license/MIT/
* or see the "LICENSE" file for more details.
*
* Use of this source code is governed by an MIT-style
* license that can be found in the LICENSE file or at
* https://opensource.org/licenses/MIT.
* /
* Software description: Android library of reusable graphical components
*/

package com.orange.ods.app.ui.components.appbars.top
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@

package com.orange.ods.app.ui.components.banners

import android.graphics.drawable.Drawable
import androidx.appcompat.content.res.AppCompatResources
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.padding
Expand All @@ -32,6 +33,7 @@ import coil.request.ImageRequest
import com.orange.ods.app.R
import com.orange.ods.app.databinding.OdsBannerBinding
import com.orange.ods.app.domain.recipes.LocalRecipes
import com.orange.ods.app.ui.LocalThemeManager
import com.orange.ods.app.ui.UiFramework
import com.orange.ods.app.ui.components.utilities.ComponentCountRow
import com.orange.ods.app.ui.components.utilities.ComponentCustomizationBottomSheetScaffold
Expand All @@ -40,6 +42,7 @@ import com.orange.ods.app.ui.utilities.DrawableManager
import com.orange.ods.app.ui.utilities.code.CodeImplementationColumn
import com.orange.ods.app.ui.utilities.code.FunctionCallCode
import com.orange.ods.app.ui.utilities.composable.Subtitle
import com.orange.ods.app.ui.utilities.extension.buildImageRequest
import com.orange.ods.compose.OdsComposable
import com.orange.ods.compose.component.banner.OdsBanner
import com.orange.ods.compose.component.chip.OdsChoiceChip
Expand All @@ -51,6 +54,8 @@ import com.orange.ods.extension.ifNotNull
@Composable
fun ComponentBanners() {
val bannerCustomizationState = rememberBannerCustomizationState()
val context = LocalContext.current
val darkModeEnabled = LocalThemeManager.current.darkModeEnabled
val recipes = LocalRecipes.current
val recipe = rememberSaveable { recipes.filter { it.description.isNotBlank() }.random() }

Expand Down Expand Up @@ -86,7 +91,6 @@ fun ComponentBanners() {
)
}
) {
val context = LocalContext.current
Column(
modifier = Modifier
.verticalScroll(rememberScrollState())
Expand All @@ -110,7 +114,7 @@ fun ComponentBanners() {
message = message,
image = if (hasImage) {
val painter = rememberAsyncImagePainter(
model = recipe.imageUrl,
model = buildImageRequest(context, recipe.imageUrl, darkModeEnabled),
placeholder = painterResource(id = placeholderResId),
error = painterResource(id = errorPlaceholderResId)
)
Expand All @@ -130,10 +134,10 @@ fun ComponentBanners() {
odsBanner.onSecondButtonClick = onFirstButtonClick
if (hasImage) {
odsBanner.image = AppCompatResources.getDrawable(context, placeholderResId)
val request = ImageRequest.Builder(context)
.data(recipe.imageUrl)
val onDrawable: (Drawable?) -> Unit = { odsBanner.image = it }
val request = ImageRequest.Builder(buildImageRequest(context, recipe.imageUrl, darkModeEnabled))
.error(errorPlaceholderResId)
.target { odsBanner.image = it }
.target(onError = onDrawable, onSuccess = onDrawable)
.build()
context.imageLoader.enqueue(request)
} else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,18 +27,20 @@ import androidx.compose.ui.res.stringResource
import coil.compose.rememberAsyncImagePainter
import com.orange.ods.app.R
import com.orange.ods.app.domain.recipes.LocalRecipes
import com.orange.ods.app.ui.LocalThemeManager
import com.orange.ods.app.ui.components.utilities.clickOnElement
import com.orange.ods.app.ui.utilities.DrawableManager
import com.orange.ods.app.ui.utilities.code.CodeImplementationColumn
import com.orange.ods.app.ui.utilities.code.FunctionCallCode
import com.orange.ods.app.ui.utilities.extension.buildImageRequest
import com.orange.ods.compose.OdsComposable
import com.orange.ods.compose.component.card.OdsCard

import com.orange.ods.compose.component.card.OdsHorizontalCard

@Composable
fun CardHorizontal(customizationState: CardCustomizationState) {
val context = LocalContext.current
val darkModeEnabled = LocalThemeManager.current.darkModeEnabled
val recipes = LocalRecipes.current
val recipe = rememberSaveable { recipes.filter { it.description.isNotBlank() }.random() }

Expand All @@ -57,7 +59,7 @@ fun CardHorizontal(customizationState: CardCustomizationState) {
title = recipe.title,
image = OdsCard.Image(
rememberAsyncImagePainter(
model = recipe.imageUrl,
model = buildImageRequest(context, recipe.imageUrl, darkModeEnabled),
placeholder = painterResource(id = DrawableManager.getPlaceholderResId()),
error = painterResource(id = DrawableManager.getPlaceholderResId(error = true))
),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,17 +30,20 @@ import androidx.compose.ui.res.stringResource
import coil.compose.rememberAsyncImagePainter
import com.orange.ods.app.R
import com.orange.ods.app.domain.recipes.LocalRecipes
import com.orange.ods.app.ui.LocalThemeManager
import com.orange.ods.app.ui.components.utilities.clickOnElement
import com.orange.ods.app.ui.utilities.DrawableManager
import com.orange.ods.app.ui.utilities.code.CodeImplementationColumn
import com.orange.ods.app.ui.utilities.code.FunctionCallCode
import com.orange.ods.app.ui.utilities.extension.buildImageRequest
import com.orange.ods.compose.OdsComposable
import com.orange.ods.compose.component.card.OdsCard
import com.orange.ods.compose.component.card.OdsSmallCard

@Composable
fun CardSmall(customizationState: CardCustomizationState) {
val context = LocalContext.current
val darkModeEnabled = LocalThemeManager.current.darkModeEnabled
val recipes = LocalRecipes.current
val recipe = rememberSaveable { recipes.random() }

Expand All @@ -62,7 +65,7 @@ fun CardSmall(customizationState: CardCustomizationState) {
modifier = Modifier.weight(0.5f),
image = OdsCard.Image(
rememberAsyncImagePainter(
model = recipe.imageUrl,
model = buildImageRequest(context, recipe.imageUrl, darkModeEnabled),
placeholder = painterResource(id = DrawableManager.getPlaceholderResId()),
error = painterResource(id = DrawableManager.getPlaceholderResId(error = true)),
),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,17 +29,20 @@ import coil.request.ImageRequest
import coil.size.Size
import com.orange.ods.app.R
import com.orange.ods.app.domain.recipes.LocalRecipes
import com.orange.ods.app.ui.LocalThemeManager
import com.orange.ods.app.ui.components.utilities.clickOnElement
import com.orange.ods.app.ui.utilities.DrawableManager
import com.orange.ods.app.ui.utilities.code.CodeImplementationColumn
import com.orange.ods.app.ui.utilities.code.FunctionCallCode
import com.orange.ods.app.ui.utilities.extension.buildImageRequest
import com.orange.ods.compose.OdsComposable
import com.orange.ods.compose.component.card.OdsCard
import com.orange.ods.compose.component.card.OdsVerticalHeaderFirstCard

@Composable
fun CardVerticalHeaderFirst(customizationState: CardCustomizationState) {
val context = LocalContext.current
val darkModeEnabled = LocalThemeManager.current.darkModeEnabled
val recipes = LocalRecipes.current
val recipe = rememberSaveable { recipes.filter { it.description.isNotBlank() }.random() }

Expand All @@ -54,8 +57,7 @@ fun CardVerticalHeaderFirst(customizationState: CardCustomizationState) {
val secondButtonText = stringResource(id = R.string.component_element_second_button)
val cardText = stringResource(id = R.string.component_card_element_card)
val imagePainter = rememberAsyncImagePainter(
model = ImageRequest.Builder(context)
.data(recipe.imageUrl)
model = ImageRequest.Builder(buildImageRequest(context, recipe.imageUrl, darkModeEnabled))
.size(Size.ORIGINAL)
.build(),
placeholder = painterResource(id = DrawableManager.getPlaceholderResId()),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,17 +27,20 @@ import androidx.compose.ui.res.stringResource
import coil.compose.rememberAsyncImagePainter
import com.orange.ods.app.R
import com.orange.ods.app.domain.recipes.LocalRecipes
import com.orange.ods.app.ui.LocalThemeManager
import com.orange.ods.app.ui.components.utilities.clickOnElement
import com.orange.ods.app.ui.utilities.DrawableManager
import com.orange.ods.app.ui.utilities.code.CodeImplementationColumn
import com.orange.ods.app.ui.utilities.code.FunctionCallCode
import com.orange.ods.app.ui.utilities.extension.buildImageRequest
import com.orange.ods.compose.OdsComposable
import com.orange.ods.compose.component.card.OdsCard
import com.orange.ods.compose.component.card.OdsVerticalImageFirstCard

@Composable
fun CardVerticalImageFirst(customizationState: CardCustomizationState) {
val context = LocalContext.current
val darkModeEnabled = LocalThemeManager.current.darkModeEnabled
val recipes = LocalRecipes.current
val recipe = rememberSaveable { recipes.filter { it.description.isNotBlank() }.random() }

Expand All @@ -56,7 +59,7 @@ fun CardVerticalImageFirst(customizationState: CardCustomizationState) {
title = recipe.title,
image = OdsCard.Image(
rememberAsyncImagePainter(
model = recipe.imageUrl,
model = buildImageRequest(context, recipe.imageUrl, darkModeEnabled),
placeholder = painterResource(id = DrawableManager.getPlaceholderResId()),
error = painterResource(id = DrawableManager.getPlaceholderResId(error = true))
),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ import androidx.compose.ui.res.stringResource
import coil.compose.rememberAsyncImagePainter
import com.orange.ods.app.R
import com.orange.ods.app.domain.recipes.LocalRecipes
import com.orange.ods.app.ui.LocalThemeManager
import com.orange.ods.app.ui.components.Variant
import com.orange.ods.app.ui.components.chips.ChipCustomizationState.ChipType
import com.orange.ods.app.ui.components.chips.ChipCustomizationState.LeadingElement
Expand All @@ -39,6 +40,7 @@ import com.orange.ods.app.ui.utilities.DrawableManager
import com.orange.ods.app.ui.utilities.code.CodeImplementationColumn
import com.orange.ods.app.ui.utilities.code.FunctionCallCode
import com.orange.ods.app.ui.utilities.composable.Subtitle
import com.orange.ods.app.ui.utilities.extension.buildImageRequest
import com.orange.ods.compose.OdsComposable
import com.orange.ods.compose.component.chip.OdsChip
import com.orange.ods.compose.component.chip.OdsChoiceChip
Expand Down Expand Up @@ -150,9 +152,10 @@ private fun Chip(chipCustomizationState: ChipCustomizationState) {
leading = when {
isActionChip || hasLeadingIcon -> recipe?.iconResId?.let { OdsChip.LeadingIcon(painterResource(id = it), "") }
hasLeadingAvatar -> {
val darkModeEnabled = LocalThemeManager.current.darkModeEnabled
OdsChip.LeadingAvatar(
rememberAsyncImagePainter(
model = recipe?.imageUrl,
model = buildImageRequest(context, recipe?.imageUrl, darkModeEnabled),
placeholder = painterResource(id = DrawableManager.getPlaceholderSmallResId()),
error = painterResource(id = DrawableManager.getPlaceholderSmallResId(error = true))
), ""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,17 +26,20 @@ import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.dimensionResource
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import coil.compose.rememberAsyncImagePainter
import com.orange.ods.app.R
import com.orange.ods.app.domain.recipes.LocalRecipes
import com.orange.ods.app.ui.LocalThemeManager
import com.orange.ods.app.ui.components.utilities.ComponentCustomizationBottomSheetScaffold
import com.orange.ods.app.ui.utilities.DrawableManager
import com.orange.ods.app.ui.utilities.code.CodeImplementationColumn
import com.orange.ods.app.ui.utilities.code.FunctionCallCode
import com.orange.ods.app.ui.utilities.composable.Subtitle
import com.orange.ods.app.ui.utilities.extension.buildImageRequest
import com.orange.ods.compose.OdsComposable
import com.orange.ods.compose.component.chip.OdsChip
import com.orange.ods.compose.component.chip.OdsChoiceChip
Expand All @@ -48,6 +51,8 @@ import com.orange.ods.compose.component.listitem.OdsListItem
@Composable
fun ChipFilter() {
val chipCustomizationState = rememberChipCustomizationState(chipType = rememberSaveable { mutableStateOf(ChipCustomizationState.ChipType.Filter) })
val context = LocalContext.current
val darkModeEnabled = LocalThemeManager.current.darkModeEnabled
val recipes = LocalRecipes.current
val recipe = rememberSaveable { recipes.filter { it.ingredients.count() >= 3 }.random() }

Expand Down Expand Up @@ -84,7 +89,7 @@ fun ChipFilter() {
leadingAvatar = if (hasLeadingAvatar) {
OdsChip.LeadingAvatar(
rememberAsyncImagePainter(
model = ingredient.food.imageUrl,
model = buildImageRequest(context, ingredient.food.imageUrl, darkModeEnabled),
placeholder = painterResource(id = DrawableManager.getPlaceholderSmallResId()),
error = painterResource(id = DrawableManager.getPlaceholderSmallResId(error = true))
), ""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,13 @@ import androidx.compose.ui.unit.dp
import coil.compose.rememberAsyncImagePainter
import com.orange.ods.app.R
import com.orange.ods.app.domain.recipes.LocalRecipes
import com.orange.ods.app.ui.LocalThemeManager
import com.orange.ods.app.ui.components.utilities.ComponentCustomizationBottomSheetScaffold
import com.orange.ods.app.ui.components.utilities.clickOnElement
import com.orange.ods.app.ui.utilities.code.CodeImplementationColumn
import com.orange.ods.app.ui.utilities.code.FunctionCallCode
import com.orange.ods.app.ui.utilities.composable.Subtitle
import com.orange.ods.app.ui.utilities.extension.buildImageRequest
import com.orange.ods.compose.OdsComposable
import com.orange.ods.compose.component.button.OdsIconButton
import com.orange.ods.compose.component.chip.OdsChoiceChip
Expand All @@ -52,6 +54,7 @@ import com.orange.ods.compose.component.listitem.OdsListItem
@Composable
fun ComponentImageItem() {
val context = LocalContext.current
val darkModeEnabled = LocalThemeManager.current.darkModeEnabled
val imageItemCustomizationState = rememberImageItemCustomizationState()
var iconChecked by rememberSaveable { mutableStateOf(false) }
val recipes = LocalRecipes.current
Expand Down Expand Up @@ -112,9 +115,9 @@ fun ComponentImageItem() {
onClick = { clickOnElement(context, context.getString(R.string.component_image_item)) },
image = OdsImageItem.Image(
rememberAsyncImagePainter(
model = recipe.imageUrl,
placeholder = painterResource(id = R.drawable.placeholder),
error = painterResource(id = R.drawable.placeholder)
model = buildImageRequest(context, recipe.imageUrl, darkModeEnabled),
placeholder = painterResource(id = com.orange.ods.R.drawable.placeholder),
error = painterResource(id = com.orange.ods.R.drawable.placeholder)
), ""
),
title = if (hasText) recipe.title else null,
Expand Down
Loading

0 comments on commit 3d79378

Please sign in to comment.