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
This commit is contained in:
Fyodor Kupolov
2016-03-07 11:49:35 -08:00
parent d9779db8c9
commit 8c9120b9cc

View File

@@ -40,10 +40,8 @@ import android.os.RemoteException;
import android.os.UserHandle; import android.os.UserHandle;
import android.os.UserManager; import android.os.UserManager;
import android.provider.Settings; import android.provider.Settings;
import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.Preference; import android.support.v7.preference.Preference;
import android.support.v7.preference.Preference.OnPreferenceClickListener; import android.support.v7.preference.Preference.OnPreferenceClickListener;
import android.support.v7.preference.PreferenceCategory;
import android.support.v7.preference.PreferenceGroup; import android.support.v7.preference.PreferenceGroup;
import android.support.v7.preference.PreferenceScreen; import android.support.v7.preference.PreferenceScreen;
import android.util.Log; import android.util.Log;
@@ -61,7 +59,6 @@ import com.android.settings.ChooseLockGeneric;
import com.android.settings.DimmableIconPreference; import com.android.settings.DimmableIconPreference;
import com.android.settings.OwnerInfoSettings; import com.android.settings.OwnerInfoSettings;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.SelectableEditTextPreference;
import com.android.settings.SettingsActivity; import com.android.settings.SettingsActivity;
import com.android.settings.SettingsPreferenceFragment; import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils; import com.android.settings.Utils;
@@ -144,7 +141,7 @@ public class UserSettings extends SettingsPreferenceFragment
private int mAddedUserId = 0; private int mAddedUserId = 0;
private boolean mAddingUser; private boolean mAddingUser;
private UserCapabilities mUserCaps; private UserCapabilities mUserCaps;
private boolean mShouldUpdateUserList = true;
private final Object mUserLock = new Object(); private final Object mUserLock = new Object();
private UserManager mUserManager; private UserManager mUserManager;
private SparseArray<Bitmap> mUserIcons = new SparseArray<Bitmap>(); private SparseArray<Bitmap> mUserIcons = new SparseArray<Bitmap>();
@@ -236,12 +233,13 @@ public class UserSettings extends SettingsPreferenceFragment
mLockScreenSettings = (PreferenceGroup) findPreference("lock_screen_settings"); mLockScreenSettings = (PreferenceGroup) findPreference("lock_screen_settings");
mAddUserWhenLocked = (RestrictedSwitchPreference) findPreference("add_users_when_locked"); mAddUserWhenLocked = (RestrictedSwitchPreference) findPreference("add_users_when_locked");
mEmergencyInfoPreference = findPreference(KEY_EMERGENCY_INFO); mEmergencyInfoPreference = findPreference(KEY_EMERGENCY_INFO);
loadProfile();
setHasOptionsMenu(true); setHasOptionsMenu(true);
IntentFilter filter = new IntentFilter(Intent.ACTION_USER_REMOVED); IntentFilter filter = new IntentFilter(Intent.ACTION_USER_REMOVED);
filter.addAction(Intent.ACTION_USER_INFO_CHANGED); filter.addAction(Intent.ACTION_USER_INFO_CHANGED);
context.registerReceiverAsUser(mUserChangeReceiver, UserHandle.ALL, filter, null, context.registerReceiverAsUser(mUserChangeReceiver, UserHandle.ALL, filter, null, mHandler);
mHandler); loadProfile();
updateUserList();
mShouldUpdateUserList = false;
} }
@Override @Override
@@ -250,9 +248,17 @@ public class UserSettings extends SettingsPreferenceFragment
if (!mUserCaps.mEnabled) return; if (!mUserCaps.mEnabled) return;
if (mShouldUpdateUserList) {
loadProfile(); loadProfile();
updateUserList(); updateUserList();
} }
}
@Override
public void onPause() {
mShouldUpdateUserList = true;
super.onPause();
}
@Override @Override
public void onDestroy() { public void onDestroy() {