@@ -127,8 +127,7 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle sa
127127 public boolean onCreateActionMode (ActionMode actionMode , Menu menu ) {
128128 MenuInflater inflater = getActivity ().getMenuInflater ();
129129 inflater .inflate (R .menu .contact_list , menu );
130- setCorrectMenuVisibility (menu );
131- actionMode .setTitle ("1" );
130+ updateActionModeState (actionMode );
132131 return true ;
133132 }
134133
@@ -165,19 +164,16 @@ public void onDestroyActionMode(ActionMode actionMode) {
165164
166165 private void handleSelectAll () {
167166 getContactSelectionListAdapter ().selectAll ();
168- updateActionModeTitle ( );
167+ updateActionModeState ( actionMode );
169168 }
170169
171- private void updateActionModeTitle () {
172- actionMode .setTitle (String .valueOf (getContactSelectionListAdapter ().getActionModeSelection ().size ()));
173- }
174-
175- private void setCorrectMenuVisibility (Menu menu ) {
176- ContactSelectionListAdapter adapter = getContactSelectionListAdapter ();
177- if (adapter .getActionModeSelection ().size () > 1 ) {
178- menu .findItem (R .id .menu_view_profile ).setVisible (false );
170+ private void updateActionModeState (ActionMode actionMode ) {
171+ int size = getContactSelectionListAdapter ().getActionModeSelection ().size ();
172+ if (size == 0 ) {
173+ actionMode .finish ();
179174 } else {
180- menu .findItem (R .id .menu_view_profile ).setVisible (true );
175+ actionMode .getMenu ().findItem (R .id .menu_view_profile ).setVisible (size == 1 );
176+ actionMode .setTitle (String .valueOf (size ));
181177 }
182178 }
183179
@@ -293,10 +289,7 @@ public void onItemClick(ContactSelectionListItem contact, boolean handleActionMo
293289 {
294290 if (handleActionMode ) {
295291 if (actionMode != null ) {
296- Menu menu = actionMode .getMenu ();
297- setCorrectMenuVisibility (menu );
298- updateActionModeTitle ();
299- finishActionModeIfSelectionIsEmpty ();
292+ updateActionModeState (actionMode );
300293 }
301294 return ;
302295 }
@@ -334,17 +327,11 @@ public void onItemLongClick(ContactSelectionListItem view) {
334327 if (actionMode == null ) {
335328 actionMode = ((AppCompatActivity )getActivity ()).startSupportActionMode (actionModeCallback );
336329 } else {
337- finishActionModeIfSelectionIsEmpty ( );
330+ updateActionModeState ( actionMode );
338331 }
339332 }
340333 }
341334
342- private void finishActionModeIfSelectionIsEmpty () {
343- if (getContactSelectionListAdapter ().getActionModeSelection ().size () == 0 ) {
344- actionMode .finish ();
345- }
346- }
347-
348335 public void setOnContactSelectedListener (OnContactSelectedListener onContactSelectedListener ) {
349336 this .onContactSelectedListener = onContactSelectedListener ;
350337 }
0 commit comments