From 0e03c0211590460f0ad045c5165eded2f331cfe2 Mon Sep 17 00:00:00 2001 From: Fabio Carballo Date: Mon, 15 Jan 2024 06:21:35 -0800 Subject: [PATCH] Remove debug specific configurations from `ComponentsConfiguration` Summary: ## Important This is a "copy" of D52563388, which was reverted due to three classes that were still referring to the old configurations and somehow Sandcastle missed. I'm updating those references on top of this copy. ## Original Description This diff removes debug specific configurations from `ComponentsConfiguration` in Litho into a new abstraction named `LithoDebugConfigurations`. The goal is that we move further into having `ComponentsConfiguration` to be more focused in internals/behaviors of Litho. Reviewed By: adityasharat Differential Revision: D52779201 fbshipit-source-id: 8f540efbe2691f7b8c22d1b199a14ff02f986c9c --- .../java/com/facebook/litho/Component.java | 3 +- .../facebook/litho/ComponentContextUtils.kt | 3 +- .../com/facebook/litho/ComponentTree.java | 5 +- .../main/java/com/facebook/litho/DebugDraw.kt | 6 +- .../litho/DefaultComponentsReporter.kt | 4 +- .../litho/DefaultComponentsSystrace.kt | 4 +- .../java/com/facebook/litho/LayoutState.java | 4 +- .../main/java/com/facebook/litho/LithoNode.kt | 6 +- .../java/com/facebook/litho/LithoNodeUtils.kt | 4 +- .../java/com/facebook/litho/LithoReducer.kt | 5 +- .../main/java/com/facebook/litho/Resolver.kt | 4 +- .../com/facebook/litho/StateDebuggingUtils.kt | 4 +- .../java/com/facebook/litho/ThreadUtils.kt | 5 +- .../litho/config/ComponentsConfiguration.kt | 56 +++++++----------- .../litho/config/LithoDebugConfigurations.kt | 59 +++++++++++++++++++ .../facebook/litho/utils/MeasureUtils.java | 10 ++-- .../flipper/DebugComponentDescriptor.java | 4 +- .../litho/ComponentErrorBoundaryTest.kt | 3 +- .../litho/ComponentTreeDumpingHelperTest.kt | 6 +- .../LithoMetadataExceptionWrapperTest.kt | 6 +- .../java/com/facebook/litho/LithoViewTest.kt | 7 --- .../facebook/litho/LithoViewTestHelperTest.kt | 8 +-- .../LithoViewVisibilityProcessingTest.kt | 6 +- .../litho/sections/BatchedTargetTest.java | 6 +- .../common/DataDiffSectionSpecTest.java | 4 +- ...cyRecyclerCollectionComponentSpecTest.java | 4 +- .../RecyclerCollectionComponentSpecTest.java | 3 +- .../testing/LithoRepresentationTest.java | 4 +- .../SubComponentDeepExtractorTest.java | 4 +- .../InjectPropMatcherGenerationTest.java | 4 +- .../subcomponents/CommonPropMatcherTest.java | 4 +- .../GenericMatcherGenerationTest.java | 4 +- .../litho/widget/RecyclerBinderTest.java | 7 ++- .../litho/sections/BatchedTarget.java | 4 +- .../facebook/litho/sections/ChangeSet.java | 6 +- .../sections/common/DataDiffSectionSpec.java | 5 +- .../common/SingleComponentSectionSpec.java | 3 +- .../litho/testing/LegacyLithoViewRule.kt | 3 +- .../facebook/litho/testing/LithoViewRule.kt | 3 +- .../LithoViewSubComponentDeepExtractor.java | 6 +- .../widget/collection/CollectionLayout.kt | 4 +- .../litho/widget/collection/LazyCollection.kt | 4 +- .../facebook/litho/widget/RecyclerBinder.java | 9 ++- .../litho/widget/RecyclerBinderConfig.kt | 3 +- .../LearningStateComponentSpecTest.java | 4 +- .../samples/litho/DemoListComponentTest.java | 4 +- .../lithography/DecadeSeparatorSpecTest.java | 4 +- .../lithography/FeedItemCardSpecTest.java | 4 +- ...FeedItemComponentSpecSubComponentTest.java | 4 +- .../FeedItemComponentSpecTest.java | 4 +- .../lithography/FooterComponentSpecTest.java | 4 +- 51 files changed, 201 insertions(+), 143 deletions(-) create mode 100644 litho-core/src/main/java/com/facebook/litho/config/LithoDebugConfigurations.kt diff --git a/litho-core/src/main/java/com/facebook/litho/Component.java b/litho-core/src/main/java/com/facebook/litho/Component.java index fea17dca1ec..dbdb053237e 100644 --- a/litho-core/src/main/java/com/facebook/litho/Component.java +++ b/litho-core/src/main/java/com/facebook/litho/Component.java @@ -58,6 +58,7 @@ import com.facebook.infer.annotation.ThreadSafe; import com.facebook.litho.annotations.EventHandlerRebindMode; import com.facebook.litho.config.ComponentsConfiguration; +import com.facebook.litho.config.LithoDebugConfigurations; import com.facebook.litho.drawable.ComparableColorDrawable; import com.facebook.litho.drawable.ComparableDrawable; import com.facebook.rendercore.Equivalence; @@ -2304,7 +2305,7 @@ static LinkedList generateHierarchy(String globalKey) { */ @Nullable private final AttributesHolder mDebugAttributesHolder = - ComponentsConfiguration.isDebugModeEnabled ? new AttributesHolder() : null; + LithoDebugConfigurations.isDebugModeEnabled ? new AttributesHolder() : null; @Override public void setDebugAttributeKey(AttributeKey attributeKey, T value) { diff --git a/litho-core/src/main/java/com/facebook/litho/ComponentContextUtils.kt b/litho-core/src/main/java/com/facebook/litho/ComponentContextUtils.kt index 18b98efa099..ad71cc5fad9 100644 --- a/litho-core/src/main/java/com/facebook/litho/ComponentContextUtils.kt +++ b/litho-core/src/main/java/com/facebook/litho/ComponentContextUtils.kt @@ -18,6 +18,7 @@ package com.facebook.litho import android.content.Context import com.facebook.litho.config.ComponentsConfiguration +import com.facebook.litho.config.LithoDebugConfigurations import com.facebook.rendercore.visibility.VisibilityBoundsTransformer object ComponentContextUtils { @@ -37,7 +38,7 @@ object ComponentContextUtils { componentsConfig = ComponentsConfiguration.defaultInstance, areTransitionsEnabled = AnimationsDebug.areTransitionsEnabled(context), isVisibilityProcessingEnabled = true, - incrementalMountEnabled = !ComponentsConfiguration.isIncrementalMountGloballyDisabled, + incrementalMountEnabled = !LithoDebugConfigurations.isIncrementalMountGloballyDisabled, errorEventHandler = DefaultErrorEventHandler.INSTANCE, logTag = logTagToUse, logger = loggerToUse, diff --git a/litho-core/src/main/java/com/facebook/litho/ComponentTree.java b/litho-core/src/main/java/com/facebook/litho/ComponentTree.java index 10ca49a12a0..60ecf8d6958 100644 --- a/litho-core/src/main/java/com/facebook/litho/ComponentTree.java +++ b/litho-core/src/main/java/com/facebook/litho/ComponentTree.java @@ -74,6 +74,7 @@ import com.facebook.infer.annotation.ThreadSafe; import com.facebook.litho.LithoLifecycleProvider.LithoLifecycle; import com.facebook.litho.config.ComponentsConfiguration; +import com.facebook.litho.config.LithoDebugConfigurations; import com.facebook.litho.debug.AttributionUtils; import com.facebook.litho.debug.DebugOverlay; import com.facebook.litho.debug.LithoDebugEvent; @@ -521,7 +522,7 @@ protected ComponentTree(Builder builder) { null, builder.parentTreeProps); - if (ComponentsConfiguration.isTimelineEnabled) { + if (LithoDebugConfigurations.isTimelineEnabled) { mTimeMachine = new DebugComponentTreeTimeMachine(this); } else { mTimeMachine = null; @@ -559,7 +560,7 @@ protected ComponentTree(Builder builder) { } private static boolean incrementalMountGloballyDisabled() { - return ComponentsConfiguration.isIncrementalMountGloballyDisabled; + return LithoDebugConfigurations.isIncrementalMountGloballyDisabled; } /** diff --git a/litho-core/src/main/java/com/facebook/litho/DebugDraw.kt b/litho-core/src/main/java/com/facebook/litho/DebugDraw.kt index 390c91442b5..0b2c6d96185 100644 --- a/litho-core/src/main/java/com/facebook/litho/DebugDraw.kt +++ b/litho-core/src/main/java/com/facebook/litho/DebugDraw.kt @@ -22,7 +22,7 @@ import android.graphics.Paint import android.graphics.Rect import android.graphics.drawable.Drawable import android.view.View -import com.facebook.litho.config.ComponentsConfiguration +import com.facebook.litho.config.LithoDebugConfigurations /** Draw operations used in developer options. */ internal object DebugDraw { @@ -56,10 +56,10 @@ internal object DebugDraw { @JvmStatic fun draw(host: ComponentHost, canvas: Canvas) { - if (ComponentsConfiguration.debugHighlightInteractiveBounds) { + if (LithoDebugConfigurations.debugHighlightInteractiveBounds) { highlightInteractiveBounds(host, canvas) } - if (ComponentsConfiguration.debugHighlightMountBounds) { + if (LithoDebugConfigurations.debugHighlightMountBounds) { highlightMountBounds(host, canvas) } } diff --git a/litho-core/src/main/java/com/facebook/litho/DefaultComponentsReporter.kt b/litho-core/src/main/java/com/facebook/litho/DefaultComponentsReporter.kt index 7c61f5d0b5b..2dc13df3d1d 100644 --- a/litho-core/src/main/java/com/facebook/litho/DefaultComponentsReporter.kt +++ b/litho-core/src/main/java/com/facebook/litho/DefaultComponentsReporter.kt @@ -17,7 +17,7 @@ package com.facebook.litho import android.util.Log -import com.facebook.litho.config.ComponentsConfiguration +import com.facebook.litho.config.LithoDebugConfigurations import com.facebook.rendercore.ErrorReporterDelegate import com.facebook.rendercore.LogLevel import java.lang.RuntimeException @@ -59,7 +59,7 @@ open class DefaultComponentsReporter : ErrorReporterDelegate { } private fun applyOnInternalBuild(block: () -> Unit) { - if (ComponentsConfiguration.IS_INTERNAL_BUILD) { + if (LithoDebugConfigurations.isDebugModeEnabled) { block() } } diff --git a/litho-core/src/main/java/com/facebook/litho/DefaultComponentsSystrace.kt b/litho-core/src/main/java/com/facebook/litho/DefaultComponentsSystrace.kt index f70033fb345..5808de3044c 100644 --- a/litho-core/src/main/java/com/facebook/litho/DefaultComponentsSystrace.kt +++ b/litho-core/src/main/java/com/facebook/litho/DefaultComponentsSystrace.kt @@ -18,7 +18,7 @@ package com.facebook.litho import android.os.Build import android.os.Trace -import com.facebook.litho.config.ComponentsConfiguration +import com.facebook.litho.config.LithoDebugConfigurations import com.facebook.rendercore.RenderCoreSystrace import com.facebook.rendercore.Systracer import com.facebook.rendercore.Systracer.ArgsBuilder @@ -57,7 +57,7 @@ open class DefaultComponentsSystrace : Systracer { } override fun isTracing(): Boolean = - ComponentsConfiguration.IS_INTERNAL_BUILD && + LithoDebugConfigurations.isDebugModeEnabled && Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2 && (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q || Trace.isEnabled()) diff --git a/litho-core/src/main/java/com/facebook/litho/LayoutState.java b/litho-core/src/main/java/com/facebook/litho/LayoutState.java index 7bbdd99268b..f7e776769df 100644 --- a/litho-core/src/main/java/com/facebook/litho/LayoutState.java +++ b/litho-core/src/main/java/com/facebook/litho/LayoutState.java @@ -33,6 +33,7 @@ import com.facebook.litho.EndToEndTestingExtension.EndToEndTestingExtensionInput; import com.facebook.litho.LithoViewAttributesExtension.ViewAttributesInput; import com.facebook.litho.config.ComponentsConfiguration; +import com.facebook.litho.config.LithoDebugConfigurations; import com.facebook.rendercore.LayoutCache; import com.facebook.rendercore.LayoutResult; import com.facebook.rendercore.MountItemsPool; @@ -679,7 +680,8 @@ public TransitionId getRootTransitionId() { /** Debug-only: return a string representation of this LayoutState and its LayoutOutputs. */ String dumpAsString() { - if (!ComponentsConfiguration.isDebugModeEnabled && !ComponentsConfiguration.isEndToEndTestRun) { + if (!LithoDebugConfigurations.isDebugModeEnabled + && !ComponentsConfiguration.isEndToEndTestRun) { throw new RuntimeException( "LayoutState#dumpAsString() should only be called in debug mode or from e2e tests!"); } diff --git a/litho-core/src/main/java/com/facebook/litho/LithoNode.kt b/litho-core/src/main/java/com/facebook/litho/LithoNode.kt index ffd5d75be2d..f867c8d5ace 100644 --- a/litho-core/src/main/java/com/facebook/litho/LithoNode.kt +++ b/litho-core/src/main/java/com/facebook/litho/LithoNode.kt @@ -37,7 +37,7 @@ import com.facebook.infer.annotation.ThreadConfined import com.facebook.litho.CommonProps.DefaultLayoutProps import com.facebook.litho.Transition.TransitionKeyType import com.facebook.litho.annotations.ImportantForAccessibility -import com.facebook.litho.config.ComponentsConfiguration +import com.facebook.litho.config.LithoDebugConfigurations import com.facebook.litho.drawable.ComparableColorDrawable import com.facebook.rendercore.LayoutCache import com.facebook.rendercore.LayoutContext @@ -103,7 +103,7 @@ open class LithoNode : Node, Cloneable { val debugLayoutEditor: LayoutProps? get() { - if (ComponentsConfiguration.isDebugModeEnabled && debugLayoutProps == null) { + if (LithoDebugConfigurations.isDebugModeEnabled && debugLayoutProps == null) { debugLayoutProps = DefaultLayoutProps() } return debugLayoutProps @@ -1470,7 +1470,7 @@ open class LithoNode : Node, Cloneable { } private fun applyOverridesRecursive(node: LithoNode) { - if (ComponentsConfiguration.isDebugModeEnabled) { + if (LithoDebugConfigurations.isDebugModeEnabled) { DebugComponent.applyOverrides(node.tailComponentContext, node) for (i in 0 until node.childCount) { applyOverridesRecursive(node.getChildAt(i)) diff --git a/litho-core/src/main/java/com/facebook/litho/LithoNodeUtils.kt b/litho-core/src/main/java/com/facebook/litho/LithoNodeUtils.kt index 80b62c8cc19..b1fa228677c 100644 --- a/litho-core/src/main/java/com/facebook/litho/LithoNodeUtils.kt +++ b/litho-core/src/main/java/com/facebook/litho/LithoNodeUtils.kt @@ -24,7 +24,7 @@ import androidx.core.view.ViewCompat import com.facebook.litho.Component.MountType import com.facebook.litho.MountSpecLithoRenderUnit.UpdateState import com.facebook.litho.annotations.ImportantForAccessibility -import com.facebook.litho.config.ComponentsConfiguration +import com.facebook.litho.config.LithoDebugConfigurations import com.facebook.litho.drawable.BorderColorDrawable import com.facebook.rendercore.LayoutResult import com.facebook.rendercore.MountState @@ -397,7 +397,7 @@ object LithoNodeUtils { @JvmStatic fun getDebugKey(componentKey: String?, @OutputUnitType outputUnitType: Int): String? = - if (ComponentsConfiguration.isDebugModeEnabled) { + if (LithoDebugConfigurations.isDebugModeEnabled) { null } else { when (outputUnitType) { diff --git a/litho-core/src/main/java/com/facebook/litho/LithoReducer.kt b/litho-core/src/main/java/com/facebook/litho/LithoReducer.kt index 672dcac817d..3fe377d56c6 100644 --- a/litho-core/src/main/java/com/facebook/litho/LithoReducer.kt +++ b/litho-core/src/main/java/com/facebook/litho/LithoReducer.kt @@ -20,6 +20,7 @@ import android.graphics.Rect import androidx.collection.LongSparseArray import androidx.core.view.ViewCompat import com.facebook.litho.config.ComponentsConfiguration +import com.facebook.litho.config.LithoDebugConfigurations import com.facebook.rendercore.LayoutResult import com.facebook.rendercore.MountState import com.facebook.rendercore.RenderTreeNode @@ -130,7 +131,7 @@ object LithoReducer { layoutState.mLayoutResult = null // enabled for debugging and end to end tests - if (ComponentsConfiguration.isDebugModeEnabled || ComponentsConfiguration.isEndToEndTestRun) { + if (LithoDebugConfigurations.isDebugModeEnabled || ComponentsConfiguration.isEndToEndTestRun) { layoutState.mRoot = nodeForSaving layoutState.mLayoutResult = layoutResultForSaving return @@ -902,7 +903,7 @@ object LithoReducer { private fun LithoNode.getDebugHierarchy( parentHierarchy: DebugHierarchy.Node? = null, ): DebugHierarchy.Node? { - if (!ComponentsConfiguration.isDebugHierarchyEnabled) { + if (!LithoDebugConfigurations.isDebugHierarchyEnabled) { return null } val infos: List = scopedComponentInfos diff --git a/litho-core/src/main/java/com/facebook/litho/Resolver.kt b/litho-core/src/main/java/com/facebook/litho/Resolver.kt index 52cee1a7720..9aa3ed23538 100644 --- a/litho-core/src/main/java/com/facebook/litho/Resolver.kt +++ b/litho-core/src/main/java/com/facebook/litho/Resolver.kt @@ -18,7 +18,7 @@ package com.facebook.litho import androidx.annotation.IntDef import androidx.annotation.VisibleForTesting -import com.facebook.litho.config.ComponentsConfiguration +import com.facebook.litho.config.LithoDebugConfigurations import com.facebook.litho.debug.LithoDebugEvent import com.facebook.litho.debug.LithoDebugEventAttributes import com.facebook.rendercore.debug.DebugEventDispatcher @@ -378,7 +378,7 @@ object Resolver { c.treeProps = descendants } - if (ComponentsConfiguration.isDebugModeEnabled) { + if (LithoDebugConfigurations.isDebugModeEnabled) { DebugComponent.applyOverrides(c, component, c.globalKey) } return c diff --git a/litho-core/src/main/java/com/facebook/litho/StateDebuggingUtils.kt b/litho-core/src/main/java/com/facebook/litho/StateDebuggingUtils.kt index e5e7a91559f..6c2bb33dd5c 100644 --- a/litho-core/src/main/java/com/facebook/litho/StateDebuggingUtils.kt +++ b/litho-core/src/main/java/com/facebook/litho/StateDebuggingUtils.kt @@ -16,12 +16,12 @@ package com.facebook.litho -import com.facebook.litho.config.ComponentsConfiguration +import com.facebook.litho.config.LithoDebugConfigurations /** Hosts API to debug state */ val KStateContainer.state: List get() = - if (ComponentsConfiguration.isDebugModeEnabled) { + if (LithoDebugConfigurations.isDebugModeEnabled) { states } else { error("State should only be read by debugging utilities.") diff --git a/litho-core/src/main/java/com/facebook/litho/ThreadUtils.kt b/litho-core/src/main/java/com/facebook/litho/ThreadUtils.kt index e500af1ad06..9cc12bf07bf 100644 --- a/litho-core/src/main/java/com/facebook/litho/ThreadUtils.kt +++ b/litho-core/src/main/java/com/facebook/litho/ThreadUtils.kt @@ -21,6 +21,7 @@ import android.os.Process import androidx.annotation.IntDef import androidx.annotation.VisibleForTesting import com.facebook.litho.config.ComponentsConfiguration +import com.facebook.litho.config.LithoDebugConfigurations /** Thread assertion utilities. */ object ThreadUtils { @@ -61,7 +62,7 @@ object ThreadUtils { @JvmStatic fun assertHoldsLock(lock: Any) { - if (!ComponentsConfiguration.IS_INTERNAL_BUILD) { + if (!LithoDebugConfigurations.isDebugModeEnabled) { return } check(Thread.holdsLock(lock)) { "This method should be called while holding the lock" } @@ -69,7 +70,7 @@ object ThreadUtils { @JvmStatic fun assertDoesntHoldLock(lock: Any) { - if (!ComponentsConfiguration.IS_INTERNAL_BUILD) { + if (!LithoDebugConfigurations.isDebugModeEnabled) { return } check(!Thread.holdsLock(lock)) { "This method should be called outside the lock." } diff --git a/litho-core/src/main/java/com/facebook/litho/config/ComponentsConfiguration.kt b/litho-core/src/main/java/com/facebook/litho/config/ComponentsConfiguration.kt index 61ec9d4f8d7..1b1a4e9f497 100644 --- a/litho-core/src/main/java/com/facebook/litho/config/ComponentsConfiguration.kt +++ b/litho-core/src/main/java/com/facebook/litho/config/ComponentsConfiguration.kt @@ -76,14 +76,31 @@ internal constructor( companion object { - @JvmField var defaultInstance: ComponentsConfiguration = ComponentsConfiguration() + /** + * This is just a proxy to [LithoDebugConfigurations.isDebugModeEnabled]. We have to keep it + * until we release a new oss version and we can refer to [LithoDebugConfigurations] directly on + * Flipper. + */ + @Deprecated("Use the LithoDebugConfigurations instead") + var isDebugModeEnabled: Boolean + get() = LithoDebugConfigurations.isDebugModeEnabled + set(value) { + LithoDebugConfigurations.isDebugModeEnabled = value + } /** - * Indicates whether this is an internal build. Note that the implementation of `BuildConfig ` * - * that this class is compiled against may not be the one that is included in the APK. See: - * [android_build_config](http://facebook.github.io/buck/rule/android_build_config.html). + * This is just a proxy to [LithoDebugConfigurations.isDebugHierarchyEnabled]. We have to keep + * it until we release a new oss version and we can refer to [LithoDebugConfigurations] directly + * on Flipper. */ - @JvmField val IS_INTERNAL_BUILD: Boolean = BuildConfig.IS_INTERNAL_BUILD + @Deprecated("Use the LithoDebugConfigurations instead") + var isDebugHierarchyEnabled: Boolean + get() = LithoDebugConfigurations.isDebugHierarchyEnabled + set(value) { + LithoDebugConfigurations.isDebugHierarchyEnabled = value + } + + @JvmField var defaultInstance: ComponentsConfiguration = ComponentsConfiguration() /** Indicates that the incremental mount helper is required for this build. */ @JvmField val USE_INCREMENTAL_MOUNT_HELPER: Boolean = BuildConfig.USE_INCREMENTAL_MOUNT_HELPER @@ -105,21 +122,6 @@ internal constructor( */ const val DEFAULT_CHANGE_SET_THREAD_PRIORITY: Int = 0 - @JvmField var isDebugModeEnabled: Boolean = IS_INTERNAL_BUILD - - /** - * Option to enabled debug mode. This will save extra data associated with each node and allow - * more info about the hierarchy to be retrieved. Used to enable stetho integration. It is - * highly discouraged to enable this in production builds. Due to how the Litho releases are - * distributed in open source IS_INTERNAL_BUILD will always be false. It is therefore required - * to override this value using your own application build configs. Recommended place for this - * is in a Application subclass onCreate() method. - */ - @JvmField var isRenderInfoDebuggingEnabled: Boolean = isDebugModeEnabled - - /** Lightweight tracking of component class hierarchy of MountItems. */ - @JvmField var isDebugHierarchyEnabled: Boolean = false - /** * Populates additional metadata to find mounted components at runtime. Defaults to the presence * of an @@ -158,9 +160,6 @@ internal constructor( */ @JvmField var computeRangeOnSyncLayout: Boolean = false - /** When `true`, disables incremental mount globally. */ - @JvmField var isIncrementalMountGloballyDisabled: Boolean = false - /** Keeps the litho layout result tree in the LayoutState. This will increase memory use. */ @JvmField var keepLayoutResults: Boolean = false @@ -173,10 +172,6 @@ internal constructor( @JvmField var hostComponentPoolSize: Int = 30 - /** When `true` ComponentTree records state change snapshots */ - @JvmField var isTimelineEnabled: Boolean = isRenderInfoDebuggingEnabled - @JvmField var timelineDocsLink: String? = null - /** Skip checking for root component and tree-props while layout */ @JvmField var isSkipRootCheckingEnabled: Boolean = false @JvmField var enableComputeLayoutAsyncAfterInsertion: Boolean = true @@ -206,14 +201,7 @@ internal constructor( @JvmField var bindOnSameComponentTree: Boolean = true @JvmField var enableStateUpdatesBatching: Boolean = true @JvmField var componentsLogger: ComponentsLogger? = null - - /** Debug option to highlight interactive areas in mounted components. */ - @JvmField var debugHighlightInteractiveBounds: Boolean = false - - /** Debug option to highlight mount bounds of mounted components. */ - @JvmField var debugHighlightMountBounds: Boolean = false @JvmField var isEventHandlerRebindLoggingEnabled: Boolean = false - @JvmField var eventHandlerRebindLoggingSamplingRate: Int = 0 @JvmField var isObjectTreePropEnabled: Boolean = false /** diff --git a/litho-core/src/main/java/com/facebook/litho/config/LithoDebugConfigurations.kt b/litho-core/src/main/java/com/facebook/litho/config/LithoDebugConfigurations.kt new file mode 100644 index 00000000000..f1fd6411612 --- /dev/null +++ b/litho-core/src/main/java/com/facebook/litho/config/LithoDebugConfigurations.kt @@ -0,0 +1,59 @@ +/* + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.facebook.litho.config + +import com.facebook.litho.BuildConfig + +/** Holds configurations related with debugging utilities for Litho. */ +object LithoDebugConfigurations { + + /** + * Indicates whether this is an internal build. Note that the implementation of `BuildConfig ` * + * that this class is compiled against may not be the one that is included in the APK. See: + * [android_build_config](http://facebook.github.io/buck/rule/android_build_config.html). + */ + private val IS_INTERNAL_BUILD: Boolean = BuildConfig.IS_INTERNAL_BUILD + + /** Debug option to highlight interactive areas in mounted components. */ + @JvmField var debugHighlightInteractiveBounds: Boolean = false + + /** Debug option to highlight mount bounds of mounted components. */ + @JvmField var debugHighlightMountBounds: Boolean = false + + /** When `true`, disables incremental mount globally. */ + @JvmField var isIncrementalMountGloballyDisabled: Boolean = false + + @JvmField var isDebugModeEnabled: Boolean = IS_INTERNAL_BUILD + + /** + * Option to enabled debug mode. This will save extra data associated with each node and allow + * more info about the hierarchy to be retrieved. Used to enable stetho integration. It is highly + * discouraged to enable this in production builds. Due to how the Litho releases are distributed + * in open source IS_INTERNAL_BUILD will always be false. It is therefore required to override + * this value using your own application build configs. Recommended place for this is in a + * Application subclass onCreate() method. + */ + @JvmField var isRenderInfoDebuggingEnabled: Boolean = isDebugModeEnabled + + /** Lightweight tracking of component class hierarchy of MountItems. */ + @JvmField var isDebugHierarchyEnabled: Boolean = false + + /** When `true` ComponentTree records state change snapshots */ + @JvmField var isTimelineEnabled: Boolean = isDebugModeEnabled + + @JvmField var timelineDocsLink: String? = null +} diff --git a/litho-core/src/main/java/com/facebook/litho/utils/MeasureUtils.java b/litho-core/src/main/java/com/facebook/litho/utils/MeasureUtils.java index b0fc21df3c5..31d7a8924a0 100644 --- a/litho-core/src/main/java/com/facebook/litho/utils/MeasureUtils.java +++ b/litho-core/src/main/java/com/facebook/litho/utils/MeasureUtils.java @@ -28,7 +28,7 @@ import com.facebook.infer.annotation.Nullsafe; import com.facebook.litho.Size; import com.facebook.litho.SizeSpec; -import com.facebook.litho.config.ComponentsConfiguration; +import com.facebook.litho.config.LithoDebugConfigurations; import com.facebook.rendercore.MeasureResult; @Nullsafe(Nullsafe.Mode.LOCAL) @@ -88,7 +88,7 @@ public static void measureWithEqualDimens(int widthSpec, int heightSpec, Size ou outputSize.width = 0; outputSize.height = 0; - if (ComponentsConfiguration.IS_INTERNAL_BUILD) { + if (LithoDebugConfigurations.isDebugModeEnabled) { Log.d(TAG, "Default to size {0, 0} because both width and height are UNSPECIFIED"); } return; @@ -213,7 +213,7 @@ public static void measureWithAspectRatio( outputSize.width = 0; outputSize.height = 0; - if (ComponentsConfiguration.IS_INTERNAL_BUILD) { + if (LithoDebugConfigurations.isDebugModeEnabled) { Log.d(TAG, "Default to size {0, 0} because both width and height are UNSPECIFIED"); } return; @@ -238,7 +238,7 @@ else if (widthMode == EXACTLY) { outputSize.height = widthBasedHeight; } else { outputSize.height = heightSize; - if (ComponentsConfiguration.IS_INTERNAL_BUILD) { + if (LithoDebugConfigurations.isDebugModeEnabled) { Log.d( TAG, String.format( @@ -256,7 +256,7 @@ else if (heightMode == EXACTLY) { outputSize.width = heightBasedWidth; } else { outputSize.width = widthSize; - if (ComponentsConfiguration.IS_INTERNAL_BUILD) { + if (LithoDebugConfigurations.isDebugModeEnabled) { Log.d( TAG, String.format( diff --git a/litho-editor-flipper/src/main/java/com/facebook/litho/editor/flipper/DebugComponentDescriptor.java b/litho-editor-flipper/src/main/java/com/facebook/litho/editor/flipper/DebugComponentDescriptor.java index 9ea64da7ae4..1a15487f329 100644 --- a/litho-editor-flipper/src/main/java/com/facebook/litho/editor/flipper/DebugComponentDescriptor.java +++ b/litho-editor-flipper/src/main/java/com/facebook/litho/editor/flipper/DebugComponentDescriptor.java @@ -45,7 +45,7 @@ import com.facebook.litho.LithoView; import com.facebook.litho.RenderSource; import com.facebook.litho.StateContainer; -import com.facebook.litho.config.ComponentsConfiguration; +import com.facebook.litho.config.LithoDebugConfigurations; import com.facebook.yoga.YogaAlign; import com.facebook.yoga.YogaDirection; import com.facebook.yoga.YogaEdge; @@ -211,7 +211,7 @@ public List> getData(DebugComponent node) throws Exception if (!revisions.isEmpty()) { final FlipperObject.Builder timeTravelDescriptionBuilder = new FlipperObject.Builder(); - final String timelineDocsLink = ComponentsConfiguration.timelineDocsLink; + final String timelineDocsLink = LithoDebugConfigurations.timelineDocsLink; if (timelineDocsLink != null) { timeTravelDescriptionBuilder.put( diff --git a/litho-it/src/test/java/com/facebook/litho/ComponentErrorBoundaryTest.kt b/litho-it/src/test/java/com/facebook/litho/ComponentErrorBoundaryTest.kt index e69b9082fb2..8127fb81fdd 100644 --- a/litho-it/src/test/java/com/facebook/litho/ComponentErrorBoundaryTest.kt +++ b/litho-it/src/test/java/com/facebook/litho/ComponentErrorBoundaryTest.kt @@ -18,6 +18,7 @@ package com.facebook.litho import android.graphics.Rect import com.facebook.litho.config.ComponentsConfiguration +import com.facebook.litho.config.LithoDebugConfigurations import com.facebook.litho.kotlin.widget.Text import com.facebook.litho.sections.SectionContext import com.facebook.litho.sections.common.SingleComponentSection @@ -87,7 +88,7 @@ class ComponentErrorBoundaryTest { ComponentsConfiguration.isAnimationDisabled = false assumeThat( "These tests can only be run in debug mode.", - ComponentsConfiguration.IS_INTERNAL_BUILD, + LithoDebugConfigurations.isDebugModeEnabled, Is.`is`(true)) } diff --git a/litho-it/src/test/java/com/facebook/litho/ComponentTreeDumpingHelperTest.kt b/litho-it/src/test/java/com/facebook/litho/ComponentTreeDumpingHelperTest.kt index 2a57ad71e82..37b53a3ae47 100644 --- a/litho-it/src/test/java/com/facebook/litho/ComponentTreeDumpingHelperTest.kt +++ b/litho-it/src/test/java/com/facebook/litho/ComponentTreeDumpingHelperTest.kt @@ -19,7 +19,7 @@ package com.facebook.litho import android.content.Context import android.view.View import androidx.test.core.app.ApplicationProvider -import com.facebook.litho.config.ComponentsConfiguration +import com.facebook.litho.config.LithoDebugConfigurations import com.facebook.litho.testing.inlinelayoutspec.InlineLayoutSpec import com.facebook.litho.testing.testrunner.LithoTestRunner import com.facebook.litho.widget.SimpleMountSpecTester @@ -35,8 +35,8 @@ class ComponentTreeDumpingHelperTest { @Before fun skipIfRelease() { Assume.assumeTrue( - "These tests cover debug functionality and can only be run for internal builds.", - ComponentsConfiguration.IS_INTERNAL_BUILD) + "These tests cover debug functionality and can only be run for debug mode.", + LithoDebugConfigurations.isDebugModeEnabled) } @Test diff --git a/litho-it/src/test/java/com/facebook/litho/LithoMetadataExceptionWrapperTest.kt b/litho-it/src/test/java/com/facebook/litho/LithoMetadataExceptionWrapperTest.kt index 85ef34bb11a..ce81178bca2 100644 --- a/litho-it/src/test/java/com/facebook/litho/LithoMetadataExceptionWrapperTest.kt +++ b/litho-it/src/test/java/com/facebook/litho/LithoMetadataExceptionWrapperTest.kt @@ -19,7 +19,7 @@ package com.facebook.litho import android.content.Context import androidx.test.core.app.ApplicationProvider import com.facebook.litho.TouchExpansionDelegateTest.Companion.emulateClickEvent -import com.facebook.litho.config.ComponentsConfiguration +import com.facebook.litho.config.LithoDebugConfigurations import com.facebook.litho.testing.LegacyLithoViewRule import com.facebook.litho.testing.error.TestCrasherOnCreateLayout import com.facebook.litho.testing.error.TestHasDelegateThatCrashesOnCreateLayout @@ -99,7 +99,7 @@ class LithoMetadataExceptionWrapperTest { fun onCreateLayout_withReRaisedErrorFromErrorBoundary_showsRightComponentStack() { Assume.assumeThat( "Error boundary is enabled in debug builds.", - ComponentsConfiguration.IS_INTERNAL_BUILD, + LithoDebugConfigurations.isDebugModeEnabled, Is.`is`(true)) expectedException.expect(LithoMetadataExceptionWrapper::class.java) expectedException.expectMessage( @@ -130,7 +130,7 @@ class LithoMetadataExceptionWrapperTest { fun onCreateLayout_withIndirectReRaisedErrorFromErrorBoundary_showsRightComponentStack() { Assume.assumeThat( "Error boundary is enabled in debug builds.", - ComponentsConfiguration.IS_INTERNAL_BUILD, + LithoDebugConfigurations.isDebugModeEnabled, Is.`is`(true)) expectedException.expect(LithoMetadataExceptionWrapper::class.java) expectedException.expectMessage( diff --git a/litho-it/src/test/java/com/facebook/litho/LithoViewTest.kt b/litho-it/src/test/java/com/facebook/litho/LithoViewTest.kt index 328aa62c906..022d7148588 100644 --- a/litho-it/src/test/java/com/facebook/litho/LithoViewTest.kt +++ b/litho-it/src/test/java/com/facebook/litho/LithoViewTest.kt @@ -19,7 +19,6 @@ package com.facebook.litho import android.content.Context import android.view.ViewGroup import androidx.test.core.app.ApplicationProvider.getApplicationContext -import com.facebook.litho.config.ComponentsConfiguration import com.facebook.litho.testing.LithoStatsRule import com.facebook.litho.testing.assertj.LithoViewAssert.Companion.assertThat import com.facebook.litho.testing.atMost @@ -30,7 +29,6 @@ import com.facebook.litho.testing.unspecified import com.facebook.litho.widget.SimpleMountSpecTester import org.assertj.core.api.Assertions.assertThat import org.assertj.core.api.Assumptions -import org.junit.After import org.junit.Before import org.junit.Rule import org.junit.Test @@ -66,11 +64,6 @@ class LithoViewTest { lithoView.setComponent(initialComponent) } - @After - fun tearDown() { - ComponentsConfiguration.isDebugModeEnabled = ComponentsConfiguration.IS_INTERNAL_BUILD - } - @Test fun measureBeforeBeingAttached() { lithoView.measure(unspecified(), unspecified()) diff --git a/litho-it/src/test/java/com/facebook/litho/LithoViewTestHelperTest.kt b/litho-it/src/test/java/com/facebook/litho/LithoViewTestHelperTest.kt index 8d94c8696c8..5354a7eb356 100644 --- a/litho-it/src/test/java/com/facebook/litho/LithoViewTestHelperTest.kt +++ b/litho-it/src/test/java/com/facebook/litho/LithoViewTestHelperTest.kt @@ -18,7 +18,7 @@ package com.facebook.litho import android.content.Context import androidx.test.core.app.ApplicationProvider.getApplicationContext -import com.facebook.litho.config.ComponentsConfiguration +import com.facebook.litho.config.LithoDebugConfigurations import com.facebook.litho.kotlin.widget.Text import com.facebook.litho.testing.LithoViewRule import com.facebook.litho.testing.inlinelayoutspec.InlineLayoutSpec @@ -41,10 +41,10 @@ class LithoViewTestHelperTest { @get:Rule val lithoViewRule = LithoViewRule() @Before - fun skipIfRelease() { + fun skipIfNonDebug() { Assume.assumeTrue( - "These tests cover debug functionality and can only be run " + "for internal builds.", - ComponentsConfiguration.IS_INTERNAL_BUILD) + "These tests cover debug functionality and can only be run for debug builds.", + LithoDebugConfigurations.isDebugModeEnabled) } @Test diff --git a/litho-it/src/test/java/com/facebook/litho/LithoViewVisibilityProcessingTest.kt b/litho-it/src/test/java/com/facebook/litho/LithoViewVisibilityProcessingTest.kt index 1448727b8ac..1805f168d57 100644 --- a/litho-it/src/test/java/com/facebook/litho/LithoViewVisibilityProcessingTest.kt +++ b/litho-it/src/test/java/com/facebook/litho/LithoViewVisibilityProcessingTest.kt @@ -17,7 +17,7 @@ package com.facebook.litho import android.graphics.Rect -import com.facebook.litho.config.ComponentsConfiguration +import com.facebook.litho.config.LithoDebugConfigurations import com.facebook.litho.core.height import com.facebook.litho.core.width import com.facebook.litho.kotlin.widget.Text @@ -40,12 +40,12 @@ class LithoViewVisibilityProcessingTest { @Before fun setup() { - ComponentsConfiguration.isIncrementalMountGloballyDisabled = true + LithoDebugConfigurations.isIncrementalMountGloballyDisabled = true } @After fun teardown() { - ComponentsConfiguration.isIncrementalMountGloballyDisabled = false + LithoDebugConfigurations.isIncrementalMountGloballyDisabled = false } @Test diff --git a/litho-it/src/test/java/com/facebook/litho/sections/BatchedTargetTest.java b/litho-it/src/test/java/com/facebook/litho/sections/BatchedTargetTest.java index 1465613024c..ce27242af32 100644 --- a/litho-it/src/test/java/com/facebook/litho/sections/BatchedTargetTest.java +++ b/litho-it/src/test/java/com/facebook/litho/sections/BatchedTargetTest.java @@ -24,7 +24,7 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; -import com.facebook.litho.config.ComponentsConfiguration; +import com.facebook.litho.config.LithoDebugConfigurations; import com.facebook.litho.sections.SectionTree.Target; import com.facebook.litho.sections.logger.SectionsDebugLogger; import com.facebook.litho.testing.testrunner.LithoTestRunner; @@ -282,7 +282,7 @@ public void testConsolidateDifferentTypes() throws Exception { public void testLoggerDelete() throws Exception { assumeThat( "Logging is only available in debug mode.", - ComponentsConfiguration.IS_INTERNAL_BUILD, + LithoDebugConfigurations.isDebugModeEnabled, is(true)); Change[] ops = @@ -300,7 +300,7 @@ public void testLoggerDelete() throws Exception { public void testLoggerDifferentTypes() throws Exception { assumeThat( "Logging is only available in debug mode.", - ComponentsConfiguration.IS_INTERNAL_BUILD, + LithoDebugConfigurations.isDebugModeEnabled, is(true)); Change[] ops = diff --git a/litho-it/src/test/java/com/facebook/litho/sections/common/DataDiffSectionSpecTest.java b/litho-it/src/test/java/com/facebook/litho/sections/common/DataDiffSectionSpecTest.java index 14b8e22ee02..e59627a47ab 100644 --- a/litho-it/src/test/java/com/facebook/litho/sections/common/DataDiffSectionSpecTest.java +++ b/litho-it/src/test/java/com/facebook/litho/sections/common/DataDiffSectionSpecTest.java @@ -33,7 +33,7 @@ import com.facebook.litho.DefaultComponentsReporter; import com.facebook.litho.EventHandler; import com.facebook.litho.HasEventDispatcher; -import com.facebook.litho.config.ComponentsConfiguration; +import com.facebook.litho.config.LithoDebugConfigurations; import com.facebook.litho.sections.SectionContext; import com.facebook.litho.sections.SectionTree; import com.facebook.litho.specmodels.internal.ImmutableList; @@ -468,7 +468,7 @@ public void testDuplicatesDefault() { mSectionTree.setRoot(TestDataDiffSection.create(mSectionContext).data(oldData).build()); ComponentsReporter.provide(new DefaultErrorReporter()); assertThat(reporter.containsMessage(DataDiffSectionSpec.DUPLICATES_EXIST_MSG)) - .isEqualTo(ComponentsConfiguration.isDebugModeEnabled); + .isEqualTo(LithoDebugConfigurations.isDebugModeEnabled); } @Test diff --git a/litho-it/src/test/java/com/facebook/litho/sections/widget/LegacyRecyclerCollectionComponentSpecTest.java b/litho-it/src/test/java/com/facebook/litho/sections/widget/LegacyRecyclerCollectionComponentSpecTest.java index 3325bdfdeca..eedef61600d 100644 --- a/litho-it/src/test/java/com/facebook/litho/sections/widget/LegacyRecyclerCollectionComponentSpecTest.java +++ b/litho-it/src/test/java/com/facebook/litho/sections/widget/LegacyRecyclerCollectionComponentSpecTest.java @@ -27,7 +27,7 @@ import com.facebook.litho.ComponentContext; import com.facebook.litho.LithoView; import com.facebook.litho.Row; -import com.facebook.litho.config.ComponentsConfiguration; +import com.facebook.litho.config.LithoDebugConfigurations; import com.facebook.litho.config.TempComponentsConfigurations; import com.facebook.litho.sections.SectionContext; import com.facebook.litho.sections.common.SingleComponentSection; @@ -51,7 +51,7 @@ public class LegacyRecyclerCollectionComponentSpecTest { public void assumeDebug() { assumeThat( "These tests can only be run in debug mode.", - ComponentsConfiguration.IS_INTERNAL_BUILD, + LithoDebugConfigurations.isDebugModeEnabled, is(true)); } diff --git a/litho-it/src/test/java/com/facebook/litho/sections/widget/RecyclerCollectionComponentSpecTest.java b/litho-it/src/test/java/com/facebook/litho/sections/widget/RecyclerCollectionComponentSpecTest.java index 997e47c3d8d..f50bae25d77 100644 --- a/litho-it/src/test/java/com/facebook/litho/sections/widget/RecyclerCollectionComponentSpecTest.java +++ b/litho-it/src/test/java/com/facebook/litho/sections/widget/RecyclerCollectionComponentSpecTest.java @@ -41,6 +41,7 @@ import com.facebook.litho.Row; import com.facebook.litho.SizeSpec; import com.facebook.litho.config.ComponentsConfiguration; +import com.facebook.litho.config.LithoDebugConfigurations; import com.facebook.litho.sections.SectionContext; import com.facebook.litho.sections.common.SingleComponentSection; import com.facebook.litho.testing.LegacyLithoViewRule; @@ -82,7 +83,7 @@ public class RecyclerCollectionComponentSpecTest { public void assumeDebug() { assumeThat( "These tests can only be run in debug mode.", - ComponentsConfiguration.IS_INTERNAL_BUILD, + LithoDebugConfigurations.isDebugModeEnabled, is(true)); } diff --git a/litho-it/src/test/java/com/facebook/litho/testing/LithoRepresentationTest.java b/litho-it/src/test/java/com/facebook/litho/testing/LithoRepresentationTest.java index db53278ccbf..ee3aa5dea96 100644 --- a/litho-it/src/test/java/com/facebook/litho/testing/LithoRepresentationTest.java +++ b/litho-it/src/test/java/com/facebook/litho/testing/LithoRepresentationTest.java @@ -25,7 +25,7 @@ import com.facebook.litho.Component; import com.facebook.litho.ComponentContext; -import com.facebook.litho.config.ComponentsConfiguration; +import com.facebook.litho.config.LithoDebugConfigurations; import com.facebook.litho.testing.assertj.LithoRepresentation; import com.facebook.litho.testing.inlinelayoutspec.InlineLayoutSpec; import com.facebook.litho.testing.testrunner.LithoTestRunner; @@ -44,7 +44,7 @@ public class LithoRepresentationTest { public void assumeInDebugMode() { assumeThat( "These tests can only be run in debug mode.", - ComponentsConfiguration.IS_INTERNAL_BUILD, + LithoDebugConfigurations.isDebugModeEnabled, is(true)); } diff --git a/litho-it/src/test/java/com/facebook/litho/testing/assertj/SubComponentDeepExtractorTest.java b/litho-it/src/test/java/com/facebook/litho/testing/assertj/SubComponentDeepExtractorTest.java index d2a0827ffef..0ce0399cf07 100644 --- a/litho-it/src/test/java/com/facebook/litho/testing/assertj/SubComponentDeepExtractorTest.java +++ b/litho-it/src/test/java/com/facebook/litho/testing/assertj/SubComponentDeepExtractorTest.java @@ -24,7 +24,7 @@ import com.facebook.litho.Column; import com.facebook.litho.Component; import com.facebook.litho.ComponentContext; -import com.facebook.litho.config.ComponentsConfiguration; +import com.facebook.litho.config.LithoDebugConfigurations; import com.facebook.litho.testing.LegacyLithoViewRule; import com.facebook.litho.testing.inlinelayoutspec.InlineLayoutSpec; import com.facebook.litho.testing.testrunner.LithoTestRunner; @@ -47,7 +47,7 @@ public class SubComponentDeepExtractorTest { public void setUp() { assumeThat( "These tests can only be run in debug mode.", - ComponentsConfiguration.IS_INTERNAL_BUILD, + LithoDebugConfigurations.isDebugModeEnabled, is(true)); mComponent = diff --git a/litho-it/src/test/java/com/facebook/litho/testing/specmodels/InjectPropMatcherGenerationTest.java b/litho-it/src/test/java/com/facebook/litho/testing/specmodels/InjectPropMatcherGenerationTest.java index 14fa323e1e1..1d8acc3d066 100644 --- a/litho-it/src/test/java/com/facebook/litho/testing/specmodels/InjectPropMatcherGenerationTest.java +++ b/litho-it/src/test/java/com/facebook/litho/testing/specmodels/InjectPropMatcherGenerationTest.java @@ -22,7 +22,7 @@ import static org.junit.Assume.assumeThat; import com.facebook.litho.ComponentContext; -import com.facebook.litho.config.ComponentsConfiguration; +import com.facebook.litho.config.LithoDebugConfigurations; import com.facebook.litho.testing.LegacyLithoViewRule; import com.facebook.litho.testing.subcomponents.InspectableComponent; import com.facebook.litho.testing.testrunner.LithoTestRunner; @@ -45,7 +45,7 @@ public class InjectPropMatcherGenerationTest { public void setUp() { assumeThat( "These tests can only be run in debug mode.", - ComponentsConfiguration.IS_INTERNAL_BUILD, + LithoDebugConfigurations.isDebugModeEnabled, is(true)); } diff --git a/litho-it/src/test/java/com/facebook/litho/testing/subcomponents/CommonPropMatcherTest.java b/litho-it/src/test/java/com/facebook/litho/testing/subcomponents/CommonPropMatcherTest.java index 8c71243aa70..afae993f210 100644 --- a/litho-it/src/test/java/com/facebook/litho/testing/subcomponents/CommonPropMatcherTest.java +++ b/litho-it/src/test/java/com/facebook/litho/testing/subcomponents/CommonPropMatcherTest.java @@ -25,7 +25,7 @@ import com.facebook.litho.Component; import com.facebook.litho.ComponentContext; import com.facebook.litho.Row; -import com.facebook.litho.config.ComponentsConfiguration; +import com.facebook.litho.config.LithoDebugConfigurations; import com.facebook.litho.testing.LegacyLithoViewRule; import com.facebook.litho.testing.testrunner.LithoTestRunner; import com.facebook.litho.widget.Card; @@ -45,7 +45,7 @@ public class CommonPropMatcherTest { public void setUp() { assumeThat( "These tests can only be run in debug mode.", - ComponentsConfiguration.IS_INTERNAL_BUILD, + LithoDebugConfigurations.isDebugModeEnabled, is(true)); } diff --git a/litho-it/src/test/java/com/facebook/litho/testing/subcomponents/GenericMatcherGenerationTest.java b/litho-it/src/test/java/com/facebook/litho/testing/subcomponents/GenericMatcherGenerationTest.java index 5ad14a39e4b..622c74bd36c 100644 --- a/litho-it/src/test/java/com/facebook/litho/testing/subcomponents/GenericMatcherGenerationTest.java +++ b/litho-it/src/test/java/com/facebook/litho/testing/subcomponents/GenericMatcherGenerationTest.java @@ -25,7 +25,7 @@ import com.facebook.litho.ComponentContext; import com.facebook.litho.EventDispatcher; import com.facebook.litho.HasEventDispatcher; -import com.facebook.litho.config.ComponentsConfiguration; +import com.facebook.litho.config.LithoDebugConfigurations; import com.facebook.litho.testing.LegacyLithoViewRule; import com.facebook.litho.testing.specmodels.MyGeneric; import com.facebook.litho.testing.specmodels.TestMyGeneric; @@ -48,7 +48,7 @@ public class GenericMatcherGenerationTest { public void setUp() { assumeThat( "These tests can only be run in debug mode.", - ComponentsConfiguration.IS_INTERNAL_BUILD, + LithoDebugConfigurations.isDebugModeEnabled, is(true)); } diff --git a/litho-it/src/test/java/com/facebook/litho/widget/RecyclerBinderTest.java b/litho-it/src/test/java/com/facebook/litho/widget/RecyclerBinderTest.java index bd1aa062482..6e526ff1630 100644 --- a/litho-it/src/test/java/com/facebook/litho/widget/RecyclerBinderTest.java +++ b/litho-it/src/test/java/com/facebook/litho/widget/RecyclerBinderTest.java @@ -67,6 +67,7 @@ import com.facebook.litho.SizeSpec; import com.facebook.litho.ThreadUtils; import com.facebook.litho.config.ComponentsConfiguration; +import com.facebook.litho.config.LithoDebugConfigurations; import com.facebook.litho.testing.ThreadTestingUtils; import com.facebook.litho.testing.Whitebox; import com.facebook.litho.testing.inlinelayoutspec.InlineLayoutSpec; @@ -4886,10 +4887,10 @@ public void testDataRenderedCallbacksAreNotTriggered() { @Test(expected = IllegalStateException.class) public void testAsyncOperationsFromMultipleThreadsCrashes() throws InterruptedException { - final boolean isDebugMode = ComponentsConfiguration.isDebugModeEnabled; + final boolean isDebugMode = LithoDebugConfigurations.isDebugModeEnabled; // Manually override this to cause change set thread checks - ComponentsConfiguration.isDebugModeEnabled = true; + LithoDebugConfigurations.isDebugModeEnabled = true; try { final RecyclerBinder recyclerBinder = @@ -4927,7 +4928,7 @@ public void run() { recyclerBinder.insertItemAtAsync(0, renderInfo1); } finally { - ComponentsConfiguration.isDebugModeEnabled = isDebugMode; + LithoDebugConfigurations.isDebugModeEnabled = isDebugMode; } } diff --git a/litho-sections-core/src/main/java/com/facebook/litho/sections/BatchedTarget.java b/litho-sections-core/src/main/java/com/facebook/litho/sections/BatchedTarget.java index 1a58b12a247..e5b4cced610 100644 --- a/litho-sections-core/src/main/java/com/facebook/litho/sections/BatchedTarget.java +++ b/litho-sections-core/src/main/java/com/facebook/litho/sections/BatchedTarget.java @@ -17,7 +17,7 @@ package com.facebook.litho.sections; import android.util.SparseArray; -import com.facebook.litho.config.ComponentsConfiguration; +import com.facebook.litho.config.LithoDebugConfigurations; import com.facebook.litho.sections.logger.SectionsDebugLogger; import com.facebook.litho.widget.ChangeSetCompleteCallback; import com.facebook.litho.widget.RenderInfo; @@ -37,7 +37,7 @@ class BatchedTarget implements SectionTree.Target { private static final int TYPE_NONE = Integer.MAX_VALUE; - private static final boolean ENABLE_LOGGER = ComponentsConfiguration.isDebugModeEnabled; + private static final boolean ENABLE_LOGGER = LithoDebugConfigurations.isDebugModeEnabled; private final SectionTree.Target mTarget; private final SparseArray mComponentInfoSparseArray = new SparseArray<>(); diff --git a/litho-sections-core/src/main/java/com/facebook/litho/sections/ChangeSet.java b/litho-sections-core/src/main/java/com/facebook/litho/sections/ChangeSet.java index 0d0b06ca618..f06d65447e5 100644 --- a/litho-sections-core/src/main/java/com/facebook/litho/sections/ChangeSet.java +++ b/litho-sections-core/src/main/java/com/facebook/litho/sections/ChangeSet.java @@ -29,7 +29,7 @@ import androidx.annotation.VisibleForTesting; import com.facebook.infer.annotation.ThreadConfined; import com.facebook.litho.TreeProps; -import com.facebook.litho.config.ComponentsConfiguration; +import com.facebook.litho.config.LithoDebugConfigurations; import com.facebook.litho.sections.SectionTree.Target; import com.facebook.litho.sections.annotations.DiffSectionSpec; import com.facebook.litho.sections.annotations.OnDiff; @@ -119,7 +119,7 @@ public void insert(int index, RenderInfo renderInfo, @Nullable TreeProps treePro public void insert( int index, RenderInfo renderInfo, @Nullable TreeProps treeProps, @Nullable Object data) { // Null check for tests only. This should never be the case otherwise. - if (mSection != null && ComponentsConfiguration.isRenderInfoDebuggingEnabled) { + if (mSection != null && LithoDebugConfigurations.isRenderInfoDebuggingEnabled) { renderInfo.addDebugInfo(SectionsDebugParams.SECTION_GLOBAL_KEY, mSection.getGlobalKey()); } addChange(Change.insert(index, new TreePropsWrappedRenderInfo(renderInfo, treeProps), data)); @@ -137,7 +137,7 @@ public void insertRange( @Nullable TreeProps treeProps, @Nullable List data) { // Null check for tests only. This should never be the case otherwise. - if (mSection != null && ComponentsConfiguration.isRenderInfoDebuggingEnabled) { + if (mSection != null && LithoDebugConfigurations.isRenderInfoDebuggingEnabled) { for (int i = 0, size = renderInfos.size(); i < size; i++) { renderInfos .get(i) diff --git a/litho-sections-core/src/main/java/com/facebook/litho/sections/common/DataDiffSectionSpec.java b/litho-sections-core/src/main/java/com/facebook/litho/sections/common/DataDiffSectionSpec.java index 8977d2281b5..20b3d9d4c33 100644 --- a/litho-sections-core/src/main/java/com/facebook/litho/sections/common/DataDiffSectionSpec.java +++ b/litho-sections-core/src/main/java/com/facebook/litho/sections/common/DataDiffSectionSpec.java @@ -31,6 +31,7 @@ import com.facebook.litho.annotations.OnEvent; import com.facebook.litho.annotations.Prop; import com.facebook.litho.config.ComponentsConfiguration; +import com.facebook.litho.config.LithoDebugConfigurations; import com.facebook.litho.sections.ChangeSet; import com.facebook.litho.sections.Section; import com.facebook.litho.sections.SectionContext; @@ -219,7 +220,7 @@ private static boolean isDetectMovesEnabled(@Nullable Diff detectMoves) */ private static boolean isDetectDuplicatesEnabled(@Nullable Diff alwaysDetectDuplicates) { if (alwaysDetectDuplicates == null || alwaysDetectDuplicates.getNext() == null) { - return ComponentsConfiguration.isDebugModeEnabled; + return LithoDebugConfigurations.isDebugModeEnabled; } return alwaysDetectDuplicates.getNext(); } @@ -353,7 +354,7 @@ public RenderInfo render(Object o, int index) { renderInfo = ComponentRenderInfo.createEmpty(); } - if (ComponentsConfiguration.isRenderInfoDebuggingEnabled) { + if (LithoDebugConfigurations.isRenderInfoDebuggingEnabled) { renderInfo.addDebugInfo(SONAR_SECTIONS_DEBUG_INFO_TAG, mSectionContext.getSectionScope()); } diff --git a/litho-sections-core/src/main/java/com/facebook/litho/sections/common/SingleComponentSectionSpec.java b/litho-sections-core/src/main/java/com/facebook/litho/sections/common/SingleComponentSectionSpec.java index 5f473472069..831e6d9419c 100644 --- a/litho-sections-core/src/main/java/com/facebook/litho/sections/common/SingleComponentSectionSpec.java +++ b/litho-sections-core/src/main/java/com/facebook/litho/sections/common/SingleComponentSectionSpec.java @@ -26,6 +26,7 @@ import com.facebook.litho.Diff; import com.facebook.litho.annotations.Prop; import com.facebook.litho.config.ComponentsConfiguration; +import com.facebook.litho.config.LithoDebugConfigurations; import com.facebook.litho.sections.ChangeSet; import com.facebook.litho.sections.SectionContext; import com.facebook.litho.sections.annotations.DiffSectionSpec; @@ -179,7 +180,7 @@ private static ComponentRenderInfo.Builder addCustomAttributes( SectionContext c, Diff component, @Nullable Diff componentsLogger) { - if (ComponentsConfiguration.isRenderInfoDebuggingEnabled) { + if (LithoDebugConfigurations.isRenderInfoDebuggingEnabled) { builder.debugInfo(SONAR_SECTIONS_DEBUG_INFO_TAG, c.getSectionScope()); builder.debugInfo(SONAR_SINGLE_COMPONENT_SECTION_DATA_PREV, component.getPrevious()); builder.debugInfo(SONAR_SINGLE_COMPONENT_SECTION_DATA_NEXT, component.getNext()); diff --git a/litho-testing/src/main/java/com/facebook/litho/testing/LegacyLithoViewRule.kt b/litho-testing/src/main/java/com/facebook/litho/testing/LegacyLithoViewRule.kt index e2cbeaf47aa..4856ea73094 100644 --- a/litho-testing/src/main/java/com/facebook/litho/testing/LegacyLithoViewRule.kt +++ b/litho-testing/src/main/java/com/facebook/litho/testing/LegacyLithoViewRule.kt @@ -38,6 +38,7 @@ import com.facebook.litho.componentsfinder.findAllComponentsInLithoView import com.facebook.litho.componentsfinder.findComponentInLithoView import com.facebook.litho.componentsfinder.findDirectComponentInLithoView import com.facebook.litho.config.ComponentsConfiguration +import com.facebook.litho.config.LithoDebugConfigurations import com.facebook.litho.testing.viewtree.ViewPredicates import com.facebook.litho.testing.viewtree.ViewTree import com.facebook.rendercore.MountItemsPool @@ -79,7 +80,7 @@ constructor( ) : TestRule { init { - ComponentsConfiguration.isDebugModeEnabled = true + LithoDebugConfigurations.isDebugModeEnabled = true } val componentTree: ComponentTree diff --git a/litho-testing/src/main/java/com/facebook/litho/testing/LithoViewRule.kt b/litho-testing/src/main/java/com/facebook/litho/testing/LithoViewRule.kt index a03537d9728..ee0752ccd76 100644 --- a/litho-testing/src/main/java/com/facebook/litho/testing/LithoViewRule.kt +++ b/litho-testing/src/main/java/com/facebook/litho/testing/LithoViewRule.kt @@ -29,6 +29,7 @@ import com.facebook.litho.LithoLifecycleProvider import com.facebook.litho.LithoView import com.facebook.litho.TreeProps import com.facebook.litho.config.ComponentsConfiguration +import com.facebook.litho.config.LithoDebugConfigurations import com.facebook.rendercore.MountItemsPool import com.facebook.rendercore.utils.MeasureSpecUtils.exactly import java.lang.Exception @@ -69,7 +70,7 @@ constructor( private var threadLooperController: BaseThreadLooperController = ThreadLooperController() init { - ComponentsConfiguration.isDebugModeEnabled = true + LithoDebugConfigurations.isDebugModeEnabled = true } override fun apply(base: Statement, description: Description): Statement { diff --git a/litho-testing/src/main/java/com/facebook/litho/testing/assertj/LithoViewSubComponentDeepExtractor.java b/litho-testing/src/main/java/com/facebook/litho/testing/assertj/LithoViewSubComponentDeepExtractor.java index b4e50737726..44d6c874e7d 100644 --- a/litho-testing/src/main/java/com/facebook/litho/testing/assertj/LithoViewSubComponentDeepExtractor.java +++ b/litho-testing/src/main/java/com/facebook/litho/testing/assertj/LithoViewSubComponentDeepExtractor.java @@ -17,7 +17,7 @@ package com.facebook.litho.testing.assertj; import com.facebook.litho.LithoView; -import com.facebook.litho.config.ComponentsConfiguration; +import com.facebook.litho.config.LithoDebugConfigurations; import com.facebook.litho.testing.subcomponents.InspectableComponent; import java.util.LinkedList; import java.util.List; @@ -49,8 +49,8 @@ public List extract(LithoView lithoView) { final InspectableComponent rootInstance = InspectableComponent.getRootInstance(lithoView); if (rootInstance == null) { Preconditions.checkState( - ComponentsConfiguration.IS_INTERNAL_BUILD, - "Please ensure that ComponentsConfiguration.IS_INTERNAL_BUILD is enabled"); + LithoDebugConfigurations.isDebugModeEnabled, + "Please ensure that LithoDebugConfigurations.isDebugModeEnabled is enabled"); throw new IllegalStateException("Component rendered to "); } stack.add(rootInstance); diff --git a/litho-widget-kotlin/src/main/kotlin/com/facebook/litho/widget/collection/CollectionLayout.kt b/litho-widget-kotlin/src/main/kotlin/com/facebook/litho/widget/collection/CollectionLayout.kt index 42ff76074b9..53b5ef6d67e 100644 --- a/litho-widget-kotlin/src/main/kotlin/com/facebook/litho/widget/collection/CollectionLayout.kt +++ b/litho-widget-kotlin/src/main/kotlin/com/facebook/litho/widget/collection/CollectionLayout.kt @@ -20,7 +20,7 @@ import androidx.annotation.Px import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.StaggeredGridLayoutManager import com.facebook.litho.ComponentContext -import com.facebook.litho.config.ComponentsConfiguration +import com.facebook.litho.config.LithoDebugConfigurations import com.facebook.litho.sections.widget.GridRecyclerConfiguration import com.facebook.litho.sections.widget.ListRecyclerConfiguration import com.facebook.litho.sections.widget.RecyclerBinderConfiguration @@ -45,7 +45,7 @@ abstract class CollectionLayout( useBackgroundChangeSets: Boolean = false, isReconciliationEnabled: Boolean = false, isIncrementalMountEnabled: Boolean = - !ComponentsConfiguration.isIncrementalMountGloballyDisabled, + !LithoDebugConfigurations.isIncrementalMountGloballyDisabled, hasDynamicItemHeight: Boolean = false, val canMeasureRecycler: Boolean = false, mainAxisWrapContent: Boolean = false, diff --git a/litho-widget-kotlin/src/main/kotlin/com/facebook/litho/widget/collection/LazyCollection.kt b/litho-widget-kotlin/src/main/kotlin/com/facebook/litho/widget/collection/LazyCollection.kt index a9644d1969f..dbc1e11c3dd 100644 --- a/litho-widget-kotlin/src/main/kotlin/com/facebook/litho/widget/collection/LazyCollection.kt +++ b/litho-widget-kotlin/src/main/kotlin/com/facebook/litho/widget/collection/LazyCollection.kt @@ -23,7 +23,7 @@ import com.facebook.litho.Handle import com.facebook.litho.KComponent import com.facebook.litho.LithoStartupLogger import com.facebook.litho.Style -import com.facebook.litho.config.ComponentsConfiguration +import com.facebook.litho.config.LithoDebugConfigurations import com.facebook.litho.eventHandlerWithReturn import com.facebook.litho.kotlinStyle import com.facebook.litho.sections.ChangesInfo @@ -240,7 +240,7 @@ class LazyCollection( } } .component( - if (ComponentsConfiguration.isDebugModeEnabled && overlayRenderCount) + if (LithoDebugConfigurations.isDebugModeEnabled && overlayRenderCount) component.overlayRenderCount else component) .build() diff --git a/litho-widget/src/main/java/com/facebook/litho/widget/RecyclerBinder.java b/litho-widget/src/main/java/com/facebook/litho/widget/RecyclerBinder.java index d2e3b62bd4d..40fe3ce3100 100644 --- a/litho-widget/src/main/java/com/facebook/litho/widget/RecyclerBinder.java +++ b/litho-widget/src/main/java/com/facebook/litho/widget/RecyclerBinder.java @@ -75,6 +75,7 @@ import com.facebook.litho.choreographercompat.ChoreographerCompatImpl; import com.facebook.litho.config.ComponentsConfiguration; import com.facebook.litho.config.LayoutThreadPoolConfiguration; +import com.facebook.litho.config.LithoDebugConfigurations; import com.facebook.litho.viewcompat.ViewBinder; import com.facebook.litho.viewcompat.ViewCreator; import com.facebook.litho.widget.ComponentTreeHolder.ComponentTreeMeasureListenerFactory; @@ -1964,7 +1965,8 @@ private void maybeUpdateRangeOrRemeasureForMutation() { } private void assertSingleThreadForChangeSet() { - if (!ComponentsConfiguration.isDebugModeEnabled && !ComponentsConfiguration.isEndToEndTestRun) { + if (!LithoDebugConfigurations.isDebugModeEnabled + && !ComponentsConfiguration.isEndToEndTestRun) { return; } @@ -1982,7 +1984,8 @@ private void assertSingleThreadForChangeSet() { } private void clearThreadForChangeSet() { - if (!ComponentsConfiguration.isDebugModeEnabled && !ComponentsConfiguration.isEndToEndTestRun) { + if (!LithoDebugConfigurations.isDebugModeEnabled + && !ComponentsConfiguration.isEndToEndTestRun) { return; } @@ -3834,7 +3837,7 @@ public void onPostDraw() { } } - if (ComponentsConfiguration.isRenderInfoDebuggingEnabled) { + if (LithoDebugConfigurations.isRenderInfoDebuggingEnabled) { RenderInfoDebugInfoRegistry.setRenderInfoToViewMapping( holder.itemView, renderInfo.getDebugInfo(RenderInfoDebugInfoRegistry.SONAR_SECTIONS_DEBUG_INFO_TAG)); diff --git a/litho-widget/src/main/java/com/facebook/litho/widget/RecyclerBinderConfig.kt b/litho-widget/src/main/java/com/facebook/litho/widget/RecyclerBinderConfig.kt index 6a56fe478a0..00fb6104c3d 100644 --- a/litho-widget/src/main/java/com/facebook/litho/widget/RecyclerBinderConfig.kt +++ b/litho-widget/src/main/java/com/facebook/litho/widget/RecyclerBinderConfig.kt @@ -21,6 +21,7 @@ import com.facebook.kotlin.compilerplugins.dataclassgenerate.annotation.Mode import com.facebook.litho.ErrorEventHandler import com.facebook.litho.config.ComponentsConfiguration import com.facebook.litho.config.LayoutThreadPoolConfiguration +import com.facebook.litho.config.LithoDebugConfigurations /** * This configuration is meant to be used in the context of [RecyclerBinder]. It allows you to @@ -155,7 +156,7 @@ data class RecyclerBinderConfig( */ @JvmField val incrementalMountEnabled: Boolean = - !ComponentsConfiguration.isIncrementalMountGloballyDisabled + !LithoDebugConfigurations.isIncrementalMountGloballyDisabled ) { init { diff --git a/sample-codelab/src/test/java/com/facebook/samples/lithocodelab/examples/modules/LearningStateComponentSpecTest.java b/sample-codelab/src/test/java/com/facebook/samples/lithocodelab/examples/modules/LearningStateComponentSpecTest.java index c2e89caddf3..43788924f53 100644 --- a/sample-codelab/src/test/java/com/facebook/samples/lithocodelab/examples/modules/LearningStateComponentSpecTest.java +++ b/sample-codelab/src/test/java/com/facebook/samples/lithocodelab/examples/modules/LearningStateComponentSpecTest.java @@ -24,7 +24,7 @@ import com.facebook.litho.ComponentContext; import com.facebook.litho.EventHandler; import com.facebook.litho.StateValue; -import com.facebook.litho.config.ComponentsConfiguration; +import com.facebook.litho.config.LithoDebugConfigurations; import com.facebook.litho.testing.LegacyLithoViewRule; import com.facebook.litho.testing.assertj.LegacyLithoAssertions; import com.facebook.litho.testing.assertj.SubComponentExtractor; @@ -44,7 +44,7 @@ public class LearningStateComponentSpecTest { public void assumeDebug() { assumeThat( "These tests can only be run in debug mode.", - ComponentsConfiguration.IS_INTERNAL_BUILD, + LithoDebugConfigurations.isDebugModeEnabled, is(true)); } diff --git a/sample/src/test/java/com/facebook/samples/litho/DemoListComponentTest.java b/sample/src/test/java/com/facebook/samples/litho/DemoListComponentTest.java index 6b7f3b3e704..22e601d880a 100644 --- a/sample/src/test/java/com/facebook/samples/litho/DemoListComponentTest.java +++ b/sample/src/test/java/com/facebook/samples/litho/DemoListComponentTest.java @@ -23,7 +23,7 @@ import static org.junit.Assume.assumeThat; import com.facebook.litho.Component; -import com.facebook.litho.config.ComponentsConfiguration; +import com.facebook.litho.config.LithoDebugConfigurations; import com.facebook.litho.sections.widget.RecyclerCollectionComponent; import com.facebook.litho.testing.LegacyLithoViewRule; import com.facebook.litho.testing.subcomponents.SubComponent; @@ -43,7 +43,7 @@ public class DemoListComponentTest { public void assumeDebug() { assumeThat( "These tests can only be run in debug mode.", - ComponentsConfiguration.IS_INTERNAL_BUILD, + LithoDebugConfigurations.isDebugModeEnabled, is(true)); } diff --git a/sample/src/test/java/com/facebook/samples/litho/java/lithography/DecadeSeparatorSpecTest.java b/sample/src/test/java/com/facebook/samples/litho/java/lithography/DecadeSeparatorSpecTest.java index 96e5dbac133..46509038256 100644 --- a/sample/src/test/java/com/facebook/samples/litho/java/lithography/DecadeSeparatorSpecTest.java +++ b/sample/src/test/java/com/facebook/samples/litho/java/lithography/DecadeSeparatorSpecTest.java @@ -28,7 +28,7 @@ import com.facebook.litho.Component; import com.facebook.litho.ComponentContext; -import com.facebook.litho.config.ComponentsConfiguration; +import com.facebook.litho.config.LithoDebugConfigurations; import com.facebook.litho.testing.LegacyLithoViewRule; import com.facebook.litho.testing.subcomponents.InspectableComponent; import com.facebook.litho.testing.subcomponents.SubComponent; @@ -50,7 +50,7 @@ public class DecadeSeparatorSpecTest { public void setUp() { assumeThat( "These tests can only be run in debug mode.", - ComponentsConfiguration.IS_INTERNAL_BUILD, + LithoDebugConfigurations.isDebugModeEnabled, is(true)); mComponent = DecadeSeparator.create(mLegacyLithoViewRule.getContext()).decade(new Decade(2010)).build(); diff --git a/sample/src/test/java/com/facebook/samples/litho/java/lithography/FeedItemCardSpecTest.java b/sample/src/test/java/com/facebook/samples/litho/java/lithography/FeedItemCardSpecTest.java index adab23fa973..f9e492b032f 100644 --- a/sample/src/test/java/com/facebook/samples/litho/java/lithography/FeedItemCardSpecTest.java +++ b/sample/src/test/java/com/facebook/samples/litho/java/lithography/FeedItemCardSpecTest.java @@ -29,7 +29,7 @@ import com.facebook.litho.Component; import com.facebook.litho.ComponentContext; -import com.facebook.litho.config.ComponentsConfiguration; +import com.facebook.litho.config.LithoDebugConfigurations; import com.facebook.litho.testing.LegacyLithoViewRule; import com.facebook.litho.testing.subcomponents.InspectableComponent; import com.facebook.litho.testing.testrunner.LithoTestRunner; @@ -53,7 +53,7 @@ public class FeedItemCardSpecTest { public void setUp() { assumeThat( "These tests can only be run in debug mode.", - ComponentsConfiguration.IS_INTERNAL_BUILD, + LithoDebugConfigurations.isDebugModeEnabled, is(true)); final ComponentContext c = mLegacyLithoViewRule.getContext(); diff --git a/sample/src/test/java/com/facebook/samples/litho/java/lithography/FeedItemComponentSpecSubComponentTest.java b/sample/src/test/java/com/facebook/samples/litho/java/lithography/FeedItemComponentSpecSubComponentTest.java index 1efeccec68c..2f3433fcd72 100644 --- a/sample/src/test/java/com/facebook/samples/litho/java/lithography/FeedItemComponentSpecSubComponentTest.java +++ b/sample/src/test/java/com/facebook/samples/litho/java/lithography/FeedItemComponentSpecSubComponentTest.java @@ -28,7 +28,7 @@ import com.facebook.litho.Component; import com.facebook.litho.ComponentContext; import com.facebook.litho.EventHandler; -import com.facebook.litho.config.ComponentsConfiguration; +import com.facebook.litho.config.LithoDebugConfigurations; import com.facebook.litho.testing.LegacyLithoViewRule; import com.facebook.litho.testing.testrunner.LithoTestRunner; import org.hamcrest.core.IsNull; @@ -49,7 +49,7 @@ public class FeedItemComponentSpecSubComponentTest { public void setUp() { assumeThat( "These tests can only be run in debug mode.", - ComponentsConfiguration.IS_INTERNAL_BUILD, + LithoDebugConfigurations.isDebugModeEnabled, is(true)); } diff --git a/sample/src/test/java/com/facebook/samples/litho/java/lithography/FeedItemComponentSpecTest.java b/sample/src/test/java/com/facebook/samples/litho/java/lithography/FeedItemComponentSpecTest.java index a7a7c350b62..728ba64f655 100644 --- a/sample/src/test/java/com/facebook/samples/litho/java/lithography/FeedItemComponentSpecTest.java +++ b/sample/src/test/java/com/facebook/samples/litho/java/lithography/FeedItemComponentSpecTest.java @@ -29,7 +29,7 @@ import com.facebook.litho.Component; import com.facebook.litho.ComponentContext; import com.facebook.litho.LithoView; -import com.facebook.litho.config.ComponentsConfiguration; +import com.facebook.litho.config.LithoDebugConfigurations; import com.facebook.litho.testing.LegacyLithoViewRule; import com.facebook.litho.testing.helper.ComponentTestHelper; import com.facebook.litho.testing.subcomponents.SubComponent; @@ -49,7 +49,7 @@ public class FeedItemComponentSpecTest { public void setUp() { assumeThat( "These tests can only be run in debug mode.", - ComponentsConfiguration.IS_INTERNAL_BUILD, + LithoDebugConfigurations.isDebugModeEnabled, is(true)); final ComponentContext c = mLegacyLithoViewRule.getContext(); mComponent = diff --git a/sample/src/test/java/com/facebook/samples/litho/java/lithography/FooterComponentSpecTest.java b/sample/src/test/java/com/facebook/samples/litho/java/lithography/FooterComponentSpecTest.java index 2ab20f50e24..3cf48c01eef 100644 --- a/sample/src/test/java/com/facebook/samples/litho/java/lithography/FooterComponentSpecTest.java +++ b/sample/src/test/java/com/facebook/samples/litho/java/lithography/FooterComponentSpecTest.java @@ -25,7 +25,7 @@ import com.facebook.litho.Component; import com.facebook.litho.ComponentContext; -import com.facebook.litho.config.ComponentsConfiguration; +import com.facebook.litho.config.LithoDebugConfigurations; import com.facebook.litho.testing.LegacyLithoViewRule; import com.facebook.litho.testing.testrunner.LithoTestRunner; import com.facebook.litho.widget.TestText; @@ -42,7 +42,7 @@ public class FooterComponentSpecTest { public void setUp() { assumeThat( "These tests can only be run in debug mode.", - ComponentsConfiguration.IS_INTERNAL_BUILD, + LithoDebugConfigurations.isDebugModeEnabled, is(true)); }