Merge "Make the force stop dialog work properly in split screen" into tm-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
f6c416054e
@@ -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);
|
||||
|
@@ -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);
|
||||
|
Reference in New Issue
Block a user