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
* commit '2209860597ce73a45b3925d3bd71cf54e9fa6296':
Hide 'select all' menu option when ALLOW_MULTIPLE intent is not passed in DocumentsActivity. Make 'select all' select only enabled files.
Change-Id: I95f08498ce97d9b16a1170ed8dc2e84fa4f7636b
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user