Skip to content

Commit 7bbf6ec

Browse files
committed
Bug 2024810 - Fixed last saved folder cache updating
1 parent 984b8ae commit 7bbf6ec

3 files changed

Lines changed: 19 additions & 5 deletions

File tree

mobile/android/fenix/app/src/main/java/org/mozilla/fenix/bookmarks/BookmarksMiddleware.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -243,9 +243,7 @@ internal class BookmarksMiddleware(
243243
}
244244

245245
preReductionState.bookmarksEditBookmarkState != null -> {
246-
if (!getNavController().popBackStack()) {
247-
exitBookmarks()
248-
}
246+
val popped = getNavController().popBackStack()
249247
lifecycleScope.launch {
250248
preReductionState.createBookmarkInfo()?.also {
251249
val result = bookmarksStorage.updateNode(
@@ -261,6 +259,9 @@ internal class BookmarksMiddleware(
261259
}
262260
}
263261
store.tryDispatchLoadFor(preReductionState.currentFolder.guid)
262+
if (!popped) {
263+
exitBookmarks()
264+
}
264265
}
265266
}
266267
// list screen cases

mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/menu/middleware/MenuDialogMiddleware.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -273,6 +273,10 @@ class MenuDialogMiddleware(
273273

274274
val parentGuid = parentNode?.guid ?: BookmarkRoot.Mobile.id
275275

276+
if (targetParentFolderId != parentGuid) {
277+
lastSavedFolderCache.setGuid(null)
278+
}
279+
276280
val guidToEdit = addBookmarkUseCase(
277281
url = url,
278282
title = selectedTab.content.title,

mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarMiddleware.kt

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -491,8 +491,17 @@ class BrowserToolbarMiddleware(
491491

492492
selectedTab?.let {
493493
scope.launch(ioDispatcher) {
494-
val parentGuid = settings.lastSavedFolderCache.getGuid() ?: BookmarkRoot.Mobile.id
495-
val parentNode = bookmarksStorage.getBookmark(parentGuid).getOrNull()
494+
val targetParentFolderId =
495+
settings.lastSavedFolderCache.getGuid() ?: BookmarkRoot.Mobile.id
496+
497+
val parentNode = bookmarksStorage.getBookmark(targetParentFolderId).getOrNull()
498+
?: bookmarksStorage.getBookmark(BookmarkRoot.Mobile.id).getOrNull()
499+
val parentGuid = parentNode?.guid ?: BookmarkRoot.Mobile.id
500+
501+
if (targetParentFolderId != parentGuid) {
502+
settings.lastSavedFolderCache.setGuid(null)
503+
}
504+
496505
val guidToEdit = useCases.bookmarksUseCases.addBookmark(
497506
url = selectedTab.content.url,
498507
title = selectedTab.content.title,

0 commit comments

Comments
 (0)