Reload groups and filters when provider status changes
And avoid showing "Create new..." when no group-writable accounts
are available.
Bug 29450322
Bug 28842403
Change-Id: Iac024b1a23e317930b6ac6ceaa175e50a2dd7d84
diff --git a/src/com/android/contacts/ContactsDrawerActivity.java b/src/com/android/contacts/ContactsDrawerActivity.java
index 62a9258..888db49 100644
--- a/src/com/android/contacts/ContactsDrawerActivity.java
+++ b/src/com/android/contacts/ContactsDrawerActivity.java
@@ -125,7 +125,11 @@
menu.removeItem(R.id.nav_help);
}
- // Set up fragment manager to load groups and filters.
+ loadGroupsAndFilters();
+ }
+
+ // Set up fragment manager to load groups and filters.
+ protected void loadGroupsAndFilters() {
final FragmentManager fragmentManager = getFragmentManager();
final FragmentTransaction transaction = fragmentManager.beginTransaction();
addGroupsAndFiltersFragments(transaction);
@@ -191,6 +195,11 @@
}
}
+ // Don't show "Create new..." menu if there's no group-writable accounts available.
+ if (!ContactsUtils.areGroupWritableAccountsAvailable(this)) {
+ return;
+ }
+
// Create a menu item in the sub menu to add new groups
final MenuItem menuItem = subMenu.add(R.id.nav_groups_items, Menu.NONE, Menu.NONE,
getString(R.string.menu_new_group_action_bar));