Skip to content

Commit

Permalink
fixed : drawer folder reload logic
Browse files Browse the repository at this point in the history
  • Loading branch information
MrSluffy committed Feb 18, 2025
1 parent 0142d05 commit 964d86e
Show file tree
Hide file tree
Showing 4 changed files with 5 additions and 34 deletions.
14 changes: 5 additions & 9 deletions lawnchair/src/app/lawnchair/data/folder/model/FolderViewModel.kt
Original file line number Diff line number Diff line change
Expand Up @@ -35,32 +35,28 @@ class FolderViewModel(

init {
refreshFolders()
viewModelScope.launch {
// TODO: move back to preferences
// reloadHelper.reloadGrid()
}
}

fun refreshFolders() {
fun refreshFolders(isReloadGrid: Boolean = false) {
viewModelScope.launch {
mutex.withLock {
loadFolders()
}
}
if (isReloadGrid) reloadHelper.reloadGrid()
}

fun setFolderInfo(folderInfoId: Int, hasId: Boolean) {
viewModelScope.launch {
_folderInfo.value = repository.getFolderInfo(folderInfoId, hasId)
}
refreshFolders()
}

fun updateFolderInfo(folderInfo: FolderInfo, hide: Boolean) {
viewModelScope.launch {
repository.updateFolderInfo(folderInfo, hide)
}
refreshFolders()
refreshFolders(true)
}

fun saveFolder(folderInfo: FolderInfo) {
Expand All @@ -74,14 +70,14 @@ class FolderViewModel(
viewModelScope.launch {
repository.updateFolderWithItems(id, title, appInfo)
}
refreshFolders()
refreshFolders(true)
}

fun deleteFolder(id: Int) {
viewModelScope.launch {
repository.deleteFolderInfo(id)
}
refreshFolders()
refreshFolders(true)
}

private suspend fun loadFolders() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,15 +76,6 @@ class FolderService(val context: Context) : SafeCloseable {
return null
}

suspend fun getItems(id: Int): Set<String> = withContext(Dispatchers.IO) {
return@withContext try {
folderDao.getItems(id).mapNotNull { it.componentKey }.toSet()
} catch (e: Exception) {
Log.e("FolderService", "Failed to get all items", e)
setOf()
}
}

suspend fun getAllFolders(): List<FolderInfo> = withContext(Dispatchers.Main) {
try {
val folderEntities = folderDao.getAllFolders().firstOrNull() ?: emptyList()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,32 +89,19 @@ fun AppDrawerFoldersPreference(
title = label
}
viewModel.saveFolder(newInfo)
viewModel.refreshFolders()
},
onEditFolderItems = {
viewModel.setFolderInfo(it, false)
navController.navigate("${Routes.APP_LIST_TO_FOLDER}/$it")
},
onCreateAndEditFolderItems = { folderInfo, label ->
// TODO implement proper method
val newInfo = folderInfo.apply {
title = label
}
viewModel.saveFolder(newInfo)
viewModel.setFolderInfo(newInfo.id, false)
navController.navigate("${Routes.APP_LIST_TO_FOLDER}/${newInfo.id}")
viewModel.refreshFolders()
},
onRenameFolder = { folderInfo, it ->
folderInfo.apply {
title = it
viewModel.updateFolderInfo(this, false)
}
viewModel.refreshFolders()
},
onDeleteFolder = {
viewModel.deleteFolder(it.id)
viewModel.refreshFolders()
},
onRefreshList = {
viewModel.refreshFolders()
Expand All @@ -127,7 +114,6 @@ fun AppDrawerFoldersPreference(
folders: List<FolderInfo>,
onCreateFolder: (FolderInfo, String) -> Unit,
onEditFolderItems: (Int) -> Unit,
onCreateAndEditFolderItems: (FolderInfo, String) -> Unit,
onRenameFolder: (FolderInfo, String) -> Unit,
onDeleteFolder: (FolderInfo) -> Unit,
onRefreshList: () -> Unit,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,6 @@ fun SelectAppsForDrawerFolder(
folderInfo?.title.toString(),
newSet.toList(),
)
viewModel.refreshFolders()
},
filterUniqueItems = filterNonUniqueItems,
onToggleFilterUniqueItems = {
Expand Down Expand Up @@ -154,7 +153,6 @@ fun SelectAppsForDrawerFolder(
folderInfo?.title.toString(),
newSet.filterIsInstance<AppInfo>().toList(),
)
viewModel.refreshFolders()
},
)
},
Expand Down

0 comments on commit 964d86e

Please sign in to comment.