Commit e4d892e1 authored by Xing Liu's avatar Xing Liu Committed by Commit Bot

Read later: Move reading list folder to be the first top level folder.

This CL moves reading list folder to be the first top level folder.

Bug: 1128074
Change-Id: I720955a1a14545a7380efd019e349b81cb554e82
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2462235Reviewed-by: default avatarTheresa  <twellington@chromium.org>
Reviewed-by: default avatarBrandon Wylie <wylieb@chromium.org>
Commit-Queue: Xing Liu <xingliu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#815411}
parent a4865f1f
...@@ -425,6 +425,24 @@ class BookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkItem> ...@@ -425,6 +425,24 @@ class BookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkItem>
BookmarkId mobileNodeId = mDelegate.getModel().getMobileFolderId(); BookmarkId mobileNodeId = mDelegate.getModel().getMobileFolderId();
BookmarkId othersNodeId = mDelegate.getModel().getOtherFolderId(); BookmarkId othersNodeId = mDelegate.getModel().getOtherFolderId();
List<BookmarkId> specialFoldersIds =
mDelegate.getModel().getTopLevelFolderIDs(/*getSpecial=*/true, /*getNormal=*/false);
BookmarkId rootFolder = mDelegate.getModel().getRootFolderId();
// managed and partner bookmark folders will be put to the bottom.
List<BookmarkId> managedAndPartnerFolderIds = new ArrayList<>();
for (BookmarkId bookmarkId : specialFoldersIds) {
// Adds reading list as the first top level folder.
if (bookmarkId.getType() == BookmarkType.READING_LIST) {
mTopLevelFolders.add(bookmarkId);
continue;
}
BookmarkId parent = mDelegate.getModel().getBookmarkById(bookmarkId).getParentId();
if (parent.equals(rootFolder)) managedAndPartnerFolderIds.add(bookmarkId);
}
// Adds normal bookmark top level folders.
if (mDelegate.getModel().isFolderVisible(mobileNodeId)) { if (mDelegate.getModel().isFolderVisible(mobileNodeId)) {
mTopLevelFolders.add(mobileNodeId); mTopLevelFolders.add(mobileNodeId);
} }
...@@ -437,13 +455,7 @@ class BookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkItem> ...@@ -437,13 +455,7 @@ class BookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkItem>
// Add any top-level managed and partner bookmark folders that are children of the root // Add any top-level managed and partner bookmark folders that are children of the root
// folder. // folder.
List<BookmarkId> managedAndPartnerFolderIds = mTopLevelFolders.addAll(managedAndPartnerFolderIds);
mDelegate.getModel().getTopLevelFolderIDs(true, false);
BookmarkId rootFolder = mDelegate.getModel().getRootFolderId();
for (BookmarkId bookmarkId : managedAndPartnerFolderIds) {
BookmarkId parent = mDelegate.getModel().getBookmarkById(bookmarkId).getParentId();
if (parent.equals(rootFolder)) mTopLevelFolders.add(bookmarkId);
}
} }
@VisibleForTesting @VisibleForTesting
......
...@@ -1484,6 +1484,12 @@ public class BookmarkTest { ...@@ -1484,6 +1484,12 @@ public class BookmarkTest {
TestThreadUtils.runOnUiThreadBlocking( TestThreadUtils.runOnUiThreadBlocking(
() -> mManager.openFolder(mBookmarkModel.getRootFolderId())); () -> mManager.openFolder(mBookmarkModel.getRootFolderId()));
Assert.assertEquals("Wrong number of top level folders.", 2, getAdapter().getItemCount());
Assert.assertEquals("The first view should be reading list.", BookmarkType.READING_LIST,
getIdByPosition(0).getType());
Assert.assertEquals("The second view should be a normal folder.", BookmarkType.NORMAL,
getIdByPosition(1).getType());
// Reading list should show in the root folder. // Reading list should show in the root folder.
onView(withText("Reading list")).check(matches(isDisplayed())); onView(withText("Reading list")).check(matches(isDisplayed()));
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment