From 90bf9f5f28e78ac71782907ba0b3bea4e4111f0a Mon Sep 17 00:00:00 2001 From: Ben Kwa Date: Fri, 8 Jan 2016 13:31:11 -0800 Subject: [PATCH] Hide the divider in list mode. BUG=26399570 Change-Id: I5013bf9ae80c003419f3f22dcf2a7e6787c19711 --- .../dirlist/EmptyDocumentHolder.java | 17 ++++++++++++++--- .../SectionBreakDocumentsAdapterWrapper.java | 4 ++++ 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/packages/DocumentsUI/src/com/android/documentsui/dirlist/EmptyDocumentHolder.java b/packages/DocumentsUI/src/com/android/documentsui/dirlist/EmptyDocumentHolder.java index ab67a5b6cec99..d1f8ff7878331 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/dirlist/EmptyDocumentHolder.java +++ b/packages/DocumentsUI/src/com/android/documentsui/dirlist/EmptyDocumentHolder.java @@ -18,22 +18,33 @@ package com.android.documentsui.dirlist; import android.content.Context; import android.database.Cursor; +import android.view.View; import android.widget.Space; import com.android.documentsui.R; import com.android.documentsui.State; final class EmptyDocumentHolder extends DocumentHolder { + final int mVisibleHeight; + public EmptyDocumentHolder(Context context) { super(context, new Space(context)); // Per UX spec, this puts a bigger gap between the folders and documents in the grid. - final int gridMargin = context.getResources().getDimensionPixelSize(R.dimen.grid_item_margin); - itemView.setMinimumHeight(gridMargin * 2); + mVisibleHeight = context.getResources().getDimensionPixelSize(R.dimen.grid_item_margin) * 2; } + public void bind(State state) { + bind(null, null, state); + } + + @Override public void bind(Cursor cursor, String modelId, State state) { - // Nothing to bind. + if (state.derivedMode == State.MODE_GRID) { + itemView.setMinimumHeight(mVisibleHeight); + } else { + itemView.setMinimumHeight(0); + } return; } } diff --git a/packages/DocumentsUI/src/com/android/documentsui/dirlist/SectionBreakDocumentsAdapterWrapper.java b/packages/DocumentsUI/src/com/android/documentsui/dirlist/SectionBreakDocumentsAdapterWrapper.java index b4782f035e119..107a4ece21b83 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/dirlist/SectionBreakDocumentsAdapterWrapper.java +++ b/packages/DocumentsUI/src/com/android/documentsui/dirlist/SectionBreakDocumentsAdapterWrapper.java @@ -76,6 +76,8 @@ final class SectionBreakDocumentsAdapterWrapper extends DocumentsAdapter { public void onBindViewHolder(DocumentHolder holder, int p, List payload) { if (holder.getItemViewType() != ITEM_TYPE_SECTION_BREAK) { mDelegate.onBindViewHolder(holder, toDelegatePosition(p), payload); + } else { + ((EmptyDocumentHolder)holder).bind(mEnv.getDisplayState()); } } @@ -83,6 +85,8 @@ final class SectionBreakDocumentsAdapterWrapper extends DocumentsAdapter { public void onBindViewHolder(DocumentHolder holder, int p) { if (holder.getItemViewType() != ITEM_TYPE_SECTION_BREAK) { mDelegate.onBindViewHolder(holder, toDelegatePosition(p)); + } else { + ((EmptyDocumentHolder)holder).bind(mEnv.getDisplayState()); } }