From 7b19f527fc24d6b1682035c25034018631202caa Mon Sep 17 00:00:00 2001 From: Scott Jackson Date: Wed, 24 Feb 2016 17:39:50 -0800 Subject: Move SelectDirectoryFragment to use abstract setupLayoutManager --- .../dsub/fragments/SelectDirectoryFragment.java | 37 ++++++++++------------ 1 file changed, 16 insertions(+), 21 deletions(-) diff --git a/app/src/main/java/github/daneren2005/dsub/fragments/SelectDirectoryFragment.java b/app/src/main/java/github/daneren2005/dsub/fragments/SelectDirectoryFragment.java index 718ad5c5..f4f0ac30 100644 --- a/app/src/main/java/github/daneren2005/dsub/fragments/SelectDirectoryFragment.java +++ b/app/src/main/java/github/daneren2005/dsub/fragments/SelectDirectoryFragment.java @@ -190,27 +190,7 @@ public class SelectDirectoryFragment extends SubsonicFragment implements Section recyclerView.setHasFixedSize(true); fastScroller = (FastScroller) rootView.findViewById(R.id.fragment_fast_scroller); setupScrollList(recyclerView); - - if(largeAlbums) { - GridLayoutManager gridLayoutManager = new GridLayoutManager(context, getRecyclerColumnCount()); - gridLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() { - @Override - public int getSpanSize(int position) { - int viewType = entryGridAdapter.getItemViewType(position); - if(viewType == EntryGridAdapter.VIEW_TYPE_SONG || viewType == EntryGridAdapter.VIEW_TYPE_HEADER || viewType == EntryInfiniteGridAdapter.VIEW_TYPE_LOADING) { - return getRecyclerColumnCount(); - } else { - return 1; - } - } - }); - recyclerView.addItemDecoration(new GridSpacingDecoration()); - recyclerView.setLayoutManager(gridLayoutManager); - } else { - LinearLayoutManager layoutManager = new LinearLayoutManager(context); - layoutManager.setOrientation(LinearLayoutManager.VERTICAL); - recyclerView.setLayoutManager(layoutManager); - } + setupLayoutManager(recyclerView, largeAlbums); if(entries == null) { if(primaryFragment || secondaryFragment) { @@ -693,6 +673,21 @@ public class SelectDirectoryFragment extends SubsonicFragment implements Section return entryGridAdapter; } + @Override + public GridLayoutManager.SpanSizeLookup getSpanSizeLookup(final GridLayoutManager gridLayoutManager) { + return new GridLayoutManager.SpanSizeLookup() { + @Override + public int getSpanSize(int position) { + int viewType = entryGridAdapter.getItemViewType(position); + if(viewType == EntryGridAdapter.VIEW_TYPE_SONG || viewType == EntryGridAdapter.VIEW_TYPE_HEADER || viewType == EntryInfiniteGridAdapter.VIEW_TYPE_LOADING) { + return gridLayoutManager.getSpanCount(); + } else { + return 1; + } + } + }; + } + private void finishLoading() { boolean validData = !entries.isEmpty() || !albums.isEmpty(); if(!validData) { -- cgit v1.2.3