Fixed the scroll state saving.

This commit is contained in:
Karim Abou Zeid 2016-03-18 12:36:19 +01:00
commit fdf4a0f53f
3 changed files with 25 additions and 13 deletions

View file

@ -51,6 +51,7 @@ import java.util.List;
import butterknife.Bind;
import butterknife.ButterKnife;
import hugo.weaving.DebugLog;
public class FolderFragment extends AbsMainActivityFragment implements MainActivity.MainActivityFragmentCallbacks, CabHolder, BreadCrumbLayout.SelectionCallback, SongFileAdapter.Callbacks, AppBarLayout.OnOffsetChangedListener {
public static final String TAG = FolderFragment.class.getSimpleName();
@ -89,13 +90,15 @@ public class FolderFragment extends AbsMainActivityFragment implements MainActiv
return frag;
}
@DebugLog
public void setCrumb(BreadCrumbLayout.Crumb crumb, boolean addToHistory) {
saveScrollPosition();
updateAdapter(crumb.getFile());
recyclerView.getLayoutManager().scrollToPosition(crumb.getScrollPosition());
breadCrumbs.setActiveOrAdd(crumb, false);
if (addToHistory)
breadCrumbs.addHistory(crumb);
crumb = breadCrumbs.findCrumb(crumb.getFile()); // get the real reference so we can restore previous scroll states
((LinearLayoutManager) recyclerView.getLayoutManager()).scrollToPositionWithOffset(crumb.getScrollPosition(), 0);
}
private void saveScrollPosition() {