Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6ce674c5 authored by Aaron Liu's avatar Aaron Liu Committed by Automerger Merge Worker
Browse files

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

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

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



Change-Id: I2f47e62c54feb860e28948d1b605504427b60774
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 7f2fa992 2fcd28ec
Loading
Loading
Loading
Loading
+19 −5
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ import androidx.annotation.Nullable;

import com.android.settingslib.users.EditUserInfoController;
import com.android.systemui.R;
import com.android.systemui.plugins.ActivityStarter;

import javax.inject.Inject;

@@ -55,15 +56,18 @@ public class CreateUserActivity extends Activity {
    private final UserCreator mUserCreator;
    private final EditUserInfoController mEditUserInfoController;
    private final IActivityManager mActivityManager;
    private final ActivityStarter mActivityStarter;

    private Dialog mSetupUserDialog;

    @Inject
    public CreateUserActivity(UserCreator userCreator,
            EditUserInfoController editUserInfoController, IActivityManager activityManager) {
            EditUserInfoController editUserInfoController, IActivityManager activityManager,
            ActivityStarter activityStarter) {
        mUserCreator = userCreator;
        mEditUserInfoController = editUserInfoController;
        mActivityManager = activityManager;
        mActivityStarter = activityStarter;
    }

    @Override
@@ -104,10 +108,7 @@ public class CreateUserActivity extends Activity {

        return mEditUserInfoController.createDialog(
                this,
                (intent, requestCode) -> {
                    mEditUserInfoController.startingActivityForResult();
                    startActivityForResult(intent, requestCode);
                },
                this::startActivity,
                null,
                defaultUserName,
                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);
        }
    }

    /**
     * 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);
    }
}