How hoosammr/convertx works
ConvertX is an Android chat-style unit-conversion app: users enter natural-language conversion text, which is parsed into a structured command and executed with deterministic Kotlin conversion logic. The documented runtime flow and sampled executor/repository code support the main conversion path; UI state and rendering details are inferred only from the README and file tree. Add/update commands are recognized as command types, but currently return explanatory messages rather than modifying stored units.
Main entry points: ConvertViewModel.kt Convert viewmodel · CommandExecutor.kt Command executor · ConvertScreen.kt Convert screen · ConversationList.kt Conversation UI
Components 16
Chat interface
- Android activity
app/src/main/java/com/meray/convertx/MainActivity.kt - Convert screen
app/src/main/java/com/meray/convertx/presentation/ConvertScreen.kt - Text input
app/src/main/java/com/meray/convertx/presentation/inpose.kt - Conversation UI
app/src/main/java/com/meray/convertx/presentation/ConversationList.kt - Convert viewmodel
app/src/main/java/com/meray/convertx/presentation/viewmodel/ConvertViewModel.kt
Intent and commands
- Intent engine
app/src/main/java/com/meray/convertx/domain/intent/IntentEngine.kt - Regex parser
app/src/main/java/com/meray/convertx/domain/intent/RegexIntentEngine.kt - Structured command
app/src/main/java/com/meray/convertx/domain/command/Command.kt
Conversion execution
- Command executor
app/src/main/java/com/meray/convertx/domain/command/CommandExecutor.kt - Execution result
app/src/main/java/com/meray/convertx/domain/command/CommandExecutionResult.kt - Unit converter
app/src/main/java/com/meray/convertx/domain/conversion/UnitConverter.kt - Conversion result
app/src/main/java/com/meray/convertx/domain/model/ConversionResult.kt
Unit catalog
- Unit repository
app/src/main/java/com/meray/convertx/data/repository/InMemoryUnitRepository.kt - Unit catalog
app/src/main/java/com/meray/convertx/domain/conversion/UnitCatalog.kt - Unit definitions
app/src/main/java/com/meray/convertx/domain/model/UnitValue.kt
Other components
- User
Connections 16
- User → Text input: enters text
- Android activity → Convert screen: launches
- Convert screen → Text input: shows
- Convert screen → Convert viewmodel: uses
- Convert viewmodel → Intent engine: parses with
- Intent engine → Regex parser: implemented by
- Regex parser → Structured command: returns
- Convert viewmodel → Command executor: executes command
- Command executor → Unit repository: looks up units
- Unit repository → Unit catalog: reads
- Unit catalog → Unit definitions: provides
- Command executor → Unit converter: converts units
- Unit converter → Conversion result: returns
- Command executor → Execution result: builds message
- Convert viewmodel → Conversation UI: updates conversation
- Conversation UI → User: shows result