@@ -7,7 +7,7 @@ import org.wordpress.android.fluxc.generated.ThemeActionBuilder
77import org.wordpress.android.fluxc.store.ThemeStore
88import org.wordpress.android.fluxc.store.ThemeStore.FetchStarterDesignsPayload
99import org.wordpress.android.fluxc.store.ThemeStore.OnStarterDesignsFetched
10- import org.wordpress.android.ui.sitecreation.theme.SiteDesignPickerDimensionProvider
10+ import org.wordpress.android.ui.sitecreation.theme.SiteDesignRecommendedDimensionProvider
1111import org.wordpress.android.util.config.BetaSiteDesignsFeatureConfig
1212import javax.inject.Inject
1313import kotlin.coroutines.Continuation
@@ -17,7 +17,7 @@ import kotlin.coroutines.suspendCoroutine
1717class FetchHomePageLayoutsUseCase @Inject constructor(
1818 val dispatcher : Dispatcher ,
1919 @Suppress(" unused" ) val themeStore : ThemeStore ,
20- private val thumbDimensionProvider : SiteDesignPickerDimensionProvider ,
20+ private val thumbDimensionProvider : SiteDesignRecommendedDimensionProvider ,
2121 private val betaSiteDesigns : BetaSiteDesignsFeatureConfig
2222) {
2323 enum class GROUP (val key : String ) {
@@ -31,16 +31,18 @@ class FetchHomePageLayoutsUseCase @Inject constructor(
3131 if (continuation != null ) {
3232 throw IllegalStateException (" Fetch already in progress." )
3333 }
34- val payload = if (betaSiteDesigns.isEnabled()) FetchStarterDesignsPayload (
35- thumbDimensionProvider.previewWidth.toFloat(),
36- thumbDimensionProvider.previewHeight.toFloat(),
37- thumbDimensionProvider.scale.toFloat(),
38- GROUP .STABLE .key, GROUP .BETA .key
39- ) else FetchStarterDesignsPayload (
40- thumbDimensionProvider.previewWidth.toFloat(),
41- thumbDimensionProvider.previewHeight.toFloat(),
42- thumbDimensionProvider.scale.toFloat()
43- )
34+
35+ val previewScale = thumbDimensionProvider.scale.toFloat()
36+ // Since dimensions are scaled in the WPCOM endpoint for MShots, we divide by the scale factor here to avoid
37+ // having the dimensions scaled twice.
38+ @Suppress(" ForbiddenComment" )
39+ // TODO: revisit this after the endpoint is modified to scale on the client instead.
40+ val previewWidth = thumbDimensionProvider.previewWidth.toFloat() / previewScale
41+ val previewHeight = thumbDimensionProvider.previewHeight.toFloat() / previewScale
42+ val groups = if (betaSiteDesigns.isEnabled()) arrayOf(GROUP .STABLE .key, GROUP .BETA .key) else emptyArray()
43+ @Suppress(" SpreadOperator" )
44+ val payload = FetchStarterDesignsPayload (previewWidth, previewHeight, previewScale, * groups)
45+
4446 return suspendCoroutine { cont ->
4547 continuation = cont
4648 dispatcher.dispatch(ThemeActionBuilder .newFetchStarterDesignsAction(payload))
0 commit comments