Skip to content

Commit db6f843

Browse files
committed
feat: 补充设置拦截器的便捷函数
1 parent 982fe5f commit db6f843

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

inputview-transform/src/main/kotlin/com/xiaocydx/inputview/transform/overlay/Overlay.kt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import androidx.activity.OnBackPressedDispatcher
2828
import androidx.lifecycle.Lifecycle.State.DESTROYED
2929
import androidx.lifecycle.LifecycleOwner
3030
import androidx.savedstate.SavedStateRegistryOwner
31+
import com.xiaocydx.inputview.AnimationInterceptor
3132
import com.xiaocydx.inputview.Editor
3233
import com.xiaocydx.inputview.EditorAdapter
3334
import com.xiaocydx.inputview.EditorAnimator
@@ -40,7 +41,7 @@ import com.xiaocydx.inputview.InputView
4041
* @param sceneList 跟[Overlay]关联的[Scene]集合
4142
* @param lifecycleOwner 跟[Overlay]关联的[LifecycleOwner]
4243
* @param contentAdapter 用于[Overlay.go]通知更改[Content]
43-
* @param editorAdapter 用于[Overlay.go]通知更改[Editor],
44+
* @param editorAdapter 用于[Overlay.go]通知更改[Editor]
4445
* @param editorAnimator [Overlay]的动画执行器,参与调度[Transformer]。
4546
* 当类型为[FadeEditorAnimator]时,其计算值会赋值给[TransformViews.alpha]。
4647
* @param isStatefulSceneEnabled 是否启用保存和恢复[Overlay.current]。
@@ -149,6 +150,11 @@ interface Overlay<S : Scene<*, *>> : TransformerOwner {
149150
*/
150151
fun addToOnBackPressedDispatcher(dispatcher: OnBackPressedDispatcher): Boolean
151152

153+
/**
154+
* 对构建[Overlay]时关联的[EditorAnimator]设置[AnimationInterceptor]
155+
*/
156+
fun setAnimationInterceptor(interceptor: AnimationInterceptor)
157+
152158
/**
153159
* 提供扩展函数[transform]
154160
*/

inputview-transform/src/main/kotlin/com/xiaocydx/inputview/transform/overlay/OverlayImpl.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ import androidx.lifecycle.LifecycleOwner
3636
import androidx.savedstate.SavedStateRegistry.SavedStateProvider
3737
import androidx.savedstate.SavedStateRegistryOwner
3838
import com.xiaocydx.inputview.AnimationCallback
39+
import com.xiaocydx.inputview.AnimationInterceptor
3940
import com.xiaocydx.inputview.AnimationState
4041
import com.xiaocydx.inputview.Editor
4142
import com.xiaocydx.inputview.EditorAdapter
@@ -168,6 +169,10 @@ internal class OverlayImpl<S : Scene<C, E>, C : Content, E : Editor>(
168169
return true
169170
}
170171

172+
override fun setAnimationInterceptor(interceptor: AnimationInterceptor) {
173+
editorAnimator.setAnimationInterceptor(interceptor)
174+
}
175+
171176
override fun has(transformer: Transformer): Boolean {
172177
return transformerDispatcher.has(transformer)
173178
}
@@ -291,7 +296,7 @@ internal class OverlayImpl<S : Scene<C, E>, C : Content, E : Editor>(
291296

292297
require(matchCount <= 1 && currentScene !== nextScene) {
293298
var matchError = ""
294-
if (matchCount > 1) {
299+
if (matchCount > 1) {
295300
val matchScene = sceneList.filter { it.editor === nextEditor }
296301
matchError = "\n| Overlay.sceneList中${matchScene}的Scene.editor都等于nextEditor,"
297302
}

0 commit comments

Comments
 (0)