Skip to content

Telegram integration + APK split#297

Open
silentbil wants to merge 7 commits into
ProdigyV21:mainfrom
silentbil:telegram
Open

Telegram integration + APK split#297
silentbil wants to merge 7 commits into
ProdigyV21:mainfrom
silentbil:telegram

Conversation

@silentbil
Copy link
Copy Markdown
Collaborator

Native Telegram Integration + ABI Split APKs

Telegram Integration

Adds a built-in Telegram source that searches the user's joined channels and groups for video files whenever a movie or episode is selected — appearing alongside regular addon sources in the stream selector. No third-party service or external addon required.

Authentication

  • QR code flow via TDLib (authorizationStateWaitQrCodeConfirmation) — scan with the Telegram phone app, no typing on TV
  • 2FA password support
  • Session persists across app restarts

Streaming

  • Local Ktor CIO HTTP server proxies TDLib file downloads to ExoPlayer with Range header support for seeking

Settings Screen

  • Shows connected account name or "Not connected"
  • Per-channel toggle to exclude channels from search
  • Disconnect button wipes session and TDLib database

Source Card

  • Quality parsed from filename (4K, 1080p, 720p, etc.) including OCR typos (1o8o, 216o)
  • File size displayed

Native Libraries

  • TDLib prebuilt binaries downloaded automatically on first build via downloadTdlibNatives Gradle task
  • Cached — re-download only on clean checkout

ABI Split APKs (Sideload)

assembleSideloadRelease now produces per-ABI APKs instead of one universal APK, so users download only the native library for their device architecture.

Output APKs

┌──────────────────────────────────────┬────────┬────────────────────────────────────────────────────┐
│ File │ Size │ Use │
├──────────────────────────────────────┼────────┼────────────────────────────────────────────────────┤
│ app-sideload-arm64-v8a-release.apk │ ~49 MB │ Modern 64-bit streamers (Shield, Fire TV 4K, etc.) │
├──────────────────────────────────────┼────────┼────────────────────────────────────────────────────┤
│ app-sideload-armeabi-v7a-release.apk │ ~42 MB │ Older 32-bit streamers │
├──────────────────────────────────────┼────────┼────────────────────────────────────────────────────┤
│ app-sideload-universal-release.apk │ ~70 MB │ All devices — use when ABI is unknown │
├──────────────────────────────────────┼────────┼────────────────────────────────────────────────────┤
│ app-sideload-x86-release.apk │ — │ Emulator only, do not distribute │
├──────────────────────────────────────┼────────┼────────────────────────────────────────────────────┤
│ app-sideload-x86_64-release.apk │ — │ Emulator only, do not distribute │
└──────────────────────────────────────┴────────┴────────────────────────────────────────────────────┘

@silentbil silentbil marked this pull request as draft June 3, 2026 06:56
@silentbil silentbil marked this pull request as ready for review June 3, 2026 07:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant