Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 48 additions & 0 deletions packages/react-native/ReactAndroid/api/ReactAndroid.api
Original file line number Diff line number Diff line change
Expand Up @@ -5429,6 +5429,30 @@ public abstract interface class com/facebook/react/views/scroll/FpsListener {
public abstract fun isEnabled ()Z
}

public final class com/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper : com/facebook/react/bridge/UIManagerListener {
public fun <init> (Landroid/view/ViewGroup;Z)V
public fun didDispatchMountItems (Lcom/facebook/react/bridge/UIManager;)V
public fun didMountItems (Lcom/facebook/react/bridge/UIManager;)V
public fun didScheduleMountItems (Lcom/facebook/react/bridge/UIManager;)V
public final fun getConfig ()Lcom/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper$Config;
public final fun setConfig (Lcom/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper$Config;)V
public final fun start ()V
public final fun stop ()V
public fun willDispatchViewUpdates (Lcom/facebook/react/bridge/UIManager;)V
public fun willMountItems (Lcom/facebook/react/bridge/UIManager;)V
}

public final class com/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper$Config {
public static final field Companion Lcom/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper$Config$Companion;
public static final fun fromReadableMap (Lcom/facebook/react/bridge/ReadableMap;)Lcom/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper$Config;
public final fun getAutoScrollToTopThreshold ()Ljava/lang/Integer;
public final fun getMinIndexForVisible ()I
}

public final class com/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper$Config$Companion {
public final fun fromReadableMap (Lcom/facebook/react/bridge/ReadableMap;)Lcom/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper$Config;
}

public final class com/facebook/react/views/scroll/OnScrollDispatchHelper {
public fun <init> ()V
public final fun getXFlingVelocity ()F
Expand All @@ -5451,6 +5475,7 @@ public final class com/facebook/react/views/scroll/ReactHorizontalScrollContaine
public class com/facebook/react/views/scroll/ReactHorizontalScrollView : android/widget/HorizontalScrollView, android/view/View$OnLayoutChangeListener, android/view/ViewGroup$OnHierarchyChangeListener, com/facebook/react/uimanager/ReactClippingViewGroup, com/facebook/react/uimanager/ReactOverflowViewWithInset, com/facebook/react/views/scroll/ReactAccessibleScrollView, com/facebook/react/views/scroll/ReactScrollViewHelper$HasFlingAnimator, com/facebook/react/views/scroll/ReactScrollViewHelper$HasScrollEventThrottle, com/facebook/react/views/scroll/ReactScrollViewHelper$HasScrollState, com/facebook/react/views/scroll/ReactScrollViewHelper$HasSmoothScroll, com/facebook/react/views/scroll/ReactScrollViewHelper$HasStateWrapper, com/facebook/react/views/scroll/VirtualViewContainer {
public fun <init> (Landroid/content/Context;)V
public fun <init> (Landroid/content/Context;Lcom/facebook/react/views/scroll/FpsListener;)V
public synthetic fun <init> (Landroid/content/Context;Lcom/facebook/react/views/scroll/FpsListener;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
public fun abortAnimation ()V
public fun addFocusables (Ljava/util/ArrayList;II)V
public fun arrowScroll (I)Z
Expand Down Expand Up @@ -5598,6 +5623,7 @@ public final class com/facebook/react/views/scroll/ReactHorizontalScrollViewMana
public class com/facebook/react/views/scroll/ReactScrollView : android/widget/ScrollView, android/view/View$OnLayoutChangeListener, android/view/ViewGroup$OnHierarchyChangeListener, com/facebook/react/uimanager/ReactClippingViewGroup, com/facebook/react/uimanager/ReactOverflowViewWithInset, com/facebook/react/views/scroll/ReactAccessibleScrollView, com/facebook/react/views/scroll/ReactScrollViewHelper$HasFlingAnimator, com/facebook/react/views/scroll/ReactScrollViewHelper$HasScrollEventThrottle, com/facebook/react/views/scroll/ReactScrollViewHelper$HasScrollState, com/facebook/react/views/scroll/ReactScrollViewHelper$HasSmoothScroll, com/facebook/react/views/scroll/ReactScrollViewHelper$HasStateWrapper, com/facebook/react/views/scroll/VirtualViewContainer {
public fun <init> (Landroid/content/Context;)V
public fun <init> (Landroid/content/Context;Lcom/facebook/react/views/scroll/FpsListener;)V
public synthetic fun <init> (Landroid/content/Context;Lcom/facebook/react/views/scroll/FpsListener;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
public fun abortAnimation ()V
public fun dispatchGenericMotionEvent (Landroid/view/MotionEvent;)Z
public fun draw (Landroid/graphics/Canvas;)V
Expand Down Expand Up @@ -5925,6 +5951,28 @@ public abstract interface class com/facebook/react/views/scroll/VirtualView {
public abstract fun onModeChange (Lcom/facebook/react/views/virtual/VirtualViewMode;Landroid/graphics/Rect;)V
}

public abstract class com/facebook/react/views/scroll/VirtualViewContainerState {
public static final field Companion Lcom/facebook/react/views/scroll/VirtualViewContainerState$Companion;
public fun <init> (Landroid/view/ViewGroup;)V
public static final fun create (Landroid/view/ViewGroup;)Lcom/facebook/react/views/scroll/VirtualViewContainerState;
protected final fun getEmptyRect ()Landroid/graphics/Rect;
protected final fun getPrerenderRatio ()D
protected final fun getPrerenderRect ()Landroid/graphics/Rect;
protected final fun getScrollView ()Landroid/view/ViewGroup;
protected abstract fun getVirtualViews ()Ljava/util/Collection;
protected final fun getVisibleRect ()Landroid/graphics/Rect;
public fun onChange (Lcom/facebook/react/views/scroll/VirtualView;)V
public fun remove (Lcom/facebook/react/views/scroll/VirtualView;)V
protected abstract fun updateModes (Lcom/facebook/react/views/scroll/VirtualView;)V
public static synthetic fun updateModes$default (Lcom/facebook/react/views/scroll/VirtualViewContainerState;Lcom/facebook/react/views/scroll/VirtualView;ILjava/lang/Object;)V
protected final fun updateRects ()V
public final fun updateState ()V
}

public final class com/facebook/react/views/scroll/VirtualViewContainerState$Companion {
public final fun create (Landroid/view/ViewGroup;)Lcom/facebook/react/views/scroll/VirtualViewContainerState;
}

public class com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout : androidx/swiperefreshlayout/widget/SwipeRefreshLayout {
public fun <init> (Lcom/facebook/react/bridge/ReactContext;)V
public fun canChildScrollUp ()Z
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,12 @@ import java.lang.ref.WeakReference
* This uses UIManager to listen to updates and capture position of items before and after layout.
*/
@OptIn(UnstableReactNativeAPI::class)
internal class MaintainVisibleScrollPositionHelper<ScrollViewT>(
public class MaintainVisibleScrollPositionHelper<ScrollViewT>(
private val scrollView: ScrollViewT,
private val horizontal: Boolean,
) : UIManagerListener where ScrollViewT : HasSmoothScroll?, ScrollViewT : ViewGroup? {

var config: Config? = null
public var config: Config? = null
private var firstVisibleViewRef: WeakReference<View>? = null
private var prevFirstVisibleFrame: Rect? = null
private var isListening = false
Expand All @@ -50,11 +50,14 @@ internal class MaintainVisibleScrollPositionHelper<ScrollViewT>(
)
)

class Config
internal constructor(val minIndexForVisible: Int, val autoScrollToTopThreshold: Int?) {
companion object {
public class Config
internal constructor(
public val minIndexForVisible: Int,
public val autoScrollToTopThreshold: Int?,
) {
public companion object {
@JvmStatic
fun fromReadableMap(value: ReadableMap): Config {
public fun fromReadableMap(value: ReadableMap): Config {
val minIndexForVisible = value.getInt("minIndexForVisible")
val autoScrollToTopThreshold =
if (value.hasKey("autoscrollToTopThreshold")) value.getInt("autoscrollToTopThreshold")
Expand All @@ -65,7 +68,7 @@ internal class MaintainVisibleScrollPositionHelper<ScrollViewT>(
}

/** Start listening to view hierarchy updates. Should be called when this is created. */
fun start() {
public fun start() {
if (isListening) {
return
}
Expand All @@ -74,7 +77,7 @@ internal class MaintainVisibleScrollPositionHelper<ScrollViewT>(
}

/** Stop listening to view hierarchy updates. Should be called before this is destroyed. */
fun stop() {
public fun stop() {
if (!isListening) {
return
}
Expand Down
Loading
Loading