gitextract_m_pj7wzf/ ├── .github/ │ └── workflows/ │ └── build.yml ├── .gitignore ├── CHANGELOG.md ├── LICENSE.txt ├── README.md ├── RELEASING.md ├── build.gradle ├── gradle/ │ ├── gradle-mvn-push.gradle │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── rxbinding/ │ ├── build.gradle │ ├── gradle.properties │ └── src/ │ ├── androidTest/ │ │ ├── AndroidManifest.xml │ │ ├── java/ │ │ │ └── com/ │ │ │ └── jakewharton/ │ │ │ └── rxbinding4/ │ │ │ ├── internal/ │ │ │ │ └── MainThreadKtTest.java │ │ │ ├── view/ │ │ │ │ ├── RxMenuItemTest.java │ │ │ │ ├── RxViewAttachTest.java │ │ │ │ ├── RxViewAttachTestActivity.java │ │ │ │ ├── RxViewGroupTest.java │ │ │ │ ├── RxViewSystemUiVisibilityTest.java │ │ │ │ ├── RxViewSystemUiVisibilityTestActivity.java │ │ │ │ └── RxViewTest.java │ │ │ └── widget/ │ │ │ ├── RxAbsListViewTest.java │ │ │ ├── RxAbsListViewTestActivity.java │ │ │ ├── RxAdapterTest.java │ │ │ ├── RxAdapterViewTest.java │ │ │ ├── RxAdapterViewTestActivity.java │ │ │ ├── RxAutoCompleteTextViewTest.java │ │ │ ├── RxAutoCompleteTextViewTestActivity.java │ │ │ ├── RxCompoundButtonTest.java │ │ │ ├── RxPopupMenuTest.java │ │ │ ├── RxPopupMenuTestActivity.java │ │ │ ├── RxRadioGroupTest.java │ │ │ ├── RxRatingBarTest.java │ │ │ ├── RxRatingBarTestActivity.java │ │ │ ├── RxSearchViewTest.java │ │ │ ├── RxSearchViewTestActivity.java │ │ │ ├── RxSeekBarTest.java │ │ │ ├── RxSeekBarTestActivity.java │ │ │ ├── RxTextViewTest.java │ │ │ ├── RxToolbarTest.java │ │ │ └── RxToolbarTestActivity.java │ │ └── res/ │ │ ├── drawable/ │ │ │ └── icon.xml │ │ └── values/ │ │ ├── ids.xml │ │ └── strings.xml │ └── main/ │ ├── AndroidManifest.xml │ └── java/ │ └── com/ │ └── jakewharton/ │ └── rxbinding4/ │ ├── InitialValueObservable.kt │ ├── internal/ │ │ ├── mainThread.kt │ │ └── true.kt │ ├── view/ │ │ ├── MenuItemActionViewEvent.kt │ │ ├── MenuItemActionViewEventObservable.kt │ │ ├── MenuItemClickObservable.kt │ │ ├── ViewAttachEvent.kt │ │ ├── ViewAttachEventObservable.kt │ │ ├── ViewAttachesObservable.kt │ │ ├── ViewClickObservable.kt │ │ ├── ViewDragObservable.kt │ │ ├── ViewFocusChangeObservable.kt │ │ ├── ViewGroupHierarchyChangeEvent.kt │ │ ├── ViewGroupHierarchyChangeEventObservable.kt │ │ ├── ViewHoverObservable.kt │ │ ├── ViewKeyObservable.kt │ │ ├── ViewLayoutChangeEventObservable.kt │ │ ├── ViewLayoutChangeObservable.kt │ │ ├── ViewLongClickObservable.kt │ │ ├── ViewScrollChangeEventObservable.kt │ │ ├── ViewSystemUiVisibilityChangeObservable.kt │ │ ├── ViewTouchObservable.kt │ │ ├── ViewTreeObserverDrawObservable.kt │ │ ├── ViewTreeObserverGlobalLayoutObservable.kt │ │ ├── ViewTreeObserverPreDrawObservable.kt │ │ └── ViewVisibilityConsumer.kt │ └── widget/ │ ├── AbsListViewScrollEventObservable.kt │ ├── AdapterDataChangeObservable.kt │ ├── AdapterViewItemClickEventObservable.kt │ ├── AdapterViewItemClickObservable.kt │ ├── AdapterViewItemLongClickEventObservable.kt │ ├── AdapterViewItemLongClickObservable.kt │ ├── AdapterViewItemSelectionObservable.kt │ ├── AdapterViewSelectionEvent.kt │ ├── AdapterViewSelectionObservable.kt │ ├── AutoCompleteTextViewItemClickEventObservable.kt │ ├── CompoundButtonCheckedChangeObservable.kt │ ├── PopupMenuDismissObservable.kt │ ├── PopupMenuItemClickObservable.kt │ ├── RadioGroupCheckedChangeObservable.kt │ ├── RadioGroupToggleCheckedConsumer.kt │ ├── RatingBarRatingChangeEventObservable.kt │ ├── RatingBarRatingChangeObservable.kt │ ├── SearchViewQueryConsumer.kt │ ├── SearchViewQueryTextChangeEventsObservable.kt │ ├── SearchViewQueryTextChangesObservable.kt │ ├── SearchViewQueryTextEvent.kt │ ├── SeekBarChangeEvent.kt │ ├── SeekBarChangeEventObservable.kt │ ├── SeekBarChangeObservable.kt │ ├── TextViewAfterTextChangeEventObservable.kt │ ├── TextViewBeforeTextChangeEventObservable.kt │ ├── TextViewEditorActionEventObservable.kt │ ├── TextViewEditorActionObservable.kt │ ├── TextViewTextChangeEventObservable.kt │ ├── TextViewTextChangesObservable.kt │ ├── ToolbarItemClickObservable.kt │ └── ToolbarNavigationClickObservable.kt ├── rxbinding-appcompat/ │ ├── build.gradle │ ├── gradle.properties │ └── src/ │ ├── androidTest/ │ │ ├── AndroidManifest.xml │ │ └── java/ │ │ └── com/ │ │ └── jakewharton/ │ │ └── rxbinding4/ │ │ └── appcompat/ │ │ ├── RxActionMenuViewTest.java │ │ ├── RxPopupMenuTest.java │ │ ├── RxPopupMenuTestActivity.java │ │ ├── RxSearchViewTest.java │ │ ├── RxSearchViewTestActivity.java │ │ ├── RxToolbarTest.java │ │ └── RxToolbarTestActivity.java │ └── main/ │ ├── AndroidManifest.xml │ └── java/ │ └── com/ │ └── jakewharton/ │ └── rxbinding4/ │ └── appcompat/ │ ├── ActionMenuViewItemClickObservable.kt │ ├── PopupMenuDismissObservable.kt │ ├── PopupMenuItemClickObservable.kt │ ├── SearchViewQueryTextChangeEventsObservable.kt │ ├── SearchViewQueryTextChangesObservable.kt │ ├── SearchViewQueryTextEvent.kt │ ├── SearchViewSetQueryConsumer.kt │ ├── ToolbarItemClickObservable.kt │ └── ToolbarNavigationClickObservable.kt ├── rxbinding-core/ │ ├── build.gradle │ ├── gradle.properties │ └── src/ │ ├── androidTest/ │ │ ├── AndroidManifest.xml │ │ └── java/ │ │ └── com/ │ │ └── jakewharton/ │ │ └── rxbinding4/ │ │ └── core/ │ │ ├── RxNestedScrollViewTest.java │ │ └── RxNestedScrollViewTestActivity.java │ └── main/ │ ├── AndroidManifest.xml │ └── java/ │ └── com/ │ └── jakewharton/ │ └── rxbinding4/ │ └── core/ │ └── NestedScrollViewScrollChangeEventObservable.kt ├── rxbinding-drawerlayout/ │ ├── build.gradle │ ├── gradle.properties │ └── src/ │ ├── androidTest/ │ │ ├── AndroidManifest.xml │ │ └── java/ │ │ └── com/ │ │ └── jakewharton/ │ │ └── rxbinding4/ │ │ └── drawerlayout/ │ │ ├── RxDrawerLayoutTest.java │ │ └── RxDrawerLayoutTestActivity.java │ └── main/ │ ├── AndroidManifest.xml │ └── java/ │ └── com/ │ └── jakewharton/ │ └── rxbinding4/ │ └── drawerlayout/ │ ├── DrawerLayoutDrawerOpenedObservable.kt │ └── DrawerLayoutOpenConsumer.kt ├── rxbinding-leanback/ │ ├── build.gradle │ ├── gradle.properties │ └── src/ │ ├── androidTest/ │ │ ├── AndroidManifest.xml │ │ └── java/ │ │ └── com/ │ │ └── jakewharton/ │ │ └── rxbinding4/ │ │ └── leanback/ │ │ ├── RxSearchBarTest.java │ │ ├── RxSearchBarTestActivity.java │ │ ├── RxSearchEditTextTest.java │ │ └── RxSearchEditTextTestActivity.java │ └── main/ │ ├── AndroidManifest.xml │ └── java/ │ └── com/ │ └── jakewharton/ │ └── rxbinding4/ │ └── leanback/ │ ├── SearchBarSearchQueryChangeEventsObservable.kt │ ├── SearchBarSearchQueryChangesObservable.kt │ ├── SearchBarSearchQueryEvent.kt │ └── SearchEditTextKeyboardDismissObservable.kt ├── rxbinding-material/ │ ├── build.gradle │ ├── gradle.properties │ └── src/ │ ├── androidTest/ │ │ ├── AndroidManifest.xml │ │ ├── java/ │ │ │ └── com/ │ │ │ └── jakewharton/ │ │ │ └── rxbinding4/ │ │ │ └── material/ │ │ │ ├── RxAppBarLayoutTest.java │ │ │ ├── RxBottomNavigationViewTest.java │ │ │ ├── RxChipTest.kt │ │ │ ├── RxFloatingActionButtonTest.java │ │ │ ├── RxNavigationViewTest.java │ │ │ ├── RxSnackbarTest.java │ │ │ ├── RxSwipeDismissBehaviorTest.java │ │ │ ├── RxSwipeDismissBehaviorTestActivity.java │ │ │ └── RxTabLayoutTest.java │ │ └── res/ │ │ ├── menu/ │ │ │ └── menu.xml │ │ └── values/ │ │ └── strings.xml │ └── main/ │ ├── AndroidManifest.xml │ └── java/ │ └── com/ │ └── jakewharton/ │ └── rxbinding4/ │ └── material/ │ ├── AppBarLayoutOffsetChangeObservable.kt │ ├── BottomNavigationViewItemSelectionsObservable.kt │ ├── ChipCloseIconClicksObservable.kt │ ├── FloatingActionButtonVisibilityConsumer.kt │ ├── NavigationViewItemSelectionsObservable.kt │ ├── SnackbarDismissesObservable.kt │ ├── SwipeDismissBehaviorObservable.kt │ ├── TabLayoutSelectConsumer.kt │ ├── TabLayoutSelectionEvent.kt │ ├── TabLayoutSelectionEventObservable.kt │ └── TabLayoutSelectionsObservable.kt ├── rxbinding-recyclerview/ │ ├── build.gradle │ ├── gradle.properties │ └── src/ │ ├── androidTest/ │ │ ├── AndroidManifest.xml │ │ └── java/ │ │ └── com/ │ │ └── jakewharton/ │ │ └── rxbinding4/ │ │ └── recyclerview/ │ │ ├── RxRecyclerViewAdapterTest.java │ │ ├── RxRecyclerViewTest.java │ │ └── RxRecyclerViewTestActivity.java │ └── main/ │ ├── AndroidManifest.xml │ └── java/ │ └── com/ │ └── jakewharton/ │ └── rxbinding4/ │ └── recyclerview/ │ ├── RecyclerAdapterDataChangeObservable.kt │ ├── RecyclerViewChildAttachStateChangeEventObservable.kt │ ├── RecyclerViewChildAttachStateChangeEvents.kt │ ├── RecyclerViewFlingEventObservable.kt │ ├── RecyclerViewScrollEventObservable.kt │ └── RecyclerViewScrollStateChangeObservable.kt ├── rxbinding-slidingpanelayout/ │ ├── build.gradle │ ├── gradle.properties │ └── src/ │ ├── androidTest/ │ │ ├── AndroidManifest.xml │ │ └── java/ │ │ └── com/ │ │ └── jakewharton/ │ │ └── rxbinding4/ │ │ └── slidingpanelayout/ │ │ ├── RxSlidingPaneLayoutTest.java │ │ └── RxSlidingPaneLayoutTestActivity.java │ └── main/ │ ├── AndroidManifest.xml │ └── java/ │ └── com/ │ └── jakewharton/ │ └── rxbinding4/ │ └── slidingpanelayout/ │ ├── SlidingPaneLayoutOpenConsumer.kt │ ├── SlidingPaneLayoutPaneOpenedObservable.kt │ └── SlidingPaneLayoutSlideObservable.kt ├── rxbinding-swiperefreshlayout/ │ ├── build.gradle │ ├── gradle.properties │ └── src/ │ ├── androidTest/ │ │ ├── AndroidManifest.xml │ │ ├── java/ │ │ │ └── com/ │ │ │ └── jakewharton/ │ │ │ └── rxbinding4/ │ │ │ └── swiperefreshlayout/ │ │ │ ├── RxSwipeRefreshLayoutTest.java │ │ │ └── RxSwipeRefreshLayoutTestActivity.java │ │ └── res/ │ │ └── values/ │ │ └── ids.xml │ └── main/ │ ├── AndroidManifest.xml │ └── java/ │ └── com/ │ └── jakewharton/ │ └── rxbinding4/ │ └── swiperefreshlayout/ │ └── SwipeRefreshLayoutRefreshObservable.kt ├── rxbinding-viewpager/ │ ├── build.gradle │ ├── gradle.properties │ └── src/ │ ├── androidTest/ │ │ ├── AndroidManifest.xml │ │ └── java/ │ │ └── com/ │ │ └── jakewharton/ │ │ └── rxbinding4/ │ │ └── viewpager/ │ │ ├── RxViewPagerTest.java │ │ └── RxViewPagerTestActivity.java │ └── main/ │ ├── AndroidManifest.xml │ └── java/ │ └── com/ │ └── jakewharton/ │ └── rxbinding4/ │ └── viewpager/ │ ├── ViewPagerPageScrollStateChangedObservable.kt │ ├── ViewPagerPageScrolledObservable.kt │ └── ViewPagerPageSelectedObservable.kt ├── rxbinding-viewpager2/ │ ├── build.gradle │ ├── gradle.properties │ └── src/ │ ├── androidTest/ │ │ ├── AndroidManifest.xml │ │ └── java/ │ │ └── com/ │ │ └── jakewharton/ │ │ └── rxbinding4/ │ │ └── viewpager2/ │ │ ├── RxViewPager2Test.kt │ │ └── RxViewPager2TestActivity.kt │ └── main/ │ ├── AndroidManifest.xml │ └── java/ │ └── com/ │ └── jakewharton/ │ └── rxbinding4/ │ └── viewpager2/ │ ├── PageScrollStateChangedObservable.kt │ ├── PageScrolledObservable.kt │ └── PageSelectedObservable.kt ├── settings.gradle └── testing-utils/ ├── build.gradle └── src/ └── main/ ├── AndroidManifest.xml └── java/ └── com/ └── jakewharton/ └── rxbinding4/ ├── MotionEventUtil.java ├── RecordingObserver.java ├── RxBindingTestRunner.java ├── TouchUtilsBackport.java ├── UnsafeRunnable.java └── ViewDirtyIdlingResource.java