Avoid re-creating a user when activity is resumed

onCreate() was getting called again, resulting in another user being
created. Keeping the new userid across pause/resume.

Change-Id: Id7930227895e95a60a77efddf361ab9408a8f797
This commit is contained in:
Amith Yamasani
2012-08-25 07:47:43 -07:00
parent cf03309273
commit 92e2b4f4af

View File

@@ -90,6 +90,11 @@ public class UserDetailsSettings extends SettingsPreferenceFragment
mIPm = IPackageManager.Stub.asInterface(ServiceManager.getService("package"));
mUm = (UserManager) getActivity().getSystemService(Context.USER_SERVICE);
if (icicle != null && icicle.containsKey(EXTRA_USER_ID)) {
mUserId = icicle.getInt(EXTRA_USER_ID);
mNewUser = false;
}
if (mUserId == -1) {
mUserId = mUm.createUser(getString(R.string.user_new_user_name), 0).id;
}
@@ -111,6 +116,12 @@ public class UserDetailsSettings extends SettingsPreferenceFragment
}
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putInt(EXTRA_USER_ID, mUserId);
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
if (mUserId == 0) {