Package-level declarations
Types
Link copied to clipboard
Renders a SnapshotChangeList into a target view by creating all of the widgets and assigning their properties.
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
A simple in-memory state store.
Link copied to clipboard
interface StateStore
All functions are invoked on the UI dispatcher.
Link copied to clipboard
Manages the Zipline runtimes that run the code to power on-screen views.
Link copied to clipboard
Link copied to clipboard
One of the trickiest things Treehouse needs to do is balance its two dispatchers:
Link copied to clipboard
open class TreehouseLayout(context: Context, val widgetSystem: TreehouseView.WidgetSystem<View>, androidOnBackPressedDispatcher: OnBackPressedDispatcher, val dynamicContentWidgetFactory: DynamicContentWidgetFactory<View> = EmptyDynamicContentWidgetFactory(context)) : RedwoodLayout, TreehouseView<View>
Link copied to clipboard
open class TreehouseUIView(val widgetSystem: TreehouseView.WidgetSystem<UIView>, val dynamicContentWidgetFactory: DynamicContentWidgetFactory<UIView>) : RedwoodUIView, TreehouseView<UIView>
Link copied to clipboard
Functions
Link copied to clipboard
Binds this content to view whenever the view is ready for content. The content will bind and unbind as this view is attached and detached from the UI.
fun <A : AppService, W : Any> TreehouseContentSource<A>.bindWhenReady(view: TreehouseView<W>, app: TreehouseApp<A>): Closeable
Link copied to clipboard
fun TreehouseAppFactory(context: Context, httpClient: ZiplineHttpClient, manifestVerifier: ManifestVerifier, embeddedFileSystem: FileSystem? = null, embeddedDir: Path? = null, cacheName: String = "zipline", cacheMaxSizeInBytes: Long = 50L * 1024L * 1024L, loaderEventListener: LoaderEventListener = LoaderEventListener.None, concurrentDownloads: Int = 8, stateStore: StateStore = MemoryStateStore(), leakDetector: LeakDetector = LeakDetector.none()): TreehouseApp.Factory
fun TreehouseAppFactory(context: Context, httpClient: OkHttpClient, manifestVerifier: ManifestVerifier, embeddedFileSystem: FileSystem? = null, embeddedDir: Path? = null, cacheName: String = "zipline", cacheMaxSizeInBytes: Long = 50L * 1024L * 1024L, loaderEventListener: LoaderEventListener = LoaderEventListener.None, concurrentDownloads: Int = 8, stateStore: StateStore = MemoryStateStore(), leakDetector: LeakDetector = LeakDetector.none()): TreehouseApp.Factory
fun TreehouseAppFactory(httpClient: ZiplineHttpClient, manifestVerifier: ManifestVerifier, embeddedFileSystem: FileSystem? = null, embeddedDir: Path? = null, cacheName: String = "zipline", cacheMaxSizeInBytes: Long = 50L * 1024L * 1024L, concurrentDownloads: Int = 8, loaderEventListener: LoaderEventListener = LoaderEventListener.None, stateStore: StateStore = MemoryStateStore(), leakDetector: LeakDetector = LeakDetector.none()): TreehouseApp.Factory