diff options
author | Bartlomiej Moskal <bartlomiej.moskal@qt.io> | 2022-11-21 17:28:52 +0100 |
---|---|---|
committer | Bartlomiej Moskal <bartlomiej.moskal@qt.io> | 2022-12-13 12:04:40 +0000 |
commit | 4ceee3911a2ef567f614fc296475bc2b2a0e3add (patch) | |
tree | 0066f318ed0a3bb0a8c3a26e639c4c24d2e168c4 /tests/auto/corelib/platform/android/testdata/assets/top_level_dir | |
parent | fbfaf5d38b3455bb561e739271986be91a7c7169 (diff) |
Android: fix Android assets handler not listing dirs with only sub dirs
It looks like AAssetDir_getNextFileName is not enough.
Directories that contain only other directories (no files)
were not listed.
On the other hand, AAssetManager_openDir() will always return a
pointer to initialized object (even if the specified directory does not
exists), so we can't just leave only it here.
Using FolderIterator as a last resort. This approach should not be too
time consuming.
As part of this fix, add some unit tests to cover/ensure assets
listing/iterating works as expected.
Fixes: QTBUG-107627
Pick-to: 6.4 6.2 5.15
Change-Id: Id375fe8f99f4ca3f8cad4756f783ffafe5c074df
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Diffstat (limited to 'tests/auto/corelib/platform/android/testdata/assets/top_level_dir')
3 files changed, 3 insertions, 0 deletions
diff --git a/tests/auto/corelib/platform/android/testdata/assets/top_level_dir/file_in_top_dir.txt b/tests/auto/corelib/platform/android/testdata/assets/top_level_dir/file_in_top_dir.txt new file mode 100644 index 0000000000..61e2c47c25 --- /dev/null +++ b/tests/auto/corelib/platform/android/testdata/assets/top_level_dir/file_in_top_dir.txt @@ -0,0 +1 @@ +FooBar
\ No newline at end of file diff --git a/tests/auto/corelib/platform/android/testdata/assets/top_level_dir/sub_dir/file_in_sub_dir.txt b/tests/auto/corelib/platform/android/testdata/assets/top_level_dir/sub_dir/file_in_sub_dir.txt new file mode 100644 index 0000000000..61e2c47c25 --- /dev/null +++ b/tests/auto/corelib/platform/android/testdata/assets/top_level_dir/sub_dir/file_in_sub_dir.txt @@ -0,0 +1 @@ +FooBar
\ No newline at end of file diff --git a/tests/auto/corelib/platform/android/testdata/assets/top_level_dir/sub_dir/sub_dir_2/sub_dir_3/file_in_sub_dir_3.txt b/tests/auto/corelib/platform/android/testdata/assets/top_level_dir/sub_dir/sub_dir_2/sub_dir_3/file_in_sub_dir_3.txt new file mode 100644 index 0000000000..61e2c47c25 --- /dev/null +++ b/tests/auto/corelib/platform/android/testdata/assets/top_level_dir/sub_dir/sub_dir_2/sub_dir_3/file_in_sub_dir_3.txt @@ -0,0 +1 @@ +FooBar
\ No newline at end of file |