Pick column count based on available space.
Set background color of RecyclerView.
BUG: 22640007
BUG: 22672201
Change-Id: Ic9c65a2a25164698bc08b4620bfa0b067d620f1b
diff --git a/src/com/android/documentsui/DirectoryFragment.java b/src/com/android/documentsui/DirectoryFragment.java
index 0554601..e29c4ba 100644
--- a/src/com/android/documentsui/DirectoryFragment.java
+++ b/src/com/android/documentsui/DirectoryFragment.java
@@ -510,18 +510,18 @@
final LayoutManager layout;
switch (mode) {
case MODE_GRID:
- if (mGridLayout == null) {
- // TODO: Determine appropriate column count.
- mGridLayout = new GridLayoutManager(getContext(), 4);
- }
thumbSize = getResources().getDimensionPixelSize(R.dimen.grid_width);
+ if (mGridLayout == null) {
+ int columnCount = Math.max(1, mRecView.getWidth() / thumbSize);
+ mGridLayout = new GridLayoutManager(getContext(), columnCount);
+ }
layout = mGridLayout;
break;
case MODE_LIST:
+ thumbSize = getResources().getDimensionPixelSize(R.dimen.icon_size);
if (mListLayout == null) {
mListLayout = new LinearLayoutManager(getContext());
}
- thumbSize = getResources().getDimensionPixelSize(R.dimen.icon_size);
layout = mListLayout;
break;
case MODE_UNKNOWN: