How yashbellam/mindfield works
Mind Field is an Android journal for creating and browsing entries, with search, calendar/history, PIN-based locking, encrypted local storage, file backup, and optional Google Drive sync. The main workflow is to unlock the app, create or edit entries, and persist them locally; users can then search or browse those entries, export/import backups, or synchronize them through Drive. The graph follows documented dependencies and SOURCE INDEX references. The README is empty, and several feature implementations were not sampled, so some subsystem links are omitted rather than inferred.
Main entry points: EntryRepository.kt Entry repository · MindFieldApplication.kt App services · EntryListScreen.kt Entry browsing · DriveSyncManager.kt Sync coordination
Components 27
App and navigation
- Activity routing
app/src/main/java/com/mindfield/MainActivity.kt - App services
app/src/main/java/com/mindfield/MindFieldApplication.kt
Journal experience
- Entry browsing
app/src/main/java/com/mindfield/ui/entries/EntryListScreen.kt - Entry list state
app/src/main/java/com/mindfield/ui/entries/EntryListViewModel.kt - Entry editor
app/src/main/java/com/mindfield/ui/editor/EditorScreen.kt - Editor state
app/src/main/java/com/mindfield/ui/editor/EditorViewModel.kt - Entry search
app/src/main/java/com/mindfield/ui/search/SearchViewModel.kt - Calendar browsing
app/src/main/java/com/mindfield/ui/calendar/CalendarScreen.kt - Calendar state
app/src/main/java/com/mindfield/ui/calendar/CalendarViewModel.kt - Settings
app/src/main/java/com/mindfield/ui/settings/SettingsScreen.kt - Settings state
app/src/main/java/com/mindfield/ui/settings/SettingsViewModel.kt - Lock screens
app/src/main/java/com/mindfield/ui/lock/LockScreen.kt
Local data and security
- Lock lifecycle
app/src/main/java/com/mindfield/security/LockManager.kt - Passphrase vault
app/src/main/java/com/mindfield/security/PassphraseVault.kt - Encrypted database
app/src/main/java/com/mindfield/data/MindFieldDatabase.kt - Entry repository
app/src/main/java/com/mindfield/data/repository/EntryRepository.kt - Entry queries
app/src/main/java/com/mindfield/data/dao/EntryDao.kt - Drive mapping queries
app/src/main/java/com/mindfield/data/dao/DriveFileMappingDao.kt - Journal records
app/src/main/java/com/mindfield/data/model/Entry.kt - Drive mappings
app/src/main/java/com/mindfield/data/model/DriveFileMapping.kt
Backup and sync
- File backup
app/src/main/java/com/mindfield/data/BackupManager.kt - Google authorization
app/src/main/java/com/mindfield/sync/GoogleAuthManager.kt - Sync coordination
app/src/main/java/com/mindfield/sync/DriveSyncManager.kt - Drive file access
app/src/main/java/com/mindfield/sync/DriveSyncClient.kt - Background sync
app/src/main/java/com/mindfield/sync/DriveSyncWorker.kt
Other components
- Journal user
- Google Drive
Connections 41
- Journal user → Activity routing: opens app
app/src/main/java/com/mindfield/MainActivity.kt - Activity routing → Entry browsing: routes to
app/src/main/java/com/mindfield/MainActivity.kt - Activity routing → Entry editor: routes to
app/src/main/java/com/mindfield/MainActivity.kt - Activity routing → Lock screens: routes to
app/src/main/java/com/mindfield/MainActivity.kt - Activity routing → Settings: routes to
app/src/main/java/com/mindfield/MainActivity.kt - App services → Encrypted database: opens and configures
app/src/main/java/com/mindfield/MindFieldApplication.kt - App services → Entry repository: provides
app/src/main/java/com/mindfield/MindFieldApplication.kt - App services → Lock lifecycle: registers
app/src/main/java/com/mindfield/MindFieldApplication.kt - App services → Passphrase vault: provides
app/src/main/java/com/mindfield/MindFieldApplication.kt - App services → Sync coordination: provides
app/src/main/java/com/mindfield/MindFieldApplication.kt - Entry browsing → Entry list state: uses
app/src/main/java/com/mindfield/ui/entries/EntryListScreen.kt - Entry browsing → Entry search: uses
app/src/main/java/com/mindfield/ui/entries/EntryListScreen.kt - Entry browsing → Calendar browsing: opens
app/src/main/java/com/mindfield/ui/entries/EntryListScreen.kt - Entry browsing → Entry editor: opens
app/src/main/java/com/mindfield/ui/entries/EntryListScreen.kt - Entry editor → Editor state: uses
app/src/main/java/com/mindfield/ui/editor/EditorScreen.kt - Calendar browsing → Calendar state: uses
app/src/main/java/com/mindfield/ui/calendar/CalendarScreen.kt - Settings → Settings state: uses
app/src/main/java/com/mindfield/ui/settings/SettingsScreen.kt - Lock screens → Lock lifecycle: unlocks through
- Lock lifecycle → Passphrase vault: unwraps credentials
app/src/main/java/com/mindfield/security/LockManager.kt - Lock lifecycle → App services: opens database
app/src/main/java/com/mindfield/security/LockManager.kt - Encrypted database → Entry queries: provides
app/src/main/java/com/mindfield/data/MindFieldDatabase.kt - Encrypted database → Drive mapping queries: provides
app/src/main/java/com/mindfield/data/MindFieldDatabase.kt - Entry repository → Entry queries: queries and writes
app/src/main/java/com/mindfield/data/repository/EntryRepository.kt - Entry repository → Drive mapping queries: reads mappings
app/src/main/java/com/mindfield/data/repository/EntryRepository.kt - Entry queries → Journal records: stores
app/src/main/java/com/mindfield/data/dao/EntryDao.kt - Drive mapping queries → Drive mappings: stores
app/src/main/java/com/mindfield/data/dao/DriveFileMappingDao.kt - Entry list state → Entry repository: uses
app/src/main/java/com/mindfield/ui/entries/EntryListViewModel.kt - Editor state → Entry repository: uses
app/src/main/java/com/mindfield/ui/editor/EditorViewModel.kt - Entry search → Entry repository: searches entries
app/src/main/java/com/mindfield/ui/search/SearchViewModel.kt - Entry search → Entry browsing: stores recent searches
app/src/main/java/com/mindfield/ui/search/SearchViewModel.kt - Calendar state → Entry repository: queries entries
app/src/main/java/com/mindfield/ui/calendar/CalendarViewModel.kt - File backup → Entry repository: reads entries
app/src/main/java/com/mindfield/data/BackupManager.kt - File backup → Encrypted database: imports transactionally
app/src/main/java/com/mindfield/data/BackupManager.kt - Background sync → Sync coordination: runs sync
app/src/main/java/com/mindfield/sync/DriveSyncWorker.kt - Sync coordination → Entry repository: reads and updates
app/src/main/java/com/mindfield/sync/DriveSyncManager.kt - Sync coordination → Drive file access: dispatches file operations
app/src/main/java/com/mindfield/sync/DriveSyncManager.kt - Sync coordination → Google authorization: uses authorization
app/src/main/java/com/mindfield/sync/DriveSyncManager.kt - Sync coordination → Drive mappings: tracks remote files
app/src/main/java/com/mindfield/sync/DriveSyncManager.kt - Drive file access → Google authorization: refreshes access
app/src/main/java/com/mindfield/sync/DriveSyncClient.kt - Drive file access → Google Drive: reads and writes files
app/src/main/java/com/mindfield/sync/DriveSyncClient.kt - Google authorization → Google Drive: authorizes access