diff --git a/airsonic-main/src/main/java/org/airsonic/player/service/MediaScannerService.java b/airsonic-main/src/main/java/org/airsonic/player/service/MediaScannerService.java index b4f6ee96..db3d2587 100644 --- a/airsonic-main/src/main/java/org/airsonic/player/service/MediaScannerService.java +++ b/airsonic-main/src/main/java/org/airsonic/player/service/MediaScannerService.java @@ -237,14 +237,14 @@ public class MediaScannerService { LOG.trace("Scanning file {}", file.getPath()); - searchService.index(file); - // Update the root folder if it has changed. if (!musicFolder.getPath().getPath().equals(file.getFolder())) { file.setFolder(musicFolder.getPath().getPath()); mediaFileDao.createOrUpdateMediaFile(file); } + searchService.index(file); + if (file.isDirectory()) { for (MediaFile child : mediaFileService.getChildrenOf(file, true, false, false, false)) { scanFile(child, musicFolder, lastScanned, albumCount, genres, isPodcast); diff --git a/airsonic-main/src/test/java/org/airsonic/player/service/search/SearchServiceSpecialPathTestCase.java b/airsonic-main/src/test/java/org/airsonic/player/service/search/SearchServiceSpecialPathTestCase.java index 132323cd..405f587f 100644 --- a/airsonic-main/src/test/java/org/airsonic/player/service/search/SearchServiceSpecialPathTestCase.java +++ b/airsonic-main/src/test/java/org/airsonic/player/service/search/SearchServiceSpecialPathTestCase.java @@ -69,14 +69,14 @@ public class SearchServiceSpecialPathTestCase extends AbstractAirsonicHomeTest { .filter(m -> "accessible".equals(m.getName())) .collect(Collectors.toList()); randomAlbums = searchService.getRandomAlbums(Integer.MAX_VALUE, folder01); - Assert.assertEquals("Albums in \"accessible\" ", 3, randomAlbums.size()); + Assert.assertEquals("Albums in \"accessible\" ", 1, randomAlbums.size()); // dir - accessible's List folder02 = folders.stream() .filter(m -> "accessible's".equals(m.getName())) .collect(Collectors.toList()); randomAlbums = searchService.getRandomAlbums(Integer.MAX_VALUE, folder02); - Assert.assertEquals("Albums in \"accessible's\" ", 0, randomAlbums.size()); + Assert.assertEquals("Albums in \"accessible's\" ", 1, randomAlbums.size()); // dir - accessible+s List folder03 = folders.stream()