Project Structure
LinkSheet follows a modular architecture to separate concerns and improve build times.
Core Modules
app: The main application module. Contains the UI entry points, navigation, and glue code.config: Shared build configuration (SDK levels, JVM toolchain, repositories).
Feature Modules (features/)
app: App-list UI and model shared across settings screens.analytics: Telemetry plumbing.service: Analytics service interfaces, telemetry levels, and dialogs.aptabase: The Aptabase analytics client (debug builds only).
backup: Import/export of settings and app state.api: Backup model and interfaces.impl: The implementation and backup/restore UI.
browser: Logic for detecting and managing web browsers.devicecompat: Compatibility layers for different Android versions/ROMs.downloader: Handles file downloads.engine: Core processing logic for link matching and handling (LinkEngine).libredirect: Implementation of the LibRedirect integration.profile: Android user/work profile support.remoteconfig: Fetches and stores remote configuration/documentation resources.shizuku: Shizuku service integration code.systeminfo: Utilities for retrieving device and system information.wiki: In-app documentation/help resources.
Integration Modules (integration/)
amp2html: Converter for AMP links to standard HTML.clearurl: Logic for ClearURLs integration.embed-resolve: Logic for resolving embedded content mirrors.fastforward: Logic for the FastForward rule integration.mime-types: MIME type detection for links and downloads.
Libraries (lib/)
api: Common interfaces and API definitions (including the preference registry).bottom-sheet: The current custom bottom sheet implementation.bottom-sheet-new: The experimental rewritten bottom sheet.compose: Jetpack Compose UI components and themes.hidden-api: Hidden Android API access via HiddenApiRefine.http: Shared networking utilities.scaffold: Shared Compose scaffolding/pages.util: Shared utility classes and extensions.
Test Modules
test-lib/: Shared testing infrastructure.core: Base test classes and database test rules.fake: Fakes and test doubles.instrument: Instrumented/UI test helpers.koin: Koin test extensions.
test/e2e: End-to-end tests.