Skip to content

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.