Fix archive sorting (skip on big folders)

This commit is contained in:
Willy-JL 2023-02-13 05:01:31 +00:00
parent fbf99d6cb3
commit cb89bb9628
4 changed files with 7 additions and 3 deletions

View file

@ -74,7 +74,9 @@ static void archive_list_item_cb(
browser->view,
ArchiveBrowserViewModel * model,
{
files_array_sort(model->files);
if(model->item_cnt <= BROWSER_SORT_THRESHOLD) {
files_array_sort(model->files);
}
model->list_loading = false;
},
true);

View file

@ -478,7 +478,7 @@ static void browser_list_item_cb(
browser->view,
FileBrowserModel * model,
{
if(model->item_cnt < 430) {
if(model->item_cnt <= BROWSER_SORT_THRESHOLD) {
FuriString* selected = NULL;
if(model->item_idx > 0) {
selected = furi_string_alloc_set(

View file

@ -418,7 +418,7 @@ static int32_t browser_worker(void* context) {
if(flags & WorkerEvtLoad) {
FURI_LOG_D(
TAG, "Load offset: %lu cnt: %lu", browser->load_offset, browser->load_count);
if(items_cnt > 430) {
if(items_cnt > BROWSER_SORT_THRESHOLD) {
browser_folder_load_chunked(
browser, path, browser->load_offset, browser->load_count);
} else {

View file

@ -7,6 +7,8 @@
extern "C" {
#endif
#define BROWSER_SORT_THRESHOLD 400
typedef struct BrowserWorker BrowserWorker;
typedef void (*BrowserWorkerFolderOpenCallback)(
void* context,