mirror of
https://github.com/divkit/divkit.git
synced 2026-05-07 20:02:32 +00:00
Moved view utils from div-core to div
commit_hash:00440035bc08e5112ff805cb5772454a36e67537
This commit is contained in:
+3
-3
@@ -638,9 +638,6 @@
|
||||
"client/android/div-core/src/main/java/com/yandex/div/core/images/DivImagePriority.kt":"divkit/public/client/android/div-core/src/main/java/com/yandex/div/core/images/DivImagePriority.kt",
|
||||
"client/android/div-core/src/main/java/com/yandex/div/core/images/LoadReference.java":"divkit/public/client/android/div-core/src/main/java/com/yandex/div/core/images/LoadReference.java",
|
||||
"client/android/div-core/src/main/java/com/yandex/div/core/uri/UriHandler.java":"divkit/public/client/android/div-core/src/main/java/com/yandex/div/core/uri/UriHandler.java",
|
||||
"client/android/div-core/src/main/java/com/yandex/div/core/view/DrawingPassOverrideStrategy.kt":"divkit/public/client/android/div-core/src/main/java/com/yandex/div/core/view/DrawingPassOverrideStrategy.kt",
|
||||
"client/android/div-core/src/main/java/com/yandex/div/core/view/OnPreDrawListeners.kt":"divkit/public/client/android/div-core/src/main/java/com/yandex/div/core/view/OnPreDrawListeners.kt",
|
||||
"client/android/div-core/src/main/java/com/yandex/div/core/view/SafeDrawingPassOverrideStrategy.kt":"divkit/public/client/android/div-core/src/main/java/com/yandex/div/core/view/SafeDrawingPassOverrideStrategy.kt",
|
||||
"client/android/div-data/build.gradle":"divkit/public/client/android/div-data/build.gradle",
|
||||
"client/android/div-data/div2-generator-config.json":"divkit/public/client/android/div-data/div2-generator-config.json",
|
||||
"client/android/div-data/div2-shared-data-generator-config.json":"divkit/public/client/android/div-data/div2-shared-data-generator-config.json",
|
||||
@@ -1479,6 +1476,9 @@
|
||||
"client/android/div/src/main/java/com/yandex/div/internal/util/Utils.kt":"divkit/public/client/android/div/src/main/java/com/yandex/div/internal/util/Utils.kt",
|
||||
"client/android/div/src/main/java/com/yandex/div/internal/util/ViewGroups.kt":"divkit/public/client/android/div/src/main/java/com/yandex/div/internal/util/ViewGroups.kt",
|
||||
"client/android/div/src/main/java/com/yandex/div/internal/util/Views.java":"divkit/public/client/android/div/src/main/java/com/yandex/div/internal/util/Views.java",
|
||||
"client/android/div/src/main/java/com/yandex/div/internal/view/DrawingPassOverrideStrategy.kt":"divkit/public/client/android/div/src/main/java/com/yandex/div/internal/view/DrawingPassOverrideStrategy.kt",
|
||||
"client/android/div/src/main/java/com/yandex/div/internal/view/OnPreDrawListeners.kt":"divkit/public/client/android/div/src/main/java/com/yandex/div/internal/view/OnPreDrawListeners.kt",
|
||||
"client/android/div/src/main/java/com/yandex/div/internal/view/SafeDrawingPassOverrideStrategy.kt":"divkit/public/client/android/div/src/main/java/com/yandex/div/internal/view/SafeDrawingPassOverrideStrategy.kt",
|
||||
"client/android/div/src/main/java/com/yandex/div/internal/viewpool/AdvanceViewPool.kt":"divkit/public/client/android/div/src/main/java/com/yandex/div/internal/viewpool/AdvanceViewPool.kt",
|
||||
"client/android/div/src/main/java/com/yandex/div/internal/viewpool/BatchBlockingQueue.kt":"divkit/public/client/android/div/src/main/java/com/yandex/div/internal/viewpool/BatchBlockingQueue.kt",
|
||||
"client/android/div/src/main/java/com/yandex/div/internal/viewpool/ProfilingSession.kt":"divkit/public/client/android/div/src/main/java/com/yandex/div/internal/viewpool/ProfilingSession.kt",
|
||||
|
||||
-18
@@ -1,18 +0,0 @@
|
||||
package com.yandex.div.core.view
|
||||
|
||||
import android.view.ViewTreeObserver.OnPreDrawListener
|
||||
import com.yandex.div.core.annotations.InternalApi
|
||||
|
||||
@InternalApi
|
||||
public fun interface DrawingPassOverrideStrategy {
|
||||
|
||||
public fun overrideDrawingPass(listener: OnPreDrawListener, proceed: Boolean): Boolean
|
||||
|
||||
@InternalApi
|
||||
public object NoOp : DrawingPassOverrideStrategy {
|
||||
override fun overrideDrawingPass(listener: OnPreDrawListener, proceed: Boolean): Boolean = proceed
|
||||
}
|
||||
|
||||
@InternalApi
|
||||
public object Safe : SafeDrawingPassOverrideStrategy()
|
||||
}
|
||||
+1
-1
@@ -3,9 +3,9 @@ package com.yandex.div.sizeprovider
|
||||
import android.util.DisplayMetrics
|
||||
import android.view.View
|
||||
import com.yandex.div.core.extension.DivExtensionHandler
|
||||
import com.yandex.div.core.view.onPreDrawListener
|
||||
import com.yandex.div.core.view2.Div2View
|
||||
import com.yandex.div.core.view2.divs.pxToDp
|
||||
import com.yandex.div.internal.view.onPreDrawListener
|
||||
import com.yandex.div.json.expressions.ExpressionResolver
|
||||
import com.yandex.div2.DivBase
|
||||
import com.yandex.div2.DivData
|
||||
|
||||
@@ -4,7 +4,6 @@ import com.yandex.div.core.expression.local.DivRuntimeVisitor
|
||||
import com.yandex.div.core.tooltip.DivTooltipController
|
||||
import com.yandex.div.core.util.binding.BindingCriticalSection
|
||||
import com.yandex.div.core.util.binding.BindingDispatcher
|
||||
import com.yandex.div.core.view.DrawingPassOverrideStrategy
|
||||
import com.yandex.div.core.view2.Div2View
|
||||
import com.yandex.div.core.view2.DivTransitionBuilder
|
||||
import com.yandex.div.core.view2.DivViewIdProvider
|
||||
@@ -19,6 +18,7 @@ import com.yandex.div.core.view2.errors.ErrorVisualMonitor
|
||||
import com.yandex.div.core.view2.reuse.InputFocusTracker
|
||||
import com.yandex.div.core.view2.state.DivStateSwitcher
|
||||
import com.yandex.div.core.view2.state.DivStateTransitionHolder
|
||||
import com.yandex.div.internal.view.DrawingPassOverrideStrategy
|
||||
import com.yandex.yatagan.BindsInstance
|
||||
import com.yandex.yatagan.Component
|
||||
|
||||
|
||||
@@ -2,10 +2,10 @@ package com.yandex.div.core.dagger
|
||||
|
||||
import com.yandex.div.core.experiments.Experiment.MULTIPLE_STATE_CHANGE_ENABLED
|
||||
import com.yandex.div.core.util.ReportingSafeDrawingPassOverrideStrategy
|
||||
import com.yandex.div.core.view.DrawingPassOverrideStrategy
|
||||
import com.yandex.div.core.view2.state.DivJoinedStateSwitcher
|
||||
import com.yandex.div.core.view2.state.DivMultipleStateSwitcher
|
||||
import com.yandex.div.core.view2.state.DivStateSwitcher
|
||||
import com.yandex.div.internal.view.DrawingPassOverrideStrategy
|
||||
import com.yandex.yatagan.Binds
|
||||
import com.yandex.yatagan.Module
|
||||
import com.yandex.yatagan.Provides
|
||||
|
||||
+1
-1
@@ -3,8 +3,8 @@ package com.yandex.div.core.util
|
||||
import android.view.ViewTreeObserver.OnPreDrawListener
|
||||
import com.yandex.div.core.Div2Logger
|
||||
import com.yandex.div.core.dagger.DivViewScope
|
||||
import com.yandex.div.core.view.SafeDrawingPassOverrideStrategy
|
||||
import com.yandex.div.core.view2.Div2View
|
||||
import com.yandex.div.internal.view.SafeDrawingPassOverrideStrategy
|
||||
import javax.inject.Inject
|
||||
|
||||
@DivViewScope
|
||||
|
||||
+1
-1
@@ -5,11 +5,11 @@ import android.view.View
|
||||
import android.view.ViewTreeObserver
|
||||
import com.yandex.div.R
|
||||
import com.yandex.div.core.dagger.DivViewScope
|
||||
import com.yandex.div.core.view.onPreDrawListener
|
||||
import com.yandex.div.core.view2.Div2View
|
||||
import com.yandex.div.core.view2.errors.ErrorCollector
|
||||
import com.yandex.div.core.view2.errors.ErrorCollectors
|
||||
import com.yandex.div.internal.core.VariableMutationHandler
|
||||
import com.yandex.div.internal.view.onPreDrawListener
|
||||
import com.yandex.div.json.expressions.ExpressionResolver
|
||||
import com.yandex.div2.DivData
|
||||
import com.yandex.div2.DivLayoutProvider
|
||||
|
||||
@@ -5,9 +5,8 @@ import android.view.View
|
||||
import android.view.ViewTreeObserver
|
||||
import android.widget.TextView
|
||||
import androidx.core.view.ViewCompat
|
||||
import com.yandex.div.core.view.DrawingPassOverrideStrategy
|
||||
import com.yandex.div.core.view.onPreDrawListener
|
||||
import com.yandex.div.core.widget.AdaptiveMaxLines.Params
|
||||
import com.yandex.div.internal.view.DrawingPassOverrideStrategy
|
||||
import com.yandex.div.internal.view.onPreDrawListener
|
||||
|
||||
/**
|
||||
* Adjust [TextView] max lines based on [Params].
|
||||
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
package com.yandex.div.internal.view
|
||||
|
||||
import android.view.ViewTreeObserver.OnPreDrawListener
|
||||
|
||||
fun interface DrawingPassOverrideStrategy {
|
||||
|
||||
fun overrideDrawingPass(listener: OnPreDrawListener, proceed: Boolean): Boolean
|
||||
|
||||
object NoOp : DrawingPassOverrideStrategy {
|
||||
override fun overrideDrawingPass(listener: OnPreDrawListener, proceed: Boolean): Boolean = proceed
|
||||
}
|
||||
|
||||
object Safe : SafeDrawingPassOverrideStrategy()
|
||||
}
|
||||
+3
-17
@@ -1,13 +1,11 @@
|
||||
@file:JvmName("OnPreDrawListeners")
|
||||
|
||||
package com.yandex.div.core.view
|
||||
package com.yandex.div.internal.view
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.view.ViewTreeObserver
|
||||
import com.yandex.div.core.annotations.InternalApi
|
||||
|
||||
@InternalApi
|
||||
public fun onPreDrawListener(
|
||||
fun onPreDrawListener(
|
||||
overrideStrategy: DrawingPassOverrideStrategy = DrawingPassOverrideStrategy.Safe,
|
||||
action: () -> Boolean
|
||||
): ViewTreeObserver.OnPreDrawListener {
|
||||
@@ -17,20 +15,8 @@ public fun onPreDrawListener(
|
||||
)
|
||||
}
|
||||
|
||||
@InternalApi
|
||||
public fun onPreDrawListener(
|
||||
overrideStrategy: DrawingPassOverrideStrategy = DrawingPassOverrideStrategy.Safe,
|
||||
delegate: ViewTreeObserver.OnPreDrawListener
|
||||
): ViewTreeObserver.OnPreDrawListener {
|
||||
return OverridableOnPreDrawListener(
|
||||
delegate = delegate,
|
||||
overrideStrategy
|
||||
)
|
||||
}
|
||||
|
||||
@InternalApi
|
||||
@SuppressLint("OnPreDrawListenerIssue")
|
||||
public class OverridableOnPreDrawListener @JvmOverloads constructor(
|
||||
internal class OverridableOnPreDrawListener @JvmOverloads constructor(
|
||||
private val delegate: ViewTreeObserver.OnPreDrawListener,
|
||||
private val overrideStrategy: DrawingPassOverrideStrategy = DrawingPassOverrideStrategy.Safe
|
||||
) : ViewTreeObserver.OnPreDrawListener {
|
||||
+3
-5
@@ -1,12 +1,10 @@
|
||||
package com.yandex.div.core.view
|
||||
package com.yandex.div.internal.view
|
||||
|
||||
import android.view.ViewTreeObserver.OnPreDrawListener
|
||||
import com.yandex.div.core.annotations.InternalApi
|
||||
|
||||
@InternalApi
|
||||
public open class SafeDrawingPassOverrideStrategy : DrawingPassOverrideStrategy {
|
||||
open class SafeDrawingPassOverrideStrategy : DrawingPassOverrideStrategy {
|
||||
|
||||
public var frameCancelLimit: Int = DEFAULT_FRAME_CANCEL_LIMIT
|
||||
var frameCancelLimit: Int = DEFAULT_FRAME_CANCEL_LIMIT
|
||||
set(value) {
|
||||
if (field != value) {
|
||||
field = value
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
package com.yandex.div.internal.widget
|
||||
|
||||
import android.view.ViewTreeObserver
|
||||
import com.yandex.div.core.view.DrawingPassOverrideStrategy
|
||||
import com.yandex.div.core.view.onPreDrawListener
|
||||
import com.yandex.div.internal.view.DrawingPassOverrideStrategy
|
||||
import com.yandex.div.internal.view.onPreDrawListener
|
||||
import com.yandex.div.internal.KLog
|
||||
|
||||
/**
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@ import android.util.AttributeSet
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.annotation.VisibleForTesting
|
||||
import com.yandex.div.R
|
||||
import com.yandex.div.core.view.DrawingPassOverrideStrategy
|
||||
import com.yandex.div.internal.view.DrawingPassOverrideStrategy
|
||||
|
||||
open class EllipsizedTextView @JvmOverloads constructor(
|
||||
context: Context,
|
||||
|
||||
@@ -3,7 +3,7 @@ package com.yandex.div.core.widget
|
||||
import android.view.View
|
||||
import android.view.ViewTreeObserver
|
||||
import android.widget.TextView
|
||||
import com.yandex.div.core.view.DrawingPassOverrideStrategy
|
||||
import com.yandex.div.internal.view.DrawingPassOverrideStrategy
|
||||
import org.junit.Assert
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
|
||||
Reference in New Issue
Block a user