mirror of
https://gitlab.com/nkming2/nc-photos.git
synced 2025-02-24 10:28:50 +01:00
Fix not syncing favorites in share folder
This commit is contained in:
parent
42f5ce5a67
commit
aa68035b88
1 changed files with 15 additions and 2 deletions
|
@ -3,6 +3,7 @@ import 'package:nc_photos/account.dart';
|
|||
import 'package:nc_photos/di_container.dart';
|
||||
import 'package:nc_photos/entity/file.dart';
|
||||
import 'package:nc_photos/entity/file_util.dart' as file_util;
|
||||
import 'package:nc_photos/pref.dart';
|
||||
import 'package:nc_photos/use_case/cache_favorite.dart';
|
||||
|
||||
class SyncFavorite {
|
||||
|
@ -22,10 +23,22 @@ class SyncFavorite {
|
|||
}
|
||||
|
||||
Future<List<int>> _getRemoteFavoriteFileIds(Account account) async {
|
||||
final settings = AccountPref.of(account);
|
||||
final shareDir =
|
||||
File(path: file_util.unstripPath(account, settings.getShareFolderOr()));
|
||||
bool isShareDirIncluded = false;
|
||||
|
||||
final fileIds = <int>[];
|
||||
for (final r in account.roots) {
|
||||
final favorites = await _c.favoriteRepo
|
||||
.list(account, File(path: file_util.unstripPath(account, r)));
|
||||
final dir = File(path: file_util.unstripPath(account, r));
|
||||
final favorites = await _c.favoriteRepo.list(account, dir);
|
||||
fileIds.addAll(favorites.map((f) => f.fileId));
|
||||
isShareDirIncluded |= file_util.isOrUnderDir(shareDir, dir);
|
||||
}
|
||||
|
||||
if (!isShareDirIncluded) {
|
||||
_log.info("[_getRemoteFavoriteFileIds] Explicitly querying share folder");
|
||||
final favorites = await _c.favoriteRepo.list(account, shareDir);
|
||||
fileIds.addAll(favorites.map((f) => f.fileId));
|
||||
}
|
||||
return fileIds;
|
||||
|
|
Loading…
Reference in a new issue