Skip to content
This repository was archived by the owner on Feb 4, 2025. It is now read-only.

Commit 2040bd0

Browse files
author
Chip
authored
Merge pull request #1620 from wordpress-mobile/rnmobile/2432-defaultColors
[Gutenberg] Adjust the fetching of custom colors
2 parents e8b2f81 + 3d30383 commit 2040bd0

File tree

2 files changed

+43
-4
lines changed

2 files changed

+43
-4
lines changed

example/src/androidTest/java/org/wordpress/android/fluxc/mocked/MockedStack_EditorThemeStoreTest.kt

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.wordpress.android.fluxc.mocked
22

3+
import android.os.Bundle
34
import org.greenrobot.eventbus.Subscribe
45
import org.greenrobot.eventbus.ThreadMode
56
import org.junit.Assert
@@ -46,9 +47,17 @@ class MockedStack_EditorThemeStoreTest : MockedStack_Base() {
4647

4748
// See onEditorThemeChanged for the latch's countdown to fire.
4849
Assert.assertTrue(countDownLatch.await(TestUtils.DEFAULT_TIMEOUT_MS.toLong(), MILLISECONDS))
50+
51+
// Validate Callback
4952
assertNotEmpty(editorTheme)
53+
54+
// Validate Cache
5055
val cachedTheme = editorThemeStore.getEditorThemeForSite(site)
5156
assertNotEmpty(cachedTheme)
57+
58+
// Validate Bundle
59+
val themeBundle = editorTheme!!.themeSupport.toBundle()
60+
assertNotEmpty(themeBundle)
5261
}
5362

5463
@Test
@@ -58,9 +67,17 @@ class MockedStack_EditorThemeStoreTest : MockedStack_Base() {
5867

5968
// See onEditorThemeChanged for the latch's countdown to fire.
6069
Assert.assertTrue(countDownLatch.await(TestUtils.DEFAULT_TIMEOUT_MS.toLong(), MILLISECONDS))
70+
71+
// Validate Callback
6172
assertEmpty(editorTheme)
73+
74+
// Validate Cache
6275
val cachedTheme = editorThemeStore.getEditorThemeForSite(site)
6376
assertEmpty(cachedTheme)
77+
78+
// Validate Bundle
79+
val themeBundle = editorTheme!!.themeSupport.toBundle()
80+
assertEmpty(themeBundle)
6481
}
6582

6683
private fun assertNotEmpty(theme: EditorTheme?) {
@@ -69,8 +86,22 @@ class MockedStack_EditorThemeStoreTest : MockedStack_Base() {
6986
}
7087

7188
private fun assertEmpty(theme: EditorTheme?) {
72-
Assert.assertTrue(theme?.themeSupport?.colors.isNullOrEmpty())
73-
Assert.assertTrue(theme?.themeSupport?.gradients.isNullOrEmpty())
89+
Assert.assertTrue(theme?.themeSupport?.colors == null)
90+
Assert.assertTrue(theme?.themeSupport?.gradients == null)
91+
}
92+
93+
private fun assertEmpty(theme: Bundle) {
94+
val colors = theme.getSerializable("colors")
95+
val gradients = theme.getSerializable("gradients")
96+
Assert.assertTrue(colors == null)
97+
Assert.assertTrue(gradients == null)
98+
}
99+
100+
private fun assertNotEmpty(theme: Bundle) {
101+
val colors = theme.getSerializable("colors") as ArrayList<*>
102+
val gradients = theme.getSerializable("gradients") as ArrayList<*>
103+
Assert.assertFalse(colors.isNullOrEmpty())
104+
Assert.assertFalse(gradients.isNullOrEmpty())
74105
}
75106

76107
@Suppress("unused")

fluxc/src/main/java/org/wordpress/android/fluxc/persistence/EditorThemeSqlUtils.kt

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,16 @@ class EditorThemeSqlUtils {
9595
storedColors: List<EditorThemeElementBuilder>?,
9696
storedGradients: List<EditorThemeElementBuilder>?
9797
): EditorTheme {
98-
val colors = storedColors?.mapNotNull { it.toEditorThemeElement() }
99-
val gradients = storedGradients?.mapNotNull { it.toEditorThemeElement() }
98+
var colors: List<EditorThemeElement>? = null
99+
if (storedColors != null && storedColors.count() > 0) {
100+
colors = storedColors.mapNotNull { it.toEditorThemeElement() }
101+
}
102+
103+
var gradients: List<EditorThemeElement>? = null
104+
if (storedGradients != null && storedGradients.count() > 0) {
105+
gradients = storedGradients.mapNotNull { it.toEditorThemeElement() }
106+
}
107+
100108
val editorThemeSupport = EditorThemeSupport(colors, gradients)
101109

102110
return EditorTheme(editorThemeSupport, stylesheet, version)

0 commit comments

Comments
 (0)