needsConfirm = true;
}
mMenuExecutor.onMenuClicked(item, needsConfirm, listener);
- if (action == R.id.action_select_all) {
- updateSupportedOperation();
- updateSelectionMenu();
- }
} finally {
root.unlockRenderThread();
}
mMenuTask.cancel();
}
+ updateSelectionMenu();
+
// Disable share action until share intent is in good shape
final MenuItem item = mShareActionProvider != null ?
mMenu.findItem(R.id.action_share) : null;
return mInverseSelection ^ mClickedSet.contains(itemId);
}
+ private int getTotalCount() {
+ if (mTotal < 0) {
+ mTotal = mIsAlbumSet
+ ? mSourceMediaSet.getSubMediaSetCount()
+ : mSourceMediaSet.getMediaItemCount();
+ }
+ return mTotal;
+ }
+
public int getSelectedCount() {
int count = mClickedSet.size();
if (mInverseSelection) {
- if (mTotal < 0) {
- mTotal = mIsAlbumSet
- ? mSourceMediaSet.getSubMediaSetCount()
- : mSourceMediaSet.getMediaItemCount();
- }
- count = mTotal - count;
+ count = getTotalCount() - count;
}
return count;
}
mClickedSet.add(path);
}
+ // Convert to inverse selection mode if everything is selected.
+ int count = getSelectedCount();
+ if (count == getTotalCount()) {
+ selectAll();
+ }
+
if (mListener != null) mListener.onSelectionChange(path, isItemSelected(path));
- if (getSelectedCount() == 0 && mAutoLeave) {
+ if (count == 0 && mAutoLeave) {
leaveSelectionMode();
}
}