2424import org .mozilla .vrbrowser .utils .AnimationHelper ;
2525import org .mozilla .vrbrowser .utils .SystemUtils ;
2626
27+ import java .util .Arrays ;
28+ import java .util .Collections ;
2729import java .util .List ;
2830import java .util .Objects ;
2931
32+ import mozilla .appservices .places .BookmarkRoot ;
3033import mozilla .components .concept .storage .BookmarkNode ;
3134import mozilla .components .concept .storage .BookmarkNodeType ;
3235
@@ -74,8 +77,15 @@ public void setBookmarkList(final List<BookmarkNode> bookmarkList) {
7477
7578 List <Bookmark > newDisplayList ;
7679 if (mDisplayList == null || mDisplayList .isEmpty ()) {
77- newDisplayList = Bookmark .getRootDisplayListTree (mBookmarksList );
80+ newDisplayList = Bookmark .getDisplayListTree (mBookmarksList , Collections . singletonList ( BookmarkRoot . Mobile . getId ()) );
7881 mDisplayList = newDisplayList ;
82+ for (Bookmark node : mDisplayList ) {
83+ if (node .isExpanded ()) {
84+ if (mBookmarkItemCallback != null ) {
85+ mBookmarkItemCallback .onFolderOpened (node );
86+ }
87+ }
88+ }
7989 notifyItemRangeInserted (0 , mDisplayList .size ());
8090
8191 } else {
@@ -198,7 +208,9 @@ public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int
198208 switch (ev ) {
199209 case MotionEvent .ACTION_UP :
200210 binding .setIsHovered (true );
201- mBookmarkItemCallback .onMore (view , binding .getItem ());
211+ if (mBookmarkItemCallback != null ) {
212+ mBookmarkItemCallback .onMore (view , binding .getItem ());
213+ }
202214 return true ;
203215
204216 case MotionEvent .ACTION_DOWN :
@@ -213,7 +225,9 @@ public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int
213225 switch (ev ) {
214226 case MotionEvent .ACTION_UP :
215227 binding .setIsHovered (true );
216- mBookmarkItemCallback .onDelete (view , binding .getItem ());
228+ if (mBookmarkItemCallback != null ) {
229+ mBookmarkItemCallback .onDelete (view , binding .getItem ());
230+ }
217231 return true ;
218232
219233 case MotionEvent .ACTION_DOWN :
@@ -349,7 +363,9 @@ public void onClick(View view, Bookmark item) {
349363 List <Bookmark > newDisplayList = Bookmark .getDisplayListTree (mBookmarksList , openFoldersGuid );
350364 notifyDiff (newDisplayList );
351365
352- mBookmarkItemCallback .onFolderOpened (item );
366+ if (mBookmarkItemCallback != null ) {
367+ mBookmarkItemCallback .onFolderOpened (item );
368+ }
353369 }
354370 };
355371
0 commit comments