Loading res/xml/settings_headers.xml +15 −11 Original line number Diff line number Diff line Loading @@ -19,7 +19,8 @@ <!-- WIRELESS and NETWORKS --> <header android:title="@string/header_category_wireless_networks" /> <header android:id="@+id/wireless_section" android:title="@string/header_category_wireless_networks" /> <!-- Wifi --> <header Loading Loading @@ -58,7 +59,8 @@ android:icon="@drawable/empty_icon" /> <!-- DEVICE --> <header android:title="@string/header_category_device" /> <header android:id="@+id/device_section" android:title="@string/header_category_device" /> <!-- Sound --> <header Loading Loading @@ -95,6 +97,13 @@ android:title="@string/applications_settings" android:id="@+id/application_settings" /> <!-- Manage users --> <header android:fragment="com.android.settings.users.UserSettings" android:icon="@drawable/ic_settings_sync" android:title="@string/user_settings_title" android:id="@+id/user_settings" /> <!-- Manufacturer hook --> <header android:fragment="com.android.settings.WirelessSettings" Loading @@ -104,7 +113,8 @@ <!-- PERSONAL --> <header android:title="@string/header_category_personal" /> <header android:id="@+id/personal_section" android:title="@string/header_category_personal" /> <!-- Location --> <header Loading Loading @@ -139,13 +149,6 @@ android:id="@+id/account_settings" android:title="@string/account_settings" /> <!-- Manage users --> <header android:fragment="com.android.settings.users.UserSettings" android:icon="@drawable/ic_settings_sync" android:title="@string/user_settings_title" android:id="@+id/user_settings" /> <header android:id="@+id/account_add" android:title="@string/add_account_label" Loading @@ -155,7 +158,8 @@ </header> <!-- SYSTEM --> <header android:title="@string/header_category_system" /> <header android:id="@+id/system_section" android:title="@string/header_category_system" /> <!-- Dock --> <header Loading src/com/android/settings/Settings.java +5 −0 Original line number Diff line number Diff line Loading @@ -96,12 +96,17 @@ public class Settings extends PreferenceActivity // Show only these settings for restricted users private int[] SETTINGS_FOR_RESTRICTED = { R.id.wireless_section, R.id.wifi_settings, R.id.bluetooth_settings, R.id.device_section, R.id.sound_settings, R.id.display_settings, R.id.personal_section, R.id.security_settings, R.id.account_settings, R.id.account_add, R.id.system_section, R.id.about_settings }; Loading src/com/android/settings/users/UserDetailsSettings.java +16 −27 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.settings.users; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.pm.ApplicationInfo; Loading @@ -35,6 +36,7 @@ import android.os.Bundle; import android.os.ParcelFileDescriptor; import android.os.RemoteException; import android.os.ServiceManager; import android.os.UserManager; import android.preference.CheckBoxPreference; import android.preference.EditTextPreference; import android.preference.Preference; Loading Loading @@ -91,6 +93,7 @@ public class UserDetailsSettings extends SettingsPreferenceFragment private IPackageManager mIPm; private PackageManager mPm; private UserManager mUm; private int mUserId; private boolean mNewUser; Loading @@ -102,12 +105,10 @@ public class UserDetailsSettings extends SettingsPreferenceFragment mNewUser = args == null || args.getInt(EXTRA_USER_ID, -1) == -1; mUserId = mNewUser ? -1 : args.getInt(EXTRA_USER_ID, -1); mIPm = IPackageManager.Stub.asInterface(ServiceManager.getService("package")); mUm = (UserManager) getActivity().getSystemService(Context.USER_SERVICE); if (mUserId == -1) { try { mUserId = mIPm.createUser(getString(R.string.user_new_user_name), 0).id; } catch (RemoteException re) { } mUserId = mUm.createUser(getString(R.string.user_new_user_name), 0).id; } mSystemAppGroup = (PreferenceGroup) findPreference(KEY_SYSTEM_APPS); mInstalledAppGroup = (PreferenceGroup) findPreference(KEY_INSTALLED_APPS); Loading Loading @@ -161,7 +162,7 @@ public class UserDetailsSettings extends SettingsPreferenceFragment } private void initExistingUser() { List<UserInfo> users = mPm.getUsers(); List<UserInfo> users = mUm.getUsers(); UserInfo foundUser = null; for (UserInfo user : users) { if (user.id == mUserId) { Loading Loading @@ -193,12 +194,7 @@ public class UserDetailsSettings extends SettingsPreferenceFragment } private void removeUserNow() { try { mIPm.removeUser(mUserId); } catch (RemoteException re) { // Couldn't remove user. Shouldn't happen Log.e(TAG, "Couldn't remove user " + mUserId + "\n" + re); } mUm.removeUser(mUserId); finish(); } Loading Loading @@ -276,12 +272,8 @@ public class UserDetailsSettings extends SettingsPreferenceFragment if (TextUtils.isEmpty(name)) { return false; } try { mIPm.setUserName(mUserId, (String) newValue); mUm.setUserName(mUserId, (String) newValue); mNamePref.setSummary((String) newValue); } catch (RemoteException re) { return false; } } return true; } Loading Loading @@ -354,17 +346,14 @@ public class UserDetailsSettings extends SettingsPreferenceFragment } private void saveCroppedImage(Intent data) { try { if (data.hasExtra("data")) { Bitmap bitmap = (Bitmap) data.getParcelableExtra("data"); ParcelFileDescriptor fd = mIPm.setUserIcon(mUserId); ParcelFileDescriptor fd = mUm.setUserIcon(mUserId); if (fd != null) { bitmap.compress(CompressFormat.PNG, 100, new ParcelFileDescriptor.AutoCloseOutputStream(fd)); setPhotoId(mPm.getUser(mUserId).iconPath); } setPhotoId(mUm.getUserInfo(mUserId).iconPath); } } catch (RemoteException re) { } } Loading src/com/android/settings/users/UserSettings.java +4 −1 Original line number Diff line number Diff line Loading @@ -16,9 +16,11 @@ package com.android.settings.users; import android.content.Context; import android.content.pm.UserInfo; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.UserManager; import android.preference.Preference; import android.preference.Preference.OnPreferenceClickListener; import android.preference.PreferenceActivity; Loading Loading @@ -80,7 +82,8 @@ public class UserSettings extends SettingsPreferenceFragment } private void updateUserList() { List<UserInfo> users = getActivity().getPackageManager().getUsers(); List<UserInfo> users = ((UserManager) getActivity().getSystemService(Context.USER_SERVICE)) .getUsers(); mUserListCategory.removeAll(); for (UserInfo user : users) { Loading Loading
res/xml/settings_headers.xml +15 −11 Original line number Diff line number Diff line Loading @@ -19,7 +19,8 @@ <!-- WIRELESS and NETWORKS --> <header android:title="@string/header_category_wireless_networks" /> <header android:id="@+id/wireless_section" android:title="@string/header_category_wireless_networks" /> <!-- Wifi --> <header Loading Loading @@ -58,7 +59,8 @@ android:icon="@drawable/empty_icon" /> <!-- DEVICE --> <header android:title="@string/header_category_device" /> <header android:id="@+id/device_section" android:title="@string/header_category_device" /> <!-- Sound --> <header Loading Loading @@ -95,6 +97,13 @@ android:title="@string/applications_settings" android:id="@+id/application_settings" /> <!-- Manage users --> <header android:fragment="com.android.settings.users.UserSettings" android:icon="@drawable/ic_settings_sync" android:title="@string/user_settings_title" android:id="@+id/user_settings" /> <!-- Manufacturer hook --> <header android:fragment="com.android.settings.WirelessSettings" Loading @@ -104,7 +113,8 @@ <!-- PERSONAL --> <header android:title="@string/header_category_personal" /> <header android:id="@+id/personal_section" android:title="@string/header_category_personal" /> <!-- Location --> <header Loading Loading @@ -139,13 +149,6 @@ android:id="@+id/account_settings" android:title="@string/account_settings" /> <!-- Manage users --> <header android:fragment="com.android.settings.users.UserSettings" android:icon="@drawable/ic_settings_sync" android:title="@string/user_settings_title" android:id="@+id/user_settings" /> <header android:id="@+id/account_add" android:title="@string/add_account_label" Loading @@ -155,7 +158,8 @@ </header> <!-- SYSTEM --> <header android:title="@string/header_category_system" /> <header android:id="@+id/system_section" android:title="@string/header_category_system" /> <!-- Dock --> <header Loading
src/com/android/settings/Settings.java +5 −0 Original line number Diff line number Diff line Loading @@ -96,12 +96,17 @@ public class Settings extends PreferenceActivity // Show only these settings for restricted users private int[] SETTINGS_FOR_RESTRICTED = { R.id.wireless_section, R.id.wifi_settings, R.id.bluetooth_settings, R.id.device_section, R.id.sound_settings, R.id.display_settings, R.id.personal_section, R.id.security_settings, R.id.account_settings, R.id.account_add, R.id.system_section, R.id.about_settings }; Loading
src/com/android/settings/users/UserDetailsSettings.java +16 −27 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.settings.users; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.pm.ApplicationInfo; Loading @@ -35,6 +36,7 @@ import android.os.Bundle; import android.os.ParcelFileDescriptor; import android.os.RemoteException; import android.os.ServiceManager; import android.os.UserManager; import android.preference.CheckBoxPreference; import android.preference.EditTextPreference; import android.preference.Preference; Loading Loading @@ -91,6 +93,7 @@ public class UserDetailsSettings extends SettingsPreferenceFragment private IPackageManager mIPm; private PackageManager mPm; private UserManager mUm; private int mUserId; private boolean mNewUser; Loading @@ -102,12 +105,10 @@ public class UserDetailsSettings extends SettingsPreferenceFragment mNewUser = args == null || args.getInt(EXTRA_USER_ID, -1) == -1; mUserId = mNewUser ? -1 : args.getInt(EXTRA_USER_ID, -1); mIPm = IPackageManager.Stub.asInterface(ServiceManager.getService("package")); mUm = (UserManager) getActivity().getSystemService(Context.USER_SERVICE); if (mUserId == -1) { try { mUserId = mIPm.createUser(getString(R.string.user_new_user_name), 0).id; } catch (RemoteException re) { } mUserId = mUm.createUser(getString(R.string.user_new_user_name), 0).id; } mSystemAppGroup = (PreferenceGroup) findPreference(KEY_SYSTEM_APPS); mInstalledAppGroup = (PreferenceGroup) findPreference(KEY_INSTALLED_APPS); Loading Loading @@ -161,7 +162,7 @@ public class UserDetailsSettings extends SettingsPreferenceFragment } private void initExistingUser() { List<UserInfo> users = mPm.getUsers(); List<UserInfo> users = mUm.getUsers(); UserInfo foundUser = null; for (UserInfo user : users) { if (user.id == mUserId) { Loading Loading @@ -193,12 +194,7 @@ public class UserDetailsSettings extends SettingsPreferenceFragment } private void removeUserNow() { try { mIPm.removeUser(mUserId); } catch (RemoteException re) { // Couldn't remove user. Shouldn't happen Log.e(TAG, "Couldn't remove user " + mUserId + "\n" + re); } mUm.removeUser(mUserId); finish(); } Loading Loading @@ -276,12 +272,8 @@ public class UserDetailsSettings extends SettingsPreferenceFragment if (TextUtils.isEmpty(name)) { return false; } try { mIPm.setUserName(mUserId, (String) newValue); mUm.setUserName(mUserId, (String) newValue); mNamePref.setSummary((String) newValue); } catch (RemoteException re) { return false; } } return true; } Loading Loading @@ -354,17 +346,14 @@ public class UserDetailsSettings extends SettingsPreferenceFragment } private void saveCroppedImage(Intent data) { try { if (data.hasExtra("data")) { Bitmap bitmap = (Bitmap) data.getParcelableExtra("data"); ParcelFileDescriptor fd = mIPm.setUserIcon(mUserId); ParcelFileDescriptor fd = mUm.setUserIcon(mUserId); if (fd != null) { bitmap.compress(CompressFormat.PNG, 100, new ParcelFileDescriptor.AutoCloseOutputStream(fd)); setPhotoId(mPm.getUser(mUserId).iconPath); } setPhotoId(mUm.getUserInfo(mUserId).iconPath); } } catch (RemoteException re) { } } Loading
src/com/android/settings/users/UserSettings.java +4 −1 Original line number Diff line number Diff line Loading @@ -16,9 +16,11 @@ package com.android.settings.users; import android.content.Context; import android.content.pm.UserInfo; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.UserManager; import android.preference.Preference; import android.preference.Preference.OnPreferenceClickListener; import android.preference.PreferenceActivity; Loading Loading @@ -80,7 +82,8 @@ public class UserSettings extends SettingsPreferenceFragment } private void updateUserList() { List<UserInfo> users = getActivity().getPackageManager().getUsers(); List<UserInfo> users = ((UserManager) getActivity().getSystemService(Context.USER_SERVICE)) .getUsers(); mUserListCategory.removeAll(); for (UserInfo user : users) { Loading