How drklo/telegram works
Telegram for Android is a mobile messaging client. The broad user workflow is starting the app, accessing messaging features, and exchanging content through Telegram’s service; the README establishes the product but does not document that runtime wiring in detail. Sampled sources show concrete group-call messaging, native wallet bridging, and WebRTC video-stream handling. The graph preserves major runtime modules named by the SOURCE INDEX, but many are not present in the supplied tree excerpt; relationships are limited to those explicitly visible in excerpts or documented in the README.
Main entry points: GroupCallMessagesController.java Group-call messages · webrtc_video_engine.cc WebRTC video engine · WalletEngineBridge.cpp Wallet native bridge · LaunchActivity.java App launch
Components 21
App runtime
- App launch
TMessagesProj/src/main/java/org/telegram/ui/LaunchActivity.java - Application startup
TMessagesProj/src/main/java/org/telegram/messenger/ApplicationLoader.java - App configuration
TMessagesProj/src/main/java/org/telegram/messenger/SharedConfig.java - Account state
TMessagesProj/src/main/java/org/telegram/messenger/UserConfig.java - Localization
TMessagesProj/src/main/java/org/telegram/messenger/LocaleController.java - App utilities
TMessagesProj/src/main/java/org/telegram/messenger/Utilities.java - Web search
TMessagesProj/src/main/java/org/telegram/ui/web/SearchEngine.java
Messaging
- Messages controller
TMessagesProj/src/main/java/org/telegram/messenger/MessagesController.java - Telegram protocol
TMessagesProj/src/main/java/org/telegram/tgnet/TLRPC.java - Network connections
TMessagesProj/src/main/java/org/telegram/tgnet/ConnectionsManager.java
Calls and media
- Group-call messages
TMessagesProj/src/main/java/org/telegram/messenger/voip/GroupCallMessagesController.java - VoIP service
TMessagesProj/src/main/java/org/telegram/messenger/voip/VoIPService.java - VoIP engine interface
TMessagesProj/src/main/java/org/telegram/messenger/voip/Instance.java - WebRTC video engine
TMessagesProj/jni/voip/webrtc/media/engine/webrtc_video_engine.cc
Wallet
- Wallet UI
TMessagesProj/src/main/java/org/telegram/ui/Wallet/WalletEngine2.java - Wallet storage auth
TMessagesProj/src/main/java/org/telegram/ui/Wallet/GramWalletStorageAuth.java
Native services
- Wallet native bridge
TMessagesProj/jni/wallet/WalletEngineBridge.cpp - Wallet engine
TMessagesProj/jni/prebuild/include/wallet-engine/wallet_engine.cpp - Native buffer storage
TMessagesProj/jni/tgnet/BuffersStorage.cpp - Prisma engine
TMessagesProj/jni/prisma/bridge/PrismaEngine.cpp
Other components
- Telegram user
Connections 6
- Telegram user → App launch: opens app
README.md - Group-call messages → VoIP service: references service
TMessagesProj/src/main/java/org/telegram/messenger/voip/GroupCallMessagesController.java - Group-call messages → VoIP engine interface: references engine
TMessagesProj/src/main/java/org/telegram/messenger/voip/GroupCallMessagesController.java - Group-call messages → Telegram protocol: serializes messages
TMessagesProj/src/main/java/org/telegram/messenger/voip/GroupCallMessagesController.java - Wallet native bridge → Wallet engine: uses engine
TMessagesProj/jni/wallet/WalletEngineBridge.cpp - WebRTC video engine → Telegram user