diff --git a/litho-it/src/test/java/com/facebook/litho/widget/TextSpecTest.java b/litho-it/src/test/java/com/facebook/litho/widget/TextSpecTest.java index 538e9463929..ee28ab4dd9e 100644 --- a/litho-it/src/test/java/com/facebook/litho/widget/TextSpecTest.java +++ b/litho-it/src/test/java/com/facebook/litho/widget/TextSpecTest.java @@ -27,13 +27,11 @@ import android.content.res.ColorStateList; import android.graphics.Color; -import android.graphics.Typeface; import android.graphics.drawable.Drawable; import android.text.Layout; import android.text.Spannable; import android.text.TextUtils.TruncateAt; import android.text.style.ClickableSpan; -import android.util.SparseArray; import android.view.MotionEvent; import android.view.View; import androidx.core.text.TextDirectionHeuristicCompat; @@ -269,43 +267,6 @@ private TextDrawable getMountedDrawableForTextWithColors( ComponentTestHelper.mountComponent(mContext, builder.build()).getDrawables().get(0); } - @Test - public void testSynchronizedTypefaceSparseArray() { - SparseArray sparseArray = new SparseArray<>(); - sparseArray.put(1, Typeface.DEFAULT); - SynchronizedTypefaceHelper.SynchronizedTypefaceSparseArray synchronizedSparseArray = - new SynchronizedTypefaceHelper.SynchronizedTypefaceSparseArray(sparseArray); - synchronizedSparseArray.put(2, Typeface.DEFAULT_BOLD); - assertThat(synchronizedSparseArray.get(1)).isSameAs(Typeface.DEFAULT); - assertThat(synchronizedSparseArray.get(2)).isSameAs(Typeface.DEFAULT_BOLD); - } - - @Test - public void testSynchronizedLongSparseArray() { - SynchronizedTypefaceHelper.SynchronizedLongSparseArray synchronizedLongSparseArray = - new SynchronizedTypefaceHelper.SynchronizedLongSparseArray(new Object(), 2); - SparseArray sparseArray = new SparseArray<>(); - sparseArray.put(1, Typeface.DEFAULT); - synchronizedLongSparseArray.put(2, sparseArray); - SparseArray gotSparseArray = synchronizedLongSparseArray.get(2); - assertThat(gotSparseArray) - .isInstanceOf(SynchronizedTypefaceHelper.SynchronizedTypefaceSparseArray.class); - assertThat(gotSparseArray.get(1)).isSameAs(Typeface.DEFAULT); - } - - @Test - public void testSynchronizedSparseArray() { - SynchronizedTypefaceHelper.SynchronizedSparseArray synchronizedSparseArray = - new SynchronizedTypefaceHelper.SynchronizedSparseArray(new Object(), 2); - SparseArray sparseArray = new SparseArray<>(); - sparseArray.put(1, Typeface.DEFAULT); - synchronizedSparseArray.put(2, sparseArray); - SparseArray gotSparseArray = synchronizedSparseArray.get(2); - assertThat(gotSparseArray) - .isInstanceOf(SynchronizedTypefaceHelper.SynchronizedTypefaceSparseArray.class); - assertThat(gotSparseArray.get(1)).isSameAs(Typeface.DEFAULT); - } - @Test public void testFullWidthText() { final Layout layout = setupWidthTestTextLayout(); diff --git a/litho-widget/src/main/java/com/facebook/litho/widget/SynchronizedTypefaceHelper.java b/litho-rendercore/src/main/java/com/facebook/rendercore/utils/SynchronizedTypefaceHelper.java similarity index 99% rename from litho-widget/src/main/java/com/facebook/litho/widget/SynchronizedTypefaceHelper.java rename to litho-rendercore/src/main/java/com/facebook/rendercore/utils/SynchronizedTypefaceHelper.java index a1b0db63383..3cabba0095a 100644 --- a/litho-widget/src/main/java/com/facebook/litho/widget/SynchronizedTypefaceHelper.java +++ b/litho-rendercore/src/main/java/com/facebook/rendercore/utils/SynchronizedTypefaceHelper.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.facebook.litho.widget; +package com.facebook.rendercore.utils; import android.annotation.TargetApi; import android.graphics.Typeface; diff --git a/litho-rendercore/src/test/java/com/facebook/rendercore/utils/SynchronizedTypefaceHelperTest.java b/litho-rendercore/src/test/java/com/facebook/rendercore/utils/SynchronizedTypefaceHelperTest.java new file mode 100644 index 00000000000..c018b546188 --- /dev/null +++ b/litho-rendercore/src/test/java/com/facebook/rendercore/utils/SynchronizedTypefaceHelperTest.java @@ -0,0 +1,52 @@ +// (c) Meta Platforms, Inc. and affiliates. Confidential and proprietary. + +package com.facebook.rendercore.utils; + +import static org.assertj.core.api.Assertions.assertThat; + +import android.graphics.Typeface; +import android.util.SparseArray; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.robolectric.RobolectricTestRunner; + +@RunWith(RobolectricTestRunner.class) +public class SynchronizedTypefaceHelperTest { + + @Test + public void testSynchronizedTypefaceSparseArray() { + SparseArray sparseArray = new SparseArray<>(); + sparseArray.put(1, Typeface.DEFAULT); + SynchronizedTypefaceHelper.SynchronizedTypefaceSparseArray synchronizedSparseArray = + new SynchronizedTypefaceHelper.SynchronizedTypefaceSparseArray(sparseArray); + synchronizedSparseArray.put(2, Typeface.DEFAULT_BOLD); + assertThat(synchronizedSparseArray.get(1)).isSameAs(Typeface.DEFAULT); + assertThat(synchronizedSparseArray.get(2)).isSameAs(Typeface.DEFAULT_BOLD); + } + + @Test + public void testSynchronizedLongSparseArray() { + SynchronizedTypefaceHelper.SynchronizedLongSparseArray synchronizedLongSparseArray = + new SynchronizedTypefaceHelper.SynchronizedLongSparseArray(new Object(), 2); + SparseArray sparseArray = new SparseArray<>(); + sparseArray.put(1, Typeface.DEFAULT); + synchronizedLongSparseArray.put(2, sparseArray); + SparseArray gotSparseArray = synchronizedLongSparseArray.get(2); + assertThat(gotSparseArray) + .isInstanceOf(SynchronizedTypefaceHelper.SynchronizedTypefaceSparseArray.class); + assertThat(gotSparseArray.get(1)).isSameAs(Typeface.DEFAULT); + } + + @Test + public void testSynchronizedSparseArray() { + SynchronizedTypefaceHelper.SynchronizedSparseArray synchronizedSparseArray = + new SynchronizedTypefaceHelper.SynchronizedSparseArray(new Object(), 2); + SparseArray sparseArray = new SparseArray<>(); + sparseArray.put(1, Typeface.DEFAULT); + synchronizedSparseArray.put(2, sparseArray); + SparseArray gotSparseArray = synchronizedSparseArray.get(2); + assertThat(gotSparseArray) + .isInstanceOf(SynchronizedTypefaceHelper.SynchronizedTypefaceSparseArray.class); + assertThat(gotSparseArray.get(1)).isSameAs(Typeface.DEFAULT); + } +} diff --git a/litho-widget/src/main/java/com/facebook/litho/widget/TextStylesHelper.java b/litho-widget/src/main/java/com/facebook/litho/widget/TextStylesHelper.java index 5fe60ce9596..83d071a3c53 100644 --- a/litho-widget/src/main/java/com/facebook/litho/widget/TextStylesHelper.java +++ b/litho-widget/src/main/java/com/facebook/litho/widget/TextStylesHelper.java @@ -32,6 +32,7 @@ import com.facebook.litho.Output; import com.facebook.litho.R; import com.facebook.litho.config.ComponentsConfiguration; +import com.facebook.rendercore.utils.SynchronizedTypefaceHelper; public final class TextStylesHelper { static {