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

Commit f6c41605 authored by Yi-Ling Chuang's avatar Yi-Ling Chuang Committed by Android (Google) Code Review
Browse files

Merge "Make the force stop dialog work properly in split screen" into tm-dev

parents 14c7ce7c 2754a20c
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -90,6 +90,12 @@ public class ButtonActionDialogFragment extends InstrumentedDialogFragment imple

    @Override
    public void onClick(DialogInterface dialog, int which) {
        // When it's in a multi-window mode, force stopping an app will lead to an activity
        // recreate, and the dialog fragment will also be recreated. So dismiss the dialog before
        // stopping the app.
        if (mId == ButtonActionDialogFragment.DialogType.FORCE_STOP) {
            dialog.dismiss();
        }
        final AppButtonsDialogListener lsn =
                (AppButtonsDialogListener) getTargetFragment();
        lsn.handleDialogClick(mId);
+17 −0
Original line number Diff line number Diff line
@@ -18,7 +18,9 @@ package com.android.settings.applications.appinfo;
import static com.google.common.truth.Truth.assertThat;

import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;

@@ -72,6 +74,21 @@ public class ButtonActionDialogFragmentTest {
        verify(mTargetFragment).handleDialogClick(anyInt());
    }

    @Test
    public void testOnClick_forceStop_dismissDialog() {
        ButtonActionDialogFragment fragment =
                spy(ButtonActionDialogFragment.newInstance(FORCE_STOP_ID));
        FragmentController.setupFragment(fragment, FragmentActivity.class, 0 /* containerViewId */,
                null /* bundle */);
        doReturn(mTargetFragment).when(fragment).getTargetFragment();
        doNothing().when(mTargetFragment).handleDialogClick(anyInt());
        final AlertDialog dialog = mock(AlertDialog.class);

        fragment.onClick(dialog, 0);

        verify(dialog).dismiss();
    }

    @Test
    public void testOnCreateDialog_forceStopDialog() {
        ButtonActionDialogFragment fragment = ButtonActionDialogFragment.newInstance(FORCE_STOP_ID);