From 981e9a96dca1f7548dfc255d506f045b8c85beeb Mon Sep 17 00:00:00 2001 From: Tony Mak Date: Thu, 14 Jul 2016 13:42:50 +0800 Subject: [PATCH] Disable instead of hiding add account preference Bug: 29236399 Change-Id: Ieb1af7f31a54b1502ae99682fc423e37c86a2353 --- .../settings/accounts/AccountSettings.java | 6 ++++-- .../settings/accounts/AccountSyncSettings.java | 16 ++++++++++------ 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/com/android/settings/accounts/AccountSettings.java b/src/com/android/settings/accounts/AccountSettings.java index eb740346f4d..4df36823db3 100644 --- a/src/com/android/settings/accounts/AccountSettings.java +++ b/src/com/android/settings/accounts/AccountSettings.java @@ -316,9 +316,11 @@ public class AccountSettings extends SettingsPreferenceFragment if (userInfo.isEnabled()) { profileData.authenticatorHelper = new AuthenticatorHelper(context, userInfo.getUserHandle(), this); - if (!RestrictedLockUtils.hasBaseUserRestriction(context, + profileData.addAccountPreference = newAddAccountPreference(context); + if (RestrictedLockUtils.hasBaseUserRestriction(context, UserManager.DISALLOW_MODIFY_ACCOUNTS, userInfo.id)) { - profileData.addAccountPreference = newAddAccountPreference(context); + profileData.addAccountPreference.setEnabled(false); + } else { profileData.addAccountPreference.checkRestrictionAndSetDisabled( DISALLOW_MODIFY_ACCOUNTS, userInfo.id); } diff --git a/src/com/android/settings/accounts/AccountSyncSettings.java b/src/com/android/settings/accounts/AccountSyncSettings.java index f8094740b53..fc760e66506 100644 --- a/src/com/android/settings/accounts/AccountSyncSettings.java +++ b/src/com/android/settings/accounts/AccountSyncSettings.java @@ -267,13 +267,16 @@ public class AccountSyncSettings extends AccountPreferenceBase { MenuItem syncCancel = menu.add(0, MENU_SYNC_CANCEL_ID, 0, getString(R.string.sync_menu_sync_cancel)) .setIcon(com.android.internal.R.drawable.ic_menu_close_clear_cancel); - if (!RestrictedLockUtils.hasBaseUserRestriction(getPrefContext(), + + MenuItem removeAccount = menu.add(0, MENU_REMOVE_ACCOUNT_ID, 0, + getString(R.string.remove_account_label)) + .setIcon(R.drawable.ic_menu_delete); + removeAccount.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER | + MenuItem.SHOW_AS_ACTION_WITH_TEXT); + if (RestrictedLockUtils.hasBaseUserRestriction(getPrefContext(), UserManager.DISALLOW_MODIFY_ACCOUNTS, mUserHandle.getIdentifier())) { - MenuItem removeAccount = menu.add(0, MENU_REMOVE_ACCOUNT_ID, 0, - getString(R.string.remove_account_label)) - .setIcon(R.drawable.ic_menu_delete); - removeAccount.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER | - MenuItem.SHOW_AS_ACTION_WITH_TEXT); + removeAccount.setEnabled(false); + } else { EnforcedAdmin admin = RestrictedLockUtils.checkIfRestrictionEnforced( getPrefContext(), UserManager.DISALLOW_MODIFY_ACCOUNTS, mUserHandle.getIdentifier()); @@ -284,6 +287,7 @@ public class AccountSyncSettings extends AccountPreferenceBase { RestrictedLockUtils.setMenuItemAsDisabledByAdmin(getPrefContext(), removeAccount, admin); } + syncNow.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER | MenuItem.SHOW_AS_ACTION_WITH_TEXT); syncCancel.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER |