Skip to content

Commit

Permalink
Refactor select all & deselect all logic
Browse files Browse the repository at this point in the history
  • Loading branch information
Simon Pham committed Aug 10, 2019
1 parent 49802ab commit fd60ea4
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -143,14 +143,7 @@ class FileBrowserFragment : BaseFragment() {

fun selectAllFilesInCurrentFolder() {
if (getCallbacks()?.allowChangeSelectedFile() != false) {
viewModel.getFileModels().value.orEmpty().forEach { model ->
val isFull = viewModel.getSelectedFiles().size == limitSelectCount
if (model.type == TYPE_FILE
&& !isFull
&& !model.selected) {
viewModel.selectFile(model.path)
}
}
viewModel.selectAllFilesInCurrentFolder(limitSelectCount)
refreshOnSelectedFilesChanged()
} else {
showFileSelectionLockedMessage()
Expand All @@ -159,11 +152,7 @@ class FileBrowserFragment : BaseFragment() {

fun deselectAllFilesInCurrentFolder() {
if (getCallbacks()?.allowChangeSelectedFile() != false) {
viewModel.getFileModels().value.orEmpty().forEach { model ->
if (model.type == TYPE_FILE && model.selected) {
viewModel.unselectedFile(model.path)
}
}
viewModel.deselectAllFilesInCurrentFolder()
refreshOnSelectedFilesChanged()
} else {
showFileSelectionLockedMessage()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,25 @@ class FileBrowserViewModel : ViewModel() {

fun getFileModels(): LiveData<List<FileListModel>> = fileModelsLiveData

fun selectAllFilesInCurrentFolder(limitSelectCount: Int = Int.MAX_VALUE) {
fileModelsLiveData.value.orEmpty().forEach { model ->
val isFull = selectedFilesReadOnly.size == limitSelectCount
if (model.type == TYPE_FILE
&& !isFull
&& !model.selected) {
selectFile(model.path)
}
}
}

fun deselectAllFilesInCurrentFolder() {
fileModelsLiveData.value.orEmpty().forEach { model ->
if (model.type == TYPE_FILE && model.selected) {
unselectedFile(model.path)
}
}
}

@MainThread
fun selectFile(file: File) {
selectedFiles.add(file)
Expand Down

0 comments on commit fd60ea4

Please sign in to comment.