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

Commit 31aee6d0 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Make CreateUserDialogController fully responsible for dialog dismissal" into main

parents e62e2afc e7dc255d
Loading
Loading
Loading
Loading
+1 −11
Original line number Diff line number Diff line
@@ -93,18 +93,10 @@ public class CreateUserActivity extends Activity {

    @Override
    public boolean onTouchEvent(@Nullable MotionEvent event) {
        onBackInvoked();
        cancel();
        return super.onTouchEvent(event);
    }

    private void onBackInvoked() {
        if (mSetupUserDialog != null) {
            mSetupUserDialog.dismiss();
        }
        setResult(RESULT_CANCELED);
        finish();
    }

    @VisibleForTesting
    void setSuccessResult(String userName, Drawable userIcon, String path, Boolean isAdmin) {
        Intent intent = new Intent(this, CreateUserActivity.class);
@@ -112,14 +104,12 @@ public class CreateUserActivity extends Activity {
        intent.putExtra(EXTRA_IS_ADMIN, isAdmin);
        intent.putExtra(EXTRA_USER_ICON_PATH, path);

        mSetupUserDialog.dismiss();
        setResult(RESULT_OK, intent);
        finish();
    }

    @VisibleForTesting
    void cancel() {
        mSetupUserDialog.dismiss();
        setResult(RESULT_CANCELED);
        finish();
    }
+1 −1
Original line number Diff line number Diff line
@@ -282,7 +282,7 @@ public class CreateUserDialogController {
                mCustomDialogHelper.getDialog().dismiss();
                break;
            case EXIT_DIALOG:
                finish();
                mUserCreationDialog.dismiss();
                break;
            default:
                if (mCurrentState < EXIT_DIALOG) {
+6 −6
Original line number Diff line number Diff line
@@ -65,23 +65,23 @@ public class CreateUserActivityTest {
    }

    @Test
    public void onTouchEvent_dismissesDialogAndCancelsResult() {
    public void onTouchEvent_finishesActivityAndCancelsResult() {
        mCreateUserActivity.onTouchEvent(MotionEvent.obtain(0, 0, MotionEvent.ACTION_DOWN, 0, 0,
                0));

        assertThat(mCreateUserActivity.mSetupUserDialog.isShowing()).isFalse();
        assertThat(mCreateUserActivity.isFinishing()).isTrue();
        assertThat(shadowOf(mCreateUserActivity).getResultCode())
                .isEqualTo(Activity.RESULT_CANCELED);
    }

    @Test
    public void setSuccessResult_dismissesDialogAndSetsSuccessResult() {
    public void setSuccessResult_finishesActivityAndSetsSuccessResult() {
        Drawable mockDrawable = mock(Drawable.class);

        mCreateUserActivity.setSuccessResult(TEST_USER_NAME, mockDrawable, TEST_USER_ICON_PATH,
                TEST_IS_ADMIN);

        assertThat(mCreateUserActivity.mSetupUserDialog.isShowing()).isFalse();
        assertThat(mCreateUserActivity.isFinishing()).isTrue();
        assertThat(shadowOf(mCreateUserActivity).getResultCode()).isEqualTo(Activity.RESULT_OK);

        Intent resultIntent = shadowOf(mCreateUserActivity).getResultIntent();
@@ -92,10 +92,10 @@ public class CreateUserActivityTest {
    }

    @Test
    public void cancel_dismissesDialogAndSetsCancelResult() {
    public void cancel_finishesActivityAndSetsCancelResult() {
        mCreateUserActivity.cancel();

        assertThat(mCreateUserActivity.mSetupUserDialog.isShowing()).isFalse();
        assertThat(mCreateUserActivity.isFinishing()).isTrue();
        assertThat(shadowOf(mCreateUserActivity).getResultCode())
                .isEqualTo(Activity.RESULT_CANCELED);
    }