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 |
Han Yin
|
23d411d86e
|
vm: split mono MainViewModel into separate individual ViewModels
|
2025-10-28 11:39:16 -07:00 |
Han Yin
|
32d778bb8e
|
core: extract conversation and benchmark logics into InferenceManager; add logs and missing state updates in stub InferenceEngine
|
2025-10-28 11:39:16 -07:00 |
Han Yin
|
51b120f464
|
data: pass through getModelById from ModelDao into ModelRepository
|
2025-10-28 11:39:16 -07:00 |
Han Yin
|
59f5caa699
|
Util: split FileUtils from ModelUtils; extract copy methods into FileUtils
|
2025-10-28 11:39:16 -07:00 |
Han Yin
|
4913ad0dae
|
nit: tidy SystemPromptViewModel
|
2025-10-28 11:39:16 -07:00 |
Han Yin
|
2614f91226
|
UI: replace model selection screen's data stubbing; add empty view
|
2025-10-28 11:39:16 -07:00 |
Han Yin
|
6b48f7473f
|
UI: extract a shared ModelCard component
|
2025-10-28 11:39:16 -07:00 |
Han Yin
|
0d41e75ca5
|
UI: add a confirmation step when user picks a file; refactor model import overlay into AlertDialog
|
2025-10-28 11:39:16 -07:00 |
Han Yin
|
1bebd1bb07
|
util: extract file size formatting into ModelUtils
|
2025-10-28 11:39:16 -07:00 |
Han Yin
|
561fe0222f
|
UI: handle back navigation when user is in multi-selection mode
|
2025-10-28 11:39:16 -07:00 |
Han Yin
|
2d6b8856f6
|
UI: implement multiple models deletion; update Models Management screen
|
2025-10-28 11:39:16 -07:00 |
Han Yin
|
025e3d2417
|
UI: enrich ModelManagementState; extract filename to show correct importing UI
|
2025-10-28 11:39:16 -07:00 |
Han Yin
|
adfbfe3ffb
|
data: add a util file for extracting file name & size and model metadata
|
2025-10-28 11:39:16 -07:00 |
Han Yin
|
290a6bfebe
|
bugfix: use List instead of Collection for ModelDao's deletion
|
2025-10-28 11:39:16 -07:00 |
Han Yin
|
5de0b5d6d0
|
data: import local model with file picker
|
2025-10-28 11:39:16 -07:00 |
Han Yin
|
a3ebdac58f
|
UI: polish sort order menu
|
2025-10-28 11:39:16 -07:00 |
Han Yin
|
760d66c97d
|
UI: replace Models Management screen's stubbing with instrumentation
|
2025-10-28 11:39:16 -07:00 |
Han Yin
|
bc93c384a7
|
data: introduce Model entity and DAO; update DI module
|
2025-10-28 11:39:16 -07:00 |
Han Yin
|
f5e2edda87
|
data: [WIP] prepare for ModelRepository refactor & impl
|
2025-10-28 11:39:16 -07:00 |
Han Yin
|
b6cc8f0c01
|
DI: abstract the protocol of SystemPromptRepository; update AppModule
|
2025-10-28 11:39:16 -07:00 |