How arslan4k1390/cherrygram works
Cherrygram is an unofficial Android Telegram client. The central user journey is using the app to communicate through Telegram; the README identifies the client and Telegram API/MTProto, but the main conversation UI and request-handling code are not present in the supplied tree, so their internal wiring is not inferred. The sampled sources show distinct supporting capabilities for stories persistence, group-call messages, web search, and theme preview, plus JNI/native networking and SQLite boundaries. The graph uses those concrete paths and leaves unsampled runtime links out.
Main entry points: telegram Telegram client · TgNetWrapper.cpp Native networking · SearchEngine.java Web search · AuthenticatorService.java Account authenticator
Components 14
Android client
- Telegram client
TMessagesProj/src/main/java/org/telegram - Account authenticator
TMessagesProj/src/main/java/org/telegram/messenger/AuthenticatorService.java
Client features
- Group-call messages
TMessagesProj/src/main/java/org/telegram/messenger/voip/GroupCallMessagesController.java - Stories storage
TMessagesProj/src/main/java/org/telegram/ui/Stories/StoriesStorage.java - Theme preview
TMessagesProj/src/main/java/org/telegram/ui/ThemePreviewActivity.java - Web search
TMessagesProj/src/main/java/org/telegram/ui/web/SearchEngine.java
Native services
- Native networking
TMessagesProj/jni/TgNetWrapper.cpp - SQLite bridge
TMessagesProj/jni/SqliteWrapper.cpp - Network buffers
TMessagesProj/jni/tgnet/BuffersStorage.cpp - WebRTC video
TMessagesProj/jni/voip/webrtc/media/engine/webrtc_video_engine.cc
Cryptography
- BoringSSL
TMessagesProj/jni/boringssl
Other components
- App user
- Telegram services
- Android account manager
Connections 13
- Android account manager → Account authenticator: binds authenticator
- App user → Telegram client: uses client
- Telegram client → Group-call messages: provides call messaging
- Telegram client → Stories storage: stores stories
- Telegram client → Theme preview: previews themes
- Telegram client → Web search: selects search
- Web search → Telegram services: search URL
- Telegram client → Native networking: native boundary
- Native networking → Telegram services: Telegram protocol
- Native networking → Network buffers: uses buffers
- Telegram client → SQLite bridge: native database boundary
- Telegram client → BoringSSL: cryptographic support
- Telegram client → WebRTC video: VoIP video support