17b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin/* 27b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin * Copyright (C) 2016 The Android Open Source Project 37b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin * 47b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin * Licensed under the Apache License, Version 2.0 (the "License"); 57b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin * you may not use this file except in compliance with the License. 67b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin * You may obtain a copy of the License at 77b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin * 87b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin * http://www.apache.org/licenses/LICENSE-2.0 97b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin * 107b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin * Unless required by applicable law or agreed to in writing, software 117b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin * distributed under the License is distributed on an "AS IS" BASIS, 127b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 137b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin * See the License for the specific language governing permissions and 147b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin * limitations under the License. 157b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin */ 167b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin 177b38f3465c3779384a17e84cc04609d9d68b56f4Ben Linpackage com.android.documentsui.dirlist; 187b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin 19b62d4e5804d807703697ad7eeb85131a35ce4ab4Ben Lin 207b38f3465c3779384a17e84cc04609d9d68b56f4Ben Linimport android.content.Context; 217b38f3465c3779384a17e84cc04609d9d68b56f4Ben Linimport android.database.Cursor; 227b38f3465c3779384a17e84cc04609d9d68b56f4Ben Linimport android.widget.Space; 237b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin 247b38f3465c3779384a17e84cc04609d9d68b56f4Ben Linimport com.android.documentsui.R; 257b38f3465c3779384a17e84cc04609d9d68b56f4Ben Linimport com.android.documentsui.base.State; 267b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin 277b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin/** 287b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin * The most elegant transparent blank box that spans N rows ever conceived. 297b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin * Used by {@link DirectoryAddonsAdapter}. 307b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin */ 31b62d4e5804d807703697ad7eeb85131a35ce4ab4Ben Linfinal class TransparentDividerDocumentHolder extends MessageHolder { 327b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin private final int mVisibleHeight; 337b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin private State mState; 347b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin 357b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin public TransparentDividerDocumentHolder(Context context) { 367b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin super(context, new Space(context)); 377b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin 387b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin mVisibleHeight = context.getResources().getDimensionPixelSize( 397b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin R.dimen.grid_section_separator_height); 407b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin } 417b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin 427b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin public void bind(State state) { 437b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin mState = state; 447b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin bind(null, null); 457b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin } 467b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin 477b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin @Override 487b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin public void bind(Cursor cursor, String modelId) { 497b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin if (mState.derivedMode == State.MODE_GRID) { 507b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin itemView.setMinimumHeight(mVisibleHeight); 517b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin } else { 527b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin itemView.setMinimumHeight(0); 537b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin } 547b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin return; 557b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin } 567b38f3465c3779384a17e84cc04609d9d68b56f4Ben Lin}