• Stars
    star
    117
  • Rank 290,911 (Top 6 %)
  • Language
    Java
  • License
    BSD 3-Clause "New...
  • Created almost 4 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Bringing reactive dataflow to RecyclerViews

Recycling Center

Recycling Center is a library designed to support a pattern: reactive, unidirectional data flow using immutable ViewModels. It combines the reactive data flow of RxJava with the efficient UI of a RecyclerView, and supports UI composition via Sections of Views and ViewModels.

pipeline

Getting Started

Recycling Center uses several primitives to create an efficient RecyclerView. See the Adding a Custom View guide for how they fit together, and a code sample to see it in action.

  • AdapterViewType: Each view in the RecyclerView has an enumerated type.
  • AdapterViewModel: Contains all the data needed to render a view, ideally including any formatting.
  • ViewBinding: Binding code that connects a ViewModel to its View.

A ViewFactory creates a View from an AdapterViewType. The ViewFactory supports background-inflated views from a ViewPrefetcher.

The Recycling Center RecyclerView.Adapter adhere to the ViewModelAdapter interface. There are a few different adapters for different use-cases:

Instead of Lists of ViewModels, the Recycling Center uses a Seekable interface to bring content to an Adapter. This simplified interface supports simple list-based binding via Seekables.copyOf(list) or efficient, fluid binding from a Cursor or other seekable stream of data.

Resources

More Repositories

1

KeyDB

A Multithreaded Fork of Redis
C++
10,454
star
2

dagger-browser

Simple tool for browsing Dagger graphs generated via an SPI plugin
TypeScript
312
star
3

ModJS

A Javascript Module for KeyDB and Redis
C
189
star
4

djinni

A tool for generating cross-language type declarations and interface bindings. Djinni's new home is in the Snapchat org.
C++
163
star
5

creative-kit-sample

Sample Apps For Creative Kit
Swift
129
star
6

camera-kit-reference

Documentation and samples of Snap's Camera Kit SDK. For the high-level documentation of Camera Kit, please visit: https://docs.snap.com/snap-kit/camera-kit/home
85
star
7

NextMind

Documentation (incl. tutorials, Unity assets and API reference) for the NextMind SDK
80
star
8

login-kit-sample

Sample App For Login Kit
Java
65
star
9

snapml-templates

Jupyter Notebook
55
star
10

storykit

This repo contains the tutorial and sample code of using story kit.
JavaScript
54
star
11

lens-studio-templates

Lens Studio Templates
JavaScript
46
star
12

aws-support-tickets-aggregator

AWS support tickets aggregation service
Python
42
star
13

passport-snapchat

Snapchat (OAuth 2.0) authorization strategy for PassportJS
TypeScript
39
star
14

express-4.x-passport-snapchat-example

Express 4.x app using Passport for authorization with Snapchat.
JavaScript
34
star
15

bitmoji-kit-sample

Sample Apps for Bitmoji Kit
Swift
24
star
16

camera-kit-unity-sample

Sample app for Camera Kit in Unity
JavaScript
24
star
17

stuffing

Stuff multiple Applications into a single APK
Kotlin
22
star
18

KeyDB-docs

KeyDB's official documentation repo
JavaScript
14
star
19

snapchat-google-tag-manager

Snap Pixel Google Tag Manager Community Template
Smarty
14
star
20

snap-kit-carthage

Mirror for Carthage artifacts in GCS
Shell
11
star
21

ad-kit-ios

Ad Kit SDK for iOS
Objective-C
11
star
22

snap-kit-spm

Objective-C
10
star
23

snap-for-developers-sample

8
star
24

minis-samples

Sample Snap Minis
TypeScript
7
star
25

launchpad

Java
7
star
26

snap-kit-firebase-extensions

TypeScript
7
star
27

business-sdk-python

Python
4
star
28

pixel-server-gateway

JavaScript
4
star
29

business-sdk-go

Go
4
star
30

app-ads-kit-ios

Snap App Ads Kit SDK for iOS
Objective-C
4
star
31

business-sdk-php

PHP
4
star
32

business-sdk-java

Java
3
star
33

business-sdk-ruby

Ruby
3
star
34

capi-google-tag-manager-serverside-tag

Google Tag Manager Community Template For Snap Conversion API
Smarty
3
star
35

camera-kit-flutter-sample

Camera Kit sample app using Flutter wrapper
Swift
2
star