OSDN Git Service

Check the user limit before showing an ADD menu item
authorAmith Yamasani <yamasani@google.com>
Tue, 11 Sep 2012 18:01:35 +0000 (11:01 -0700)
committerAmith Yamasani <yamasani@google.com>
Tue, 11 Sep 2012 18:01:35 +0000 (11:01 -0700)
Change-Id: I0c5cffa149bfbf6824273b7180db55e1fe313021

src/com/android/settings/users/UserSettings.java

index 7369a92..14b2833 100644 (file)
@@ -172,9 +172,11 @@ public class UserSettings extends SettingsPreferenceFragment
     @Override
     public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
         if (UserHandle.myUserId() == UserHandle.USER_OWNER) {
-            MenuItem addUserItem = menu.add(0, MENU_ADD_USER, 0, R.string.user_add_user_menu);
-            addUserItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM
-                    | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
+            if (mUserManager.getMaxSupportedUsers() > mUserManager.getUsers().size()) {
+                MenuItem addUserItem = menu.add(0, MENU_ADD_USER, 0, R.string.user_add_user_menu);
+                addUserItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM
+                        | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
+            }
         } else {
             MenuItem removeThisUser = menu.add(0, MENU_REMOVE_USER, 0, R.string.user_remove_user_menu);
             removeThisUser.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM
@@ -338,6 +340,7 @@ public class UserSettings extends SettingsPreferenceFragment
             pref.setIcon(R.drawable.ic_user);
             mUserListCategory.addPreference(pref);
         }
+        getActivity().invalidateOptionsMenu();
     }
 
     /* TODO: Put this in an AsyncTask */