diff --git a/src/com/android/settings/DeviceAdminAdd.java b/src/com/android/settings/DeviceAdminAdd.java index 6c6f8d3c67d..bcd247e0ca0 100644 --- a/src/com/android/settings/DeviceAdminAdd.java +++ b/src/com/android/settings/DeviceAdminAdd.java @@ -38,7 +38,6 @@ import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.ResolveInfo; import android.content.res.Resources; -import android.os.Binder; import android.os.Bundle; import android.os.Handler; import android.os.RemoteCallback; @@ -473,7 +472,7 @@ public class DeviceAdminAdd extends Activity { private void addDeviceAdminPolicies(boolean showDescription) { if (!mAdminPoliciesInitialized) { - boolean isOwner = Binder.getCallingUserHandle().isOwner(); + boolean isOwner = UserHandle.getCallingUserHandle().isOwner(); for (DeviceAdminInfo.PolicyInfo pi : mDeviceAdmin.getUsedPolicies()) { int descriptionId = isOwner ? pi.description : pi.descriptionForSecondaryUsers; int labelId = isOwner ? pi.label : pi.labelForSecondaryUsers; diff --git a/src/com/android/settings/accounts/AccountSyncSettings.java b/src/com/android/settings/accounts/AccountSyncSettings.java index 2fbae85036c..59ca995ba0b 100644 --- a/src/com/android/settings/accounts/AccountSyncSettings.java +++ b/src/com/android/settings/accounts/AccountSyncSettings.java @@ -36,7 +36,6 @@ import android.content.SyncInfo; import android.content.SyncStatusInfo; import android.content.pm.ProviderInfo; import android.content.pm.UserInfo; -import android.os.Binder; import android.os.Bundle; import android.os.UserHandle; import android.os.UserManager; @@ -220,7 +219,8 @@ public class AccountSyncSettings extends AccountPreferenceBase { removePreference("dummy"); mAuthenticatorHelper.listenToAccountUpdates(); updateAuthDescriptions(); - onAccountsUpdate(Binder.getCallingUserHandle()); + onAccountsUpdate(UserHandle.getCallingUserHandle()); + super.onResume(); } diff --git a/src/com/android/settings/users/UserSettings.java b/src/com/android/settings/users/UserSettings.java index d62d672cfec..1211c7682b0 100644 --- a/src/com/android/settings/users/UserSettings.java +++ b/src/com/android/settings/users/UserSettings.java @@ -396,7 +396,23 @@ public class UserSettings extends SettingsPreferenceFragment private UserInfo createRestrictedProfile() { UserInfo newUserInfo = mUserManager.createRestrictedProfile( getResources().getString(R.string.user_new_profile_name)); + int userId = newUserInfo.id; + UserHandle user = new UserHandle(userId); + mUserManager.setUserRestriction(UserManager.DISALLOW_MODIFY_ACCOUNTS, true, user); + // Change the setting before applying the DISALLOW_SHARE_LOCATION restriction, otherwise + // the putIntForUser() will fail. + Secure.putIntForUser(getContentResolver(), + Secure.LOCATION_MODE, Secure.LOCATION_MODE_OFF, userId); + mUserManager.setUserRestriction(UserManager.DISALLOW_SHARE_LOCATION, true, user); assignDefaultPhoto(newUserInfo); + // Add shared accounts + AccountManager am = AccountManager.get(getActivity()); + Account [] accounts = am.getAccounts(); + if (accounts != null) { + for (Account account : accounts) { + am.addSharedAccount(account, user); + } + } return newUserInfo; }