Clear WallpaperPicker task before launch

There are different launch sources to start WallpaperPicker, clear
previous task to prevent keeping old activity.

Bug: 177638480
Test: make RunSettingsRoboTests
Change-Id: Ia4d3d5c7e5df4a5d3acb137f644939c079d5028f
This commit is contained in:
Kunhung Li
2021-03-15 09:48:22 +08:00
parent 45726b937b
commit 5f2cf8e695
2 changed files with 17 additions and 1 deletions

View File

@@ -202,4 +202,20 @@ public class TopLevelWallpaperPreferenceControllerTest {
assertThat(Shadows.shadowOf(mContext).getNextStartedActivityForResult()
.intent.hasExtra("com.android.wallpaper.LAUNCH_SOURCE")).isTrue();
}
@Test
public void handlePreferenceTreeClick_launchClearTask() {
mShadowPackageManager.setResolveInfosForIntent(
mWallpaperIntent, Lists.newArrayList());
mShadowPackageManager.setResolveInfosForIntent(
mStylesAndWallpaperIntent, Lists.newArrayList(mock(ResolveInfo.class)));
Preference preference = new Preference(mContext);
preference.setKey(TEST_KEY);
mController.handlePreferenceTreeClick(preference);
assertThat((Shadows.shadowOf(mContext).getNextStartedActivityForResult()
.intent.getFlags() & Intent.FLAG_ACTIVITY_CLEAR_TASK) != 0).isTrue();
}
}