### Build Variants and Product Flavors Source: https://github.com/azrael8576/teachlink/blob/main/README.md Details the application's build variants and product flavors, used to control data loading sources and enable different build configurations for development and testing. ```APIDOC Build Variants: - debug: Standard debug build. - release: Standard release build. Product Flavors: - demo: - Uses static local data. - Allows immediate app creation and UI exploration. - prod: - Makes real network requests to a backend server. - Provides the latest content. Recommended Variants: - demoDebug: For normal development. - demoRelease: For UI performance testing (as per Compose performance best practices). ``` -------------------------------- ### MVI Architecture Utilities Source: https://github.com/azrael8576/teachlink/blob/main/README.md Encapsulates common patterns for MVI architecture, including a base ViewModel, StateFlow extensions, and data source result handling. Also includes Jetpack Compose UI components for Collapsing Toolbar with scroll behavior flags. ```APIDOC BaseViewModel: - Provides MutableStateFlow for UI state subscription. - Provides dispatch() abstract method for event handling. - dispatch() method: - Purpose: Unified event dispatching for View-ViewModel decoupling. - Benefits: Easier log analysis and subsequent processing. StateFlowStateExtensions.kt: - Encapsulates UI StateFlow streams for convenient operations. DataSourceResult.kt: - Sealed class encapsulating data source states: Success, Error, Loading. Collapsing Toolbar Components (Jetpack Compose): - Located in designsystem/ui/management/states/topappbar/. - Implements Collapsing Toolbar functionality with scroll behavior flags. - Supports flags like EnterAlwaysCollapsedState, EnterAlwaysState, ExitUntilCollapsedState, ScrollState. - Example Usage: See ScheduleScreen with Snap animation. ``` -------------------------------- ### Android Application Convention Plugin Source: https://github.com/azrael8576/teachlink/blob/main/build-logic/README.md Configures common Android and Kotlin options for application modules. This plugin is applied to Android application subprojects. ```gradle plugins { id("tl.android.application") } ``` -------------------------------- ### Android Library Convention Plugin Source: https://github.com/azrael8576/teachlink/blob/main/build-logic/README.md Configures common Android and Kotlin options for library modules. This plugin is applied to Android library subprojects. ```gradle plugins { id("tl.android.library") } ``` -------------------------------- ### Android Library Compose Convention Plugin Source: https://github.com/azrael8576/teachlink/blob/main/build-logic/README.md Configures Jetpack Compose options specifically for Android library modules. This plugin extends the base Android library configuration. ```gradle plugins { id("tl.android.library.compose") } ``` -------------------------------- ### Android Application Compose Convention Plugin Source: https://github.com/azrael8576/teachlink/blob/main/build-logic/README.md Configures Jetpack Compose options specifically for Android application modules. This plugin extends the base Android application configuration. ```gradle plugins { id("tl.android.application.compose") } ``` -------------------------------- ### Android Test Convention Plugin Source: https://github.com/azrael8576/teachlink/blob/main/build-logic/README.md Configures common testing options for Android modules. This plugin is applied to subprojects requiring shared test configurations. ```gradle plugins { id("tl.android.test") } ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.