Skip to content

Commit 14a19b8

Browse files
committed
Fix: Handle empty providerName and call error callback
- Add empty string "" as valid GGUF provider (legacy data compatibility) - Call onLoaded callback with error when model path is empty - Add debug logging for model loading parameters
1 parent 01f9900 commit 14a19b8

1 file changed

Lines changed: 16 additions & 2 deletions

File tree

ai-module/src/main/java/com/nano/ai_module/workers/ModelManager.kt

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -160,15 +160,29 @@ object ModelManager {
160160
suspend fun loadGenerationModel(
161161
modelData: ModelData, onLoaded: (LoadState) -> Unit
162162
): Result<Unit> = withContext(Dispatchers.IO) {
163+
Log.d(TAG, "loadGenerationModel: provider=${modelData.providerName}, path=${modelData.modelPath}")
163164
return@withContext when (modelData.providerName) {
164165
"OPEN_ROUTER", "OpenRouter" -> loadOpenRouterModel(modelData, onLoaded)
165-
"GGUF", "LocalGGUF" -> loadGGUFModel(modelData, onLoaded)
166+
"GGUF", "LocalGGUF", "" -> {
167+
// Handle GGUF models (including empty provider for legacy data)
168+
if (modelData.modelPath.isNotEmpty()) {
169+
loadGGUFModel(modelData, onLoaded)
170+
} else {
171+
val err = "Model path is empty"
172+
Log.e(TAG, err)
173+
onLoaded(LoadState.Error(err))
174+
Result.failure(IllegalArgumentException(err))
175+
}
176+
}
166177
else -> {
167178
// Default to GGUF if model path exists
168179
if (modelData.modelPath.isNotEmpty()) {
169180
loadGGUFModel(modelData, onLoaded)
170181
} else {
171-
Result.failure(IllegalArgumentException("Unknown provider: ${modelData.providerName}"))
182+
val err = "Unknown provider: ${modelData.providerName}"
183+
Log.e(TAG, err)
184+
onLoaded(LoadState.Error(err))
185+
Result.failure(IllegalArgumentException(err))
172186
}
173187
}
174188
}

0 commit comments

Comments
 (0)