├── settings.gradle
├── library
├── src
│ ├── test
│ │ ├── resources
│ │ │ └── mockito-extensions
│ │ │ │ └── org.mockito.plugins.MockMaker
│ │ └── java
│ │ │ └── io
│ │ │ └── github
│ │ │ └── luizgrp
│ │ │ └── sectionedrecyclerviewadapter
│ │ │ ├── tools
│ │ │ ├── DummyViewAdapterFake.java
│ │ │ ├── TestScenario.java
│ │ │ ├── Scenario4.java
│ │ │ ├── Scenario1.java
│ │ │ └── Scenario2.java
│ │ │ ├── SectionPositionIdentifierEmptyAdapterTest.java
│ │ │ ├── SectionNotifierScenario3Test.java
│ │ │ ├── SectionNotifierScenario2Test.java
│ │ │ ├── SectionedRecyclerViewAdapterScenario4Test.java
│ │ │ ├── SectionAdapterListUpdateCallbackTest.java
│ │ │ └── SectionedRecyclerViewAdapterRealSectionsScenarioTest.java
│ └── main
│ │ ├── AndroidManifest.xml
│ │ └── java
│ │ └── io
│ │ └── github
│ │ └── luizgrp
│ │ └── sectionedrecyclerviewadapter
│ │ ├── utils
│ │ └── EmptyViewHolder.java
│ │ ├── SectionAdapterListUpdateCallback.java
│ │ └── SectionPositionIdentifier.java
├── build_files
│ ├── jacoco.gradle
│ ├── static-code-analysis.gradle
│ └── android-release-aar.gradle
├── proguard-rules.pro
└── build.gradle
├── art
├── sc1.png
├── sc2.png
├── sc3.png
├── sc4.png
└── demosc.png
├── app
├── src
│ └── main
│ │ ├── ic_launcher-web.png
│ │ ├── res
│ │ ├── mipmap-hdpi
│ │ │ └── ic_launcher.png
│ │ ├── mipmap-mdpi
│ │ │ └── ic_launcher.png
│ │ ├── mipmap-xhdpi
│ │ │ └── ic_launcher.png
│ │ ├── mipmap-xxhdpi
│ │ │ └── ic_launcher.png
│ │ ├── mipmap-xxxhdpi
│ │ │ └── ic_launcher.png
│ │ ├── drawable
│ │ │ ├── ic_keyboard_arrow_up_black_18dp.xml
│ │ │ ├── ic_add_white_48dp.xml
│ │ │ ├── ic_keyboard_arrow_down_black_18dp.xml
│ │ │ ├── ic_keyboard_arrow_right_black_18dp.xml
│ │ │ ├── selector_btn.xml
│ │ │ ├── ic_movie_black_48dp.xml
│ │ │ ├── ic_view_day_black_48dp.xml
│ │ │ ├── selector_item.xml
│ │ │ ├── ic_business_black_48dp.xml
│ │ │ ├── ic_directions_run_black_48dp.xml
│ │ │ ├── ic_public_black_48dp.xml
│ │ │ ├── ic_tag_faces_black_48dp.xml
│ │ │ ├── ic_cloud_off_black_48dp.xml
│ │ │ ├── ic_devices_other_black_48dp.xml
│ │ │ ├── ic_face_black_48dp.xml
│ │ │ └── ic_monetization_on_black_24dp.xml
│ │ ├── values-v21
│ │ │ └── styles.xml
│ │ ├── values-w820dp
│ │ │ └── dimens.xml
│ │ ├── menu
│ │ │ ├── menu_ex7.xml
│ │ │ └── activity_home_drawer.xml
│ │ ├── values
│ │ │ ├── dimens.xml
│ │ │ ├── styles.xml
│ │ │ ├── colors.xml
│ │ │ └── strings.xml
│ │ ├── layout
│ │ │ ├── fragment_ex1.xml
│ │ │ ├── fragment_ex2.xml
│ │ │ ├── fragment_ex3.xml
│ │ │ ├── fragment_ex4.xml
│ │ │ ├── fragment_ex5.xml
│ │ │ ├── fragment_ex6.xml
│ │ │ ├── fragment_ex7.xml
│ │ │ ├── fragment_ex9.xml
│ │ │ ├── fragment_home.xml
│ │ │ ├── section_ex3_loading.xml
│ │ │ ├── section_ex8_loading.xml
│ │ │ ├── section_ex8_empty.xml
│ │ │ ├── section_ex8_failed.xml
│ │ │ ├── content_home.xml
│ │ │ ├── fragment_ex8.xml
│ │ │ ├── section_ex2_footer.xml
│ │ │ ├── section_ex3_footer.xml
│ │ │ ├── section_ex3_failed.xml
│ │ │ ├── section_ex1_header.xml
│ │ │ ├── section_ex7_header.xml
│ │ │ ├── section_ex2_header.xml
│ │ │ ├── section_ex3_header.xml
│ │ │ ├── activity_home.xml
│ │ │ ├── section_ex1_item.xml
│ │ │ ├── section_ex4_item.xml
│ │ │ ├── section_ex7_item.xml
│ │ │ ├── section_ex6_header.xml
│ │ │ ├── app_bar_home.xml
│ │ │ ├── section_ex5_header.xml
│ │ │ ├── nav_header_home.xml
│ │ │ ├── section_ex4_header.xml
│ │ │ ├── section_ex2_item.xml
│ │ │ ├── section_ex3_item.xml
│ │ │ ├── section_ex8_item.xml
│ │ │ ├── section_ex6_item.xml
│ │ │ ├── section_ex5_item.xml
│ │ │ └── section_ex9_watchlist_header.xml
│ │ └── navigation
│ │ │ └── nav_graph.xml
│ │ ├── java
│ │ └── io
│ │ │ └── github
│ │ │ └── luizgrp
│ │ │ └── sectionedrecyclerviewadapter
│ │ │ └── demo
│ │ │ ├── example7
│ │ │ ├── FilterableSection.java
│ │ │ ├── Contact.java
│ │ │ ├── HeaderViewHolder.java
│ │ │ ├── ItemViewHolder.java
│ │ │ ├── LoadContactsUseCase.java
│ │ │ └── ContactsSection.java
│ │ │ ├── example6
│ │ │ ├── Movie.java
│ │ │ ├── ItemViewHolder.java
│ │ │ ├── HeaderViewHolder.java
│ │ │ ├── LoadMoviesUseCase.java
│ │ │ ├── ExpandableMovieSection.java
│ │ │ └── Example6Fragment.java
│ │ │ ├── example5
│ │ │ ├── Movie.java
│ │ │ ├── HeaderViewHolder.java
│ │ │ ├── ItemViewHolder.java
│ │ │ ├── LoadMoviesUseCase.java
│ │ │ ├── MovieSection.java
│ │ │ └── Example5Fragment.java
│ │ │ ├── example1
│ │ │ ├── Contact.java
│ │ │ ├── HeaderViewHolder.java
│ │ │ ├── ItemViewHolder.java
│ │ │ ├── LoadContactsUseCase.java
│ │ │ ├── ContactsSection.java
│ │ │ └── Example1Fragment.java
│ │ │ ├── example4
│ │ │ ├── Contact.java
│ │ │ ├── ItemViewHolder.java
│ │ │ ├── HeaderViewHolder.java
│ │ │ ├── LoadContactsUseCase.java
│ │ │ ├── ExpandableContactsSection.java
│ │ │ └── Example4Fragment.java
│ │ │ ├── example2
│ │ │ ├── FooterViewHolder.java
│ │ │ ├── News.java
│ │ │ ├── HeaderViewHolder.java
│ │ │ ├── ItemViewHolder.java
│ │ │ ├── LoadNewsUseCase.java
│ │ │ ├── NewsSection.java
│ │ │ └── Example2Fragment.java
│ │ │ ├── example3
│ │ │ ├── FooterViewHolder.java
│ │ │ ├── News.java
│ │ │ ├── FailedViewHolder.java
│ │ │ ├── HeaderViewHolder.java
│ │ │ ├── ItemViewHolder.java
│ │ │ └── LoadNewsUseCase.java
│ │ │ ├── example8
│ │ │ ├── Person.java
│ │ │ ├── ItemViewHolder.java
│ │ │ ├── PersonListDiffCallback.java
│ │ │ └── HeaderViewHolder.java
│ │ │ ├── example9
│ │ │ ├── WatchItem.java
│ │ │ ├── PortfolioHeaderViewHolder.java
│ │ │ ├── WatchItemViewHolder.java
│ │ │ ├── PortfolioItem.java
│ │ │ ├── PortfolioItemViewHolder.java
│ │ │ └── WatchListSection.java
│ │ │ ├── HomeFragment.java
│ │ │ ├── info
│ │ │ ├── SectionInfoFactory.java
│ │ │ ├── SectionItemInfoFactory.java
│ │ │ ├── SectionItemInfo.java
│ │ │ └── SectionInfo.java
│ │ │ └── HomeActivity.java
│ │ └── AndroidManifest.xml
├── proguard-rules.pro
└── build.gradle
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── .gitignore
├── .travis.yml
├── gradle.properties
├── .github
└── ISSUE_TEMPLATE
│ ├── feature_request.md
│ ├── bug_report.md
│ ├── question.md
│ └── pull-request.md
├── LICENSE
├── config
└── pmd-ruleset.xml
├── CONTRIBUTING.md
└── gradlew.bat
/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app', ':library'
2 |
--------------------------------------------------------------------------------
/library/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker:
--------------------------------------------------------------------------------
1 | mock-maker-inline
--------------------------------------------------------------------------------
/art/sc1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luizgrp/SectionedRecyclerViewAdapter/HEAD/art/sc1.png
--------------------------------------------------------------------------------
/art/sc2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luizgrp/SectionedRecyclerViewAdapter/HEAD/art/sc2.png
--------------------------------------------------------------------------------
/art/sc3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luizgrp/SectionedRecyclerViewAdapter/HEAD/art/sc3.png
--------------------------------------------------------------------------------
/art/sc4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luizgrp/SectionedRecyclerViewAdapter/HEAD/art/sc4.png
--------------------------------------------------------------------------------
/art/demosc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luizgrp/SectionedRecyclerViewAdapter/HEAD/art/demosc.png
--------------------------------------------------------------------------------
/app/src/main/ic_launcher-web.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luizgrp/SectionedRecyclerViewAdapter/HEAD/app/src/main/ic_launcher-web.png
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luizgrp/SectionedRecyclerViewAdapter/HEAD/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luizgrp/SectionedRecyclerViewAdapter/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luizgrp/SectionedRecyclerViewAdapter/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luizgrp/SectionedRecyclerViewAdapter/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luizgrp/SectionedRecyclerViewAdapter/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/luizgrp/SectionedRecyclerViewAdapter/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/library/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |