Merge "Hide \'select all\' menu option when ALLOW_MULTIPLE intent is not passed in DocumentsActivity. Make \'select all\' select only enabled files." into nyc-dev am: 2209860

am: 8505c08

* commit '8505c0824bac6904530704eb76e6fe60bd4f6af1':
  Hide 'select all' menu option when ALLOW_MULTIPLE intent is not passed in DocumentsActivity. Make 'select all' select only enabled files.

Change-Id: Ic596f7a30454f884997a3e4cd200179dc300c8e4
This commit is contained in:
Aga Wronska
2016-04-05 04:42:19 +00:00
committed by android-build-merger
2 changed files with 17 additions and 1 deletions

View File

@@ -106,6 +106,7 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Objects;
@@ -1063,8 +1064,19 @@ public class DirectoryFragment extends Fragment
}
public void selectAllFiles() {
// Exclude disabled files
List<String> enabled = new ArrayList<String>();
for (String id : mAdapter.getModelIds()) {
Cursor cursor = getModel().getItem(id);
String docMimeType = getCursorString(cursor, Document.COLUMN_MIME_TYPE);
int docFlags = getCursorInt(cursor, Document.COLUMN_FLAGS);
if (isDocumentEnabled(docMimeType, docFlags)) {
enabled.add(id);
}
}
// Only select things currently visible in the adapter.
boolean changed = mSelectionManager.setItemsSelected(mAdapter.getModelIds(), true);
boolean changed = mSelectionManager.setItemsSelected(enabled, true);
if (changed) {
updateDisplayState();
}

View File

@@ -148,11 +148,15 @@ public abstract class FragmentTuner {
MenuItem share = menu.findItem(R.id.menu_share);
MenuItem delete = menu.findItem(R.id.menu_delete);
MenuItem rename = menu.findItem(R.id.menu_rename);
MenuItem selectAll = menu.findItem(R.id.menu_select_all);
open.setVisible(true);
share.setVisible(false);
delete.setVisible(false);
rename.setVisible(false);
selectAll.setVisible(mState.allowMultiple);
Menus.disableHiddenItems(menu);
}
@Override