/** * Copyright (c) Facebook, Inc. and its affiliates. * *

This source code is licensed under the MIT license found in the LICENSE file in the root * directory of this source tree. */ package com.facebook.react.touch; import android.view.ViewGroup; /** * This interface should be implemented by all {@link ViewGroup} subviews that can be instantiating * by {@link NativeViewHierarchyManager}. It is used to configure onInterceptTouch event listener * which then is used to control touch event flow in cases in which they requested to be intercepted * by some parent view based on a JS gesture detector. */ public interface ReactInterceptingViewGroup { /** * A {@link ViewGroup} instance that implement this interface is responsible for storing the * listener passed as an argument and then calling {@link * OnInterceptTouchEventListener#onInterceptTouchEvent} from {@link * ViewGroup#onInterceptTouchEvent} and returning the result. If some custom handling of this * method apply for the view, it should be called after the listener returns and only in a case * when it returns false. * * @param listener A callback that {@link ViewGroup} should delegate calls for {@link * ViewGroup#onInterceptTouchEvent} to */ void setOnInterceptTouchEventListener(OnInterceptTouchEventListener listener); }