How algorift169/meshdrop works
MeshDrop is a native Android prototype for offline-first peer communication. Users navigate among mesh, chat, file, and profile screens; chat messages and profile details persist locally. Chat supports conversation lists, opening a conversation, sending and displaying messages, and deleting conversations through its repository and SQLite storage. The README explicitly says peer discovery, network delivery, and file transfers are not implemented. The graph shows documented capabilities, but omits runtime links for unsampled screens where their wiring is not evidenced.
Main entry points: ChatRepositoryImpl.java Chat repository · MainActivity.java Main navigation · ConversationDao.java Conversation DAO · MessageDao.java Message DAO
Components 18
App navigation
- Main navigation
app/src/main/java/com/meshdrop/ui/activity/MainActivity.java
Chat experience
- Chat screen
app/src/main/java/com/meshdrop/ui/fragment/ChatFragment.java - Conversation model
app/src/main/java/com/meshdrop/data/model/Conversation.java - Message model
app/src/main/java/com/meshdrop/data/model/Message.java
Local persistence
- Chat repository
app/src/main/java/com/meshdrop/database/repository/ChatRepositoryImpl.java - Repository interface
app/src/main/java/com/meshdrop/database/repository/ChatRepository.java - Conversation DAO
app/src/main/java/com/meshdrop/database/dao/ConversationDao.java - Message DAO
app/src/main/java/com/meshdrop/database/dao/MessageDao.java - Conversation record
app/src/main/java/com/meshdrop/database/entity/ConversationEntity.java - Message record
app/src/main/java/com/meshdrop/database/entity/MessageEntity.java - Chat database
app/src/main/java/com/meshdrop/database/MeshDropDatabase.java
Other features
- Mesh screen
app/src/main/java/com/meshdrop/ui/fragment/MeshFragment.java - Radar display
app/src/main/java/com/meshdrop/ui/RadarView.java - Files screen
app/src/main/java/com/meshdrop/ui/fragment/FilesFragment.java - Profile screen
app/src/main/java/com/meshdrop/ui/fragment/ProfileFragment.java - Theme preferences
app/src/main/java/com/meshdrop/ui/activity/ThemePreferences.java - Profile data
app/src/main/java/com/meshdrop/identity/Profile.java
Other components
- User
Connections 19
- User → Main navigation: navigates
app/src/main/java/com/meshdrop/ui/activity/MainActivity.java - Main navigation → Mesh screen: dispatches to
app/src/main/java/com/meshdrop/ui/activity/MainActivity.java - Main navigation → Chat screen: dispatches to
app/src/main/java/com/meshdrop/ui/activity/MainActivity.java - Main navigation → Files screen: dispatches to
app/src/main/java/com/meshdrop/ui/activity/MainActivity.java - Main navigation → Profile screen: dispatches to
app/src/main/java/com/meshdrop/ui/activity/MainActivity.java - Main navigation → Theme preferences: applies theme
app/src/main/java/com/meshdrop/ui/activity/MainActivity.java - Mesh screen → Theme preferences: toggles theme
app/src/main/java/com/meshdrop/ui/fragment/MeshFragment.java - Chat screen → Chat repository: loads and saves
app/src/main/java/com/meshdrop/ui/fragment/ChatFragment.java - Chat repository → Repository interface: implements
app/src/main/java/com/meshdrop/database/repository/ChatRepositoryImpl.java - Chat repository → Chat database: opens database
app/src/main/java/com/meshdrop/database/repository/ChatRepositoryImpl.java - Chat repository → Conversation DAO: calls
app/src/main/java/com/meshdrop/database/repository/ChatRepositoryImpl.java - Chat repository → Message DAO: calls
app/src/main/java/com/meshdrop/database/repository/ChatRepositoryImpl.java - Chat repository → Conversation model: builds
app/src/main/java/com/meshdrop/database/repository/ChatRepositoryImpl.java - Chat repository → Message model: builds
app/src/main/java/com/meshdrop/database/repository/ChatRepositoryImpl.java - Conversation DAO → Chat database: queries
app/src/main/java/com/meshdrop/database/dao/ConversationDao.java - Message DAO → Chat database: queries
app/src/main/java/com/meshdrop/database/dao/MessageDao.java - Conversation DAO → Conversation record: maps records
app/src/main/java/com/meshdrop/database/dao/ConversationDao.java - Message DAO → Message record: maps records
app/src/main/java/com/meshdrop/database/dao/MessageDao.java - Profile screen → Profile data: edits profile