Made changes to menu items in WifiSettings and AccountSyncSettings.

When the admin has set disallow_config_wifi, menu items are not added.
we need to check if the menu items can be added after this fragment is
resumed. And for remove account menuitem, check whether any admin has
disabled management of a specific account type.

Change-Id: I58f5a59fe0614c9bc7068b15f43f89527939359d
This commit is contained in:
Sudheer Shanka
2016-01-27 14:08:44 +00:00
parent 40c0bf3ffc
commit 7ff7ea1e7f
2 changed files with 16 additions and 3 deletions

View File

@@ -270,9 +270,13 @@ public class AccountSyncSettings extends AccountPreferenceBase {
.setIcon(R.drawable.ic_menu_delete);
removeAccount.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER |
MenuItem.SHOW_AS_ACTION_WITH_TEXT);
final EnforcedAdmin admin = RestrictedLockUtils.checkIfRestrictionEnforced(
EnforcedAdmin admin = RestrictedLockUtils.checkIfRestrictionEnforced(
getPrefContext(), UserManager.DISALLOW_MODIFY_ACCOUNTS,
mUserHandle.getIdentifier());
if (admin == null) {
admin = RestrictedLockUtils.checkIfAccountManagementDisabled(
getPrefContext(), mAccount.type);
}
RestrictedLockUtils.setMenuItemAsDisabledByAdmin(getPrefContext(),
removeAccount, admin);
syncNow.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER |

View File

@@ -158,6 +158,8 @@ public class WifiSettings extends RestrictedSettingsFragment
private AccessPointPreference.UserBadgeCache mUserBadgeCache;
private Preference mAddPreference;
private MenuItem mScanMenuItem;
/* End of "used in Wifi Setup context" */
public WifiSettings() {
@@ -324,6 +326,7 @@ public class WifiSettings extends RestrictedSettingsFragment
}
mWifiTracker.startTracking();
activity.invalidateOptionsMenu();
}
@Override
@@ -350,8 +353,8 @@ public class WifiSettings extends RestrictedSettingsFragment
*/
void addOptionsMenuItems(Menu menu) {
final boolean wifiIsEnabled = mWifiTracker.isWifiEnabled();
menu.add(Menu.NONE, MENU_ID_SCAN, 0, R.string.menu_stats_refresh)
.setEnabled(wifiIsEnabled)
mScanMenuItem = menu.add(Menu.NONE, MENU_ID_SCAN, 0, R.string.menu_stats_refresh);
mScanMenuItem.setEnabled(wifiIsEnabled)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER);
menu.add(Menu.NONE, MENU_ID_ADVANCED, 0, R.string.wifi_menu_advanced)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER);
@@ -689,6 +692,9 @@ public class WifiSettings extends RestrictedSettingsFragment
getPreferenceScreen().addPreference(mAddPreference);
setProgressBarVisible(false);
}
if (mScanMenuItem != null) {
mScanMenuItem.setEnabled(true);
}
break;
case WifiManager.WIFI_STATE_ENABLING:
@@ -704,6 +710,9 @@ public class WifiSettings extends RestrictedSettingsFragment
case WifiManager.WIFI_STATE_DISABLED:
setOffMessage();
setProgressBarVisible(false);
if (mScanMenuItem != null) {
mScanMenuItem.setEnabled(false);
}
break;
}
}