From 8c9120b9ccf3af45c55274ca68e214e8745a1c75 Mon Sep 17 00:00:00 2001 From: Fyodor Kupolov Date: Mon, 7 Mar 2016 11:49:35 -0800 Subject: [PATCH] First time populate user list in onCreate Call updateUserList from onCreate instead of onResume during initialization. This will suppress unnecessary animations. Bug: 27527929 Change-Id: Ia420f41894b2033fb7f02de01168ccd2c6331588 --- .../android/settings/users/UserSettings.java | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/src/com/android/settings/users/UserSettings.java b/src/com/android/settings/users/UserSettings.java index 156032695c6..4b060a0dc61 100644 --- a/src/com/android/settings/users/UserSettings.java +++ b/src/com/android/settings/users/UserSettings.java @@ -40,10 +40,8 @@ import android.os.RemoteException; import android.os.UserHandle; import android.os.UserManager; import android.provider.Settings; -import android.support.v14.preference.SwitchPreference; import android.support.v7.preference.Preference; import android.support.v7.preference.Preference.OnPreferenceClickListener; -import android.support.v7.preference.PreferenceCategory; import android.support.v7.preference.PreferenceGroup; import android.support.v7.preference.PreferenceScreen; import android.util.Log; @@ -61,7 +59,6 @@ import com.android.settings.ChooseLockGeneric; import com.android.settings.DimmableIconPreference; import com.android.settings.OwnerInfoSettings; import com.android.settings.R; -import com.android.settings.SelectableEditTextPreference; import com.android.settings.SettingsActivity; import com.android.settings.SettingsPreferenceFragment; import com.android.settings.Utils; @@ -144,7 +141,7 @@ public class UserSettings extends SettingsPreferenceFragment private int mAddedUserId = 0; private boolean mAddingUser; private UserCapabilities mUserCaps; - + private boolean mShouldUpdateUserList = true; private final Object mUserLock = new Object(); private UserManager mUserManager; private SparseArray mUserIcons = new SparseArray(); @@ -236,12 +233,13 @@ public class UserSettings extends SettingsPreferenceFragment mLockScreenSettings = (PreferenceGroup) findPreference("lock_screen_settings"); mAddUserWhenLocked = (RestrictedSwitchPreference) findPreference("add_users_when_locked"); mEmergencyInfoPreference = findPreference(KEY_EMERGENCY_INFO); - loadProfile(); setHasOptionsMenu(true); IntentFilter filter = new IntentFilter(Intent.ACTION_USER_REMOVED); filter.addAction(Intent.ACTION_USER_INFO_CHANGED); - context.registerReceiverAsUser(mUserChangeReceiver, UserHandle.ALL, filter, null, - mHandler); + context.registerReceiverAsUser(mUserChangeReceiver, UserHandle.ALL, filter, null, mHandler); + loadProfile(); + updateUserList(); + mShouldUpdateUserList = false; } @Override @@ -250,8 +248,16 @@ public class UserSettings extends SettingsPreferenceFragment if (!mUserCaps.mEnabled) return; - loadProfile(); - updateUserList(); + if (mShouldUpdateUserList) { + loadProfile(); + updateUserList(); + } + } + + @Override + public void onPause() { + mShouldUpdateUserList = true; + super.onPause(); } @Override