Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/generate_dokka.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,10 +58,10 @@ jobs:
run: |
cd $GITHUB_WORKSPACE/src/
chmod +x gradlew
./gradlew docs:dokkaGeneratePublicationHtml
./gradlew dokkaGeneratePublicationHtml
- name: Copy Dokka
run: cp -r $GITHUB_WORKSPACE/src/docs/build/dokka/html/* $GITHUB_WORKSPACE/dokka/
run: cp -r $GITHUB_WORKSPACE/build/dokka/html/* $GITHUB_WORKSPACE/dokka/

- name: Push builds
run: |
Expand Down
1 change: 1 addition & 0 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -286,6 +286,7 @@ dokka {
moduleName = "App"
dokkaSourceSets {
main {
includes.setFrom("packages.md")
analysisPlatform = KotlinPlatform.JVM
documentedVisibilities(
VisibilityModifier.Public,
Expand Down
233 changes: 233 additions & 0 deletions app/packages.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,233 @@
# Module App

CloudStream Android application module providing the user interface and core functionality for the
streaming app.

# Package com.lagradost.cloudstream3

Root package containing core application classes and main entry points.

## Main Classes

- **CloudStreamApp** - Application class with initialization and crash handling
- **MainActivity** - Main activity handling app lifecycle
- **CommonActivity** - Base activity class with common functionality
- **AcraApplication** - Crash reporting integration

# Package com.lagradost.cloudstream3.actions

Action implementations for handling various video playback intents and external app integration.

# Package com.lagradost.cloudstream3.actions.temp

External app integration packages for video playback:
- VLC, MX Player, MPV, LibreTorrent, Just Player, etc.
- Web video casting and clipboard actions
- ChromeCast support

# Package com.lagradost.cloudstream3.mvvm

MVVM architecture components including ViewModel extensions and lifecycle management.

# Package com.lagradost.cloudstream3.network

Network utilities including:

- RequestsHelper - HTTP request handling
- CloudflareKiller - Cloudflare bypass
- DohProviders - DNS over HTTPS providers

# Package com.lagradost.cloudstream3.plugins

Plugin management system:

- Plugin - Plugin data model
- PluginManager - Plugin lifecycle management
- RepositoryManager - Plugin repository handling

# Package com.lagradost.cloudstream3.receivers

Broadcast receivers for system events and notifications.

# Package com.lagradost.cloudstream3.services

Background services:

- VideoDownloadService - Video download handling
- DownloadQueueService - Download queue management
- SubscriptionWorkManager - Anime/manga subscription updates
- BackupWorkManager - Data backup automation

# Package com.lagradost.cloudstream3.subtitles

Subtitle processing and selection utilities.

# Package com.lagradost.cloudstream3.syncproviders

Sync providers for tracking anime/manga watch history:

- AniListApi - AniList integration
- MALApi - MyAnimeList integration
- KitsuApi - Kitsu integration
- SimklApi - SIMKL integration

# Package com.lagradost.cloudstream3.syncproviders.providers

API implementations for sync providers:

- AniListApi - AniList API implementation
- MALApi - MyAnimeList API implementation
- KitsuApi - Kitsu API implementation
- SimklApi - SIMKL API implementation
- LocalList - Local list storage
- OpenSubtitlesApi - OpenSubtitles API
- Subdl, Addic7ed - Subtitle sources

# Package com.lagradost.cloudstream3.ui

User interface components including player, fragments, and dialogs.

# Package com.lagradost.cloudstream3.ui.account

Account management:
- AccountSelectActivity - Account selection UI
- AccountViewModel - Account state management
- AccountAdapter - Account list adapter

# Package com.lagradost.cloudstream3.ui.download

Download management:

- DownloadFragment - Download UI
- DownloadViewModel - Download state management
- DownloadAdapter - Download list adapter

# Package com.lagradost.cloudstream3.ui.download.button

Download button components:
- DownloadButton - Download button UI
- PieFetchButton - Pie-style progress button
- BaseFetchButton - Base button implementation

# Package com.lagradost.cloudstream3.ui.download.queue

Download queue management:
- DownloadQueueFragment - Queue UI
- DownloadQueueViewModel - Queue state management
- DownloadQueueAdapter - Queue list adapter

# Package com.lagradost.cloudstream3.ui.home

Home screen:
- HomeFragment - Home UI
- HomeViewModel - Home state management
- HomeParentItemAdapter, HomeChildItemAdapter - List adapters

# Package com.lagradost.cloudstream3.ui.library

Library view:
- LibraryFragment - Library UI
- LibraryViewModel - Library state management
- PageAdapter, ViewpagerAdapter - View pager adapters

# Package com.lagradost.cloudstream3.ui.player

Video player:
- FullScreenPlayer - Full screen video player
- DownloadedPlayerActivity - Downloaded video playback
- PlayerGeneratorViewModel - Player state management
- ExtractorLinkGenerator - Stream link generation

# Package com.lagradost.cloudstream3.ui.player.source_priority

Stream quality management:
- SourcePriorityDialog - Source priority UI
- QualityProfileDialog - Quality profile settings
- PriorityAdapter, ProfilesAdapter - Adapters

# Package com.lagradost.cloudstream3.ui.quicksearch

Quick search functionality:
- QuickSearchFragment - Quick search UI

# Package com.lagradost.cloudstream3.ui.result

Result/details view:
- ResultFragment - Media details UI
- ResultViewModel2 - Details state management
- EpisodeAdapter - Episode list adapter
- ActorAdaptor - Actor/cast adapter

# Package com.lagradost.cloudstream3.ui.search

Search functionality:
- SearchFragment - Search UI
- SearchViewModel - Search state management
- SearchAdaptor, SearchHistoryAdaptor - Search adapters
- SearchSuggestionAdapter - Search suggestions

# Package com.lagradost.cloudstream3.ui.settings

Settings and preferences:

- SettingsFragment - Main settings UI
- SettingsGeneral, SettingsPlayer, SettingsUI - Settings categories
- SettingsProviders, SettingsAccount, SettingsUpdates - Specific settings

# Package com.lagradost.cloudstream3.ui.settings.extensions

Extensions management:
- ExtensionsFragment - Extensions UI
- PluginsFragment, PluginDetailsFragment - Plugin management
- ExtensionsViewModel, PluginsViewModel - State management

# Package com.lagradost.cloudstream3.ui.settings.testing

Testing utilities:
- TestFragment - Testing UI
- TestViewModel - Test state management
- TestResultAdapter - Test results adapter

# Package com.lagradost.cloudstream3.ui.settings.utils

Settings utilities:
- DirectoryPicker - Directory selection dialog

# Package com.lagradost.cloudstream3.ui.setup

Initial setup wizard:
- SetupFragmentLanguage - Language setup
- SetupFragmentLayout - Layout preferences
- SetupFragmentProviderLanguage - Provider language settings
- SetupFragmentExtensions - Extension setup

# Package com.lagradost.cloudstream3.ui.subtitles

Subtitle management:
- SubtitlesFragment - Subtitle selection UI
- ChromecastSubtitlesFragment - Chromecast subtitle sync

# Package com.lagradost.cloudstream3.utils

Utility functions:

- DataStore - Preferences storage
- UIHelper - UI utilities
- DownloadUtils - Download helpers
- ImageUtil - Image processing

# Package com.lagradost.cloudstream3.utils.downloader

Download utilities:
- DownloadManager - Download management
- DownloadQueueManager - Queue management
- DownloadFileManagement - File handling
- DownloadUtils - Core download utilities

# Package com.lagradost.cloudstream3.widget

Custom Android widgets:

- LinearRecycleViewLayoutManager
- CenterZoomLayoutManager
- FlowLayout
14 changes: 13 additions & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ plugins {
alias(libs.plugins.android.lint) apply false
alias(libs.plugins.android.multiplatform.library) apply false
alias(libs.plugins.buildkonfig) apply false // Universal build config
alias(libs.plugins.dokka) apply false
alias(libs.plugins.dokka) apply true
alias(libs.plugins.kotlin.android) apply false
alias(libs.plugins.kotlin.jvm) apply false
alias(libs.plugins.kotlin.multiplatform) apply false
Expand All @@ -15,3 +15,15 @@ allprojects {
failOnNoDiscoveredTests = false
}
}

dependencies {
dokka(project(":app:"))
dokka(project(":library:"))
}

dokka {
moduleName = "CloudStream"
pluginsConfiguration.html {
footerMessage.set("© CloudStream")
}
}
1 change: 0 additions & 1 deletion docs/.gitignore

This file was deleted.

13 changes: 0 additions & 13 deletions docs/build.gradle.kts

This file was deleted.

3 changes: 2 additions & 1 deletion library/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile

plugins {
id("maven-publish") // Gradle core plugin
`maven-publish`
alias(libs.plugins.kotlin.multiplatform)
alias(libs.plugins.android.lint)
alias(libs.plugins.android.multiplatform.library)
Expand Down Expand Up @@ -98,6 +98,7 @@ dokka {
moduleName = "Library"
dokkaSourceSets {
configureEach {
includes.setFrom("packages.md")
analysisPlatform = KotlinPlatform.AndroidJVM
documentedVisibilities(
VisibilityModifier.Public,
Expand Down
80 changes: 80 additions & 0 deletions library/packages.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# Module Library

CloudStream multiplatform library providing core streaming functionality, extractors, and APIs for
both common and Android platforms.

# Package com.lagradost.cloudstream3

Root package with core library classes and interfaces.

## Main Classes

- **MainAPI** - Core API interface defining provider functionality
- **MainActivity** - Activity interface for UI implementation
- **ParCollections** - Parallel collection utilities

# Package com.lagradost.cloudstream3.extractors

Video extractors for various streaming hosts (100+ extractors). Includes implementations for:

- Streamplay, StreamSB, StreamTape
- Vidplay, Vidstream, VidMoly
- Videa, VkExtractor
- DoodExtractor
- MixDrop, Mp4Upload
- YoutubeExtractor
- And many more hosting services

# Package com.lagradost.cloudstream3.extractors.helper

Extractor helper utilities for specific streaming services:

- GogoHelper - Gogoanime streaming support
- NineAnimeHelper - 9Anime streaming support
- WcoHelper - WatchCartoonOnline support
- VstreamhubHelper - Vstreamhub support
- AsianEmbedHelper - Asian drama embed support
- AesHelper, CryptoJSHelper - Cryptography utilities

# Package com.lagradost.cloudstream3.metaproviders

Meta providers for content aggregation from multiple sources.

# Package com.lagradost.cloudstream3.mvvm

MVVM extensions and architecture components for reactive programming.

# Package com.lagradost.cloudstream3.network

Network utilities including WebViewResolver for handling JavaScript-based video sources.

# Package com.lagradost.cloudstream3.plugins

Plugin system interfaces:

- BasePlugin - Base plugin class
- CloudstreamPlugin - Plugin annotation and entry point

# Package com.lagradost.cloudstream3.syncproviders

Sync provider interfaces for anime/manga tracking integration.

# Package com.lagradost.cloudstream3.utils

Utility functions:

- SubtitleHelper - Subtitle processing
- M3u8Helper - HLS stream handling
- JsUnpacker - JavaScript unpacking utilities
- Coroutines - Coroutine extensions
- StringUtils - String utilities
- AppUtils - Application utilities

# Package com.lagradost.api

Android-specific API utilities.

## Main Classes

- **Log** - Logging utility
- **ContextHelper** - Android context helper
Loading