Commit Graph

7003 Commits

Author SHA1 Message Date
Han Yin ef3791207b UI: extract InfoView out into a separate file for reusability 2025-10-28 11:39:17 -07:00
Han Yin 73330596ae nit: move scaffold related UI components into a separate package 2025-10-28 11:39:17 -07:00
Han Yin 77edad5a01 feature: support searching on Model Selection screen 2025-10-28 11:39:17 -07:00
Han Yin 2b3ba770dd UI: finally support theme modes; remove hardcoded color schemes, default to dynamic color scheme implementation 2025-10-28 11:39:17 -07:00
Han Yin a8dc825aef UI: handle back press on Model Selection screen 2025-10-28 11:39:17 -07:00
Han Yin d1b018e375 UI: show a Snack bar to warn user that system prompt is not always supported 2025-10-28 11:39:17 -07:00
Han Yin 56a7272858 UI: polish model cards on Benchmark and Conversation screens to show model loading metrics 2025-10-28 11:39:17 -07:00
Han Yin 10ca2fa834 util: extract formatting helper functions from FileUtils into a new FormatUtils 2025-10-28 11:39:17 -07:00
Han Yin d7afcc41d5 UI: polish ModelLoading screen 2025-10-28 11:39:17 -07:00
Han Yin 57b5001f5c nit: revert accidental committing of debug code 2025-10-28 11:39:17 -07:00
Han Yin ec47fa3d14 nit: allow deselect model on Model Selection screen 2025-10-28 11:39:17 -07:00
Han Yin 6b74c49e6b UI: polish model card 2025-10-28 11:39:17 -07:00
Han Yin c12ef7a779 UI: update ModelSelectionScreen with a preselect mechanism 2025-10-28 11:39:17 -07:00
Han Yin b81a0c6e6d UI: refactor ModelCard UI to show GGUF metadata 2025-10-28 11:39:17 -07:00
Han Yin 9056f27a91 nit: rename lastUsed field to dateLastUsed; add dateAdded field 2025-10-28 11:39:17 -07:00
Han Yin 7540c2a8b9 nit: refactor data.local package structure 2025-10-28 11:39:17 -07:00
Han Yin 7ed79319e5 GGUF: make GgufMetadata serializable in order to be compatible with Room 2025-10-28 11:39:17 -07:00
Han Yin 8ae0c3d2fa DB: introduce Kotlin serialization extension's library and plugin; add Room runtime library 2025-10-28 11:39:17 -07:00
Han Yin 67499727ef gguf: add GGUF metadata data holder and its corresponding extractor implementation 2025-10-28 11:39:17 -07:00
Han Yin a9466c0370 navigation: sink model loading state management from AppContent down into ModelLoadingScreen; pass ModelLoadingMetrics to Benchmark and Conversation screens 2025-10-28 11:39:17 -07:00
Han Yin 8a682ff85d core: throw Exception instead of returning null if model fails to load 2025-10-28 11:39:17 -07:00
Han Yin f313362ced nit: polish ModelLoadingScreen UI 2025-10-28 11:39:17 -07:00
Han Yin 1d508f367e UI: update AppContent to pass in correct navigation callbacks 2025-10-28 11:39:17 -07:00
Han Yin 0d65c4b06b nit: extract app name into a constant value; remove unused onBackPressed callbacks 2025-10-28 11:39:17 -07:00
Han Yin 9f1d26ac95 UI: migrate ConversationViewModel onto ModelLoadingViewModel; update & refine ConversationScreen 2025-10-28 11:39:17 -07:00
Han Yin cb508be782 UI: migrate ModelLoadingScreen onto ModelLoadingViewModel; update & refine ModelLoadingScreen 2025-10-28 11:39:17 -07:00
Han Yin f61c512223 UI: expose a single facade ModelUnloadDialogHandler; move UnloadModelState into ModelUnloadingViewModel.kt 2025-10-28 11:39:17 -07:00
Han Yin c5a3ac7eb1 UI: Introduce an abstract ViewModel to handle additional model unloading logics 2025-10-28 11:39:17 -07:00
Han Yin e1c77c6bbd LLama: add a new Initializing state; ; add two extension properties; rename LibraryLoaded state to Initialized 2025-10-28 11:39:17 -07:00
Han Yin ba40d689a1 UI: implement BenchmarkScreen's individual back handling 2025-10-28 11:39:17 -07:00
Han Yin 8203ddb97a UI: refactor back handling by removing centralized BackHandlerSetup and UnloadModelConfirmationDialog from AppContent 2025-10-28 11:39:17 -07:00
Han Yin c08d02d233 LLama: add ModelUnloadingState to engine State; add missing state checks in stub engine; fix instrumentation engine's error messages 2025-10-28 11:39:17 -07:00
Han Yin 481ba6e9d3 UI: remove code duplication in sort menu 2025-10-28 11:39:17 -07:00
Han Yin 41615be5ae UI: fix the typo `totalGb` in `StorageMetrics` 2025-10-28 11:39:17 -07:00
Han Yin 69f2bd62f9 UI: replace ugly optional as casts in AppScaffold with extension functions 2025-10-28 11:39:17 -07:00
Han Yin e269da655f UI: combine TopBarConfig and BottomBarConfig into each route's ScaffoldConfig 2025-10-28 11:39:17 -07:00
Han Yin 225c5435c5 UI: refactor BottomBarConfig.ModelsManagement APIs 2025-10-28 11:39:17 -07:00
Han Yin 63fc56d603 UI: centralize the AppScaffold and modularize its configs 2025-10-28 11:39:17 -07:00
Han Yin 72e97b93c5 feature: check for available space before copying local model 2025-10-28 11:39:16 -07:00
Han Yin 65d4a57a8b LLama: refactor loadModel by splitting the system prompt setting into a separate method 2025-10-28 11:39:16 -07:00
Han Yin 9f77155535 VM: handle the cancellation of ongoing token generation 2025-10-28 11:39:16 -07:00
Han Yin 46859c10f0 LLama: update engine state after handling the cancellation of sendUserPrompt 2025-10-28 11:39:16 -07:00
Han Yin 06448a60a5 UI: update UI ongoing model import's cancellation 2025-10-28 11:39:16 -07:00
Han Yin 9ba74a9d3d data: allow canceling the ongoing model import 2025-10-28 11:39:16 -07:00
Han Yin d70b8fe323 core: swap in LLamaAndroid and mark stub engine for testing only 2025-10-28 11:39:16 -07:00
Han Yin c2426a42e5 UI: unify Model Card components 2025-10-28 11:39:16 -07:00
Han Yin 434933f5b3 UI: show model card in Conversation screen 2025-10-28 11:39:16 -07:00
Han Yin 9769467723 UI: show model card in Model Loading screen 2025-10-28 11:39:16 -07:00
Han Yin 9cfa74f754 core: break down InferenceManager due to Interface Segregation Principle 2025-10-28 11:39:16 -07:00
Han Yin 286ed05f13 vm: merge SystemPromptViewModel into ModelLoadingViewModel 2025-10-28 11:39:16 -07:00