diff options
Diffstat (limited to 'src/com/android/settings/Settings.java')
-rw-r--r-- | src/com/android/settings/Settings.java | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java index be8e1cc..64a7d7f 100644 --- a/src/com/android/settings/Settings.java +++ b/src/com/android/settings/Settings.java @@ -178,6 +178,7 @@ public class Settings extends PreferenceActivity if (mParentHeader != null) { setParentTitle(mParentHeader.title, null, new OnClickListener() { + @Override public void onClick(View v) { switchToParent(mParentHeader.fragment); } @@ -405,7 +406,6 @@ public class Settings extends PreferenceActivity @Override public void onBuildHeaders(List<Header> headers) { loadHeadersFromResource(R.xml.settings_headers, headers); - updateHeaderList(headers); } @@ -414,6 +414,8 @@ public class Settings extends PreferenceActivity DevelopmentSettings.PREF_SHOW, android.os.Build.TYPE.equals("eng")); int i = 0; + + final UserManager um = (UserManager) getSystemService(Context.USER_SERVICE); mHeaderIndexMap.clear(); while (i < target.size()) { Header header = target.get(i); @@ -464,6 +466,10 @@ public class Settings extends PreferenceActivity } } } + } else if (id == R.id.account_add) { + if (um.hasUserRestriction(UserManager.DISALLOW_MODIFY_ACCOUNTS)) { + target.remove(i); + } } if (i < target.size() && target.get(i) == header @@ -778,6 +784,7 @@ public class Settings extends PreferenceActivity return true; } + @Override public boolean shouldUpRecreateTask(Intent targetIntent) { return super.shouldUpRecreateTask(new Intent(this, Settings.class)); } |