diff --git a/examples/llama.android/app/src/main/java/com/example/llama/revamp/data/local/ModelDao.kt b/examples/llama.android/app/src/main/java/com/example/llama/revamp/data/local/ModelDao.kt index c59ad1e751..510a4312cc 100644 --- a/examples/llama.android/app/src/main/java/com/example/llama/revamp/data/local/ModelDao.kt +++ b/examples/llama.android/app/src/main/java/com/example/llama/revamp/data/local/ModelDao.kt @@ -16,7 +16,7 @@ interface ModelDao { suspend fun getModelById(id: String): ModelEntity? @Query("SELECT * FROM models WHERE id IN (:ids)") - suspend fun getModelsByIds(ids: Collection): List + suspend fun getModelsByIds(ids: List): List @Insert(onConflict = OnConflictStrategy.REPLACE) suspend fun insertModel(model: ModelEntity) diff --git a/examples/llama.android/app/src/main/java/com/example/llama/revamp/data/repository/ModelRepository.kt b/examples/llama.android/app/src/main/java/com/example/llama/revamp/data/repository/ModelRepository.kt index 1548f98232..3c657d9d37 100644 --- a/examples/llama.android/app/src/main/java/com/example/llama/revamp/data/repository/ModelRepository.kt +++ b/examples/llama.android/app/src/main/java/com/example/llama/revamp/data/repository/ModelRepository.kt @@ -44,7 +44,7 @@ interface ModelRepository { suspend fun importModel(uri: Uri, progressTracker: ImportProgressTracker? = null): ModelInfo suspend fun deleteModel(modelId: String) - suspend fun deleteModels(modelIds: Collection) + suspend fun deleteModels(modelIds: List) fun interface ImportProgressTracker { fun onProgress(progress: Float) // 0.0f to 1.0f @@ -229,7 +229,7 @@ class ModelRepositoryImpl @Inject constructor( } } - override suspend fun deleteModels(modelIds: Collection) { + override suspend fun deleteModels(modelIds: List) { modelDao.getModelsByIds(modelIds).let { models -> models.forEach { model -> File(model.path).let { diff --git a/examples/llama.android/app/src/main/java/com/example/llama/revamp/ui/screens/ModelsManagementScreen.kt b/examples/llama.android/app/src/main/java/com/example/llama/revamp/ui/screens/ModelsManagementScreen.kt index 0cbfbfd58a..d2d5ac9d92 100644 --- a/examples/llama.android/app/src/main/java/com/example/llama/revamp/ui/screens/ModelsManagementScreen.kt +++ b/examples/llama.android/app/src/main/java/com/example/llama/revamp/ui/screens/ModelsManagementScreen.kt @@ -137,6 +137,7 @@ fun ModelsManagementScreen( onClick = { // Delete selected if (selectedModels.isNotEmpty()) { + // TODO-han.yin: pop up an AlertDialog asking user for confirmation viewModel.deleteModels(selectedModels) exitSelectionMode() } diff --git a/examples/llama.android/app/src/main/java/com/example/llama/revamp/viewmodel/ModelsManagementViewModel.kt b/examples/llama.android/app/src/main/java/com/example/llama/revamp/viewmodel/ModelsManagementViewModel.kt index a138c17d3e..99836c4637 100644 --- a/examples/llama.android/app/src/main/java/com/example/llama/revamp/viewmodel/ModelsManagementViewModel.kt +++ b/examples/llama.android/app/src/main/java/com/example/llama/revamp/viewmodel/ModelsManagementViewModel.kt @@ -73,7 +73,7 @@ class ModelsManagementViewModel @Inject constructor( fun deleteModels(models: Map) = viewModelScope.launch { - modelRepository.deleteModels(models.keys) + modelRepository.deleteModels(models.keys.toList()) } private val _importState = MutableStateFlow(ModelImportState.Idle)