Merge "[User Switcher] Ensure unlocked when launching" into tm-qpr-dev am: 6ecea86660

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19066343

Change-Id: I29e62c8fc9038b705816e1d19eada3228677878e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Aaron Liu
2022-07-01 16:31:56 +00:00
committed by Automerger Merge Worker

View File

@@ -31,6 +31,7 @@ import androidx.annotation.Nullable;
import com.android.settingslib.users.EditUserInfoController; import com.android.settingslib.users.EditUserInfoController;
import com.android.systemui.R; import com.android.systemui.R;
import com.android.systemui.plugins.ActivityStarter;
import javax.inject.Inject; import javax.inject.Inject;
@@ -55,15 +56,18 @@ public class CreateUserActivity extends Activity {
private final UserCreator mUserCreator; private final UserCreator mUserCreator;
private final EditUserInfoController mEditUserInfoController; private final EditUserInfoController mEditUserInfoController;
private final IActivityManager mActivityManager; private final IActivityManager mActivityManager;
private final ActivityStarter mActivityStarter;
private Dialog mSetupUserDialog; private Dialog mSetupUserDialog;
@Inject @Inject
public CreateUserActivity(UserCreator userCreator, public CreateUserActivity(UserCreator userCreator,
EditUserInfoController editUserInfoController, IActivityManager activityManager) { EditUserInfoController editUserInfoController, IActivityManager activityManager,
ActivityStarter activityStarter) {
mUserCreator = userCreator; mUserCreator = userCreator;
mEditUserInfoController = editUserInfoController; mEditUserInfoController = editUserInfoController;
mActivityManager = activityManager; mActivityManager = activityManager;
mActivityStarter = activityStarter;
} }
@Override @Override
@@ -104,10 +108,7 @@ public class CreateUserActivity extends Activity {
return mEditUserInfoController.createDialog( return mEditUserInfoController.createDialog(
this, this,
(intent, requestCode) -> { this::startActivity,
mEditUserInfoController.startingActivityForResult();
startActivityForResult(intent, requestCode);
},
null, null,
defaultUserName, defaultUserName,
getString(com.android.settingslib.R.string.user_add_user), getString(com.android.settingslib.R.string.user_add_user),
@@ -160,4 +161,17 @@ public class CreateUserActivity extends Activity {
Log.e(TAG, "Couldn't switch user.", e); Log.e(TAG, "Couldn't switch user.", e);
} }
} }
/**
* Lambda to start activity from an intent. Ensures that device is unlocked first.
* @param intent
* @param requestCode
*/
private void startActivity(Intent intent, int requestCode) {
mActivityStarter.dismissKeyguardThenExecute(() -> {
mEditUserInfoController.startingActivityForResult();
startActivityForResult(intent, requestCode);
return true;
}, /* cancel= */ null, /* afterKeyguardGone= */ true);
}
} }