Remove archiving test because it tests platform specifics instead of

launcher logic.

Sunny suggested to remove this test b/325283522 because we shouldn't
have any platform logic in these launchers tests.

Test: N/A
Bug: 325283522
Flag: NA
Change-Id: I6a8eea815e0cf5951f98030063447fe5fd0142eb
This commit is contained in:
Jakob Schneider
2024-02-23 14:48:07 +00:00
parent 502f7b94f0
commit 07c1c98dab
@@ -2,35 +2,23 @@ package com.android.launcher3.model;
import static android.os.Process.myUserHandle;
import static androidx.test.InstrumentationRegistry.getInstrumentation;
import static com.android.launcher3.Flags.FLAG_ENABLE_SUPPORT_FOR_ARCHIVING;
import static com.android.launcher3.model.data.ItemInfoWithIcon.FLAG_ARCHIVED;
import static com.android.launcher3.util.Executors.MODEL_EXECUTOR;
import static com.android.launcher3.util.LauncherModelHelper.TEST_ACTIVITY;
import static com.android.launcher3.util.LauncherModelHelper.TEST_ACTIVITY2;
import static com.android.launcher3.util.LauncherModelHelper.TEST_ACTIVITY3;
import static com.android.launcher3.util.LauncherModelHelper.TEST_PACKAGE;
import static com.android.launcher3.util.TestUtil.runOnExecutorSync;
import static com.android.launcher3.util.rule.TestStabilityRule.LOCAL;
import static com.android.launcher3.util.rule.TestStabilityRule.PLATFORM_POSTSUBMIT;
import static com.android.launcher3.util.TestUtil.DUMMY_CLASS_NAME;
import static com.android.launcher3.util.TestUtil.DUMMY_PACKAGE;
import static com.android.launcher3.util.TestUtil.runOnExecutorSync;
import static com.google.common.truth.Truth.assertThat;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import android.content.Context;
import android.platform.test.annotations.RequiresFlagsEnabled;
import android.platform.test.flag.junit.CheckFlagsRule;
import android.platform.test.flag.junit.DeviceFlagsValueProvider;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.SmallTest;
import androidx.test.uiautomator.UiDevice;
import com.android.launcher3.LauncherAppState;
import com.android.launcher3.icons.BitmapInfo;
@@ -40,7 +28,6 @@ import com.android.launcher3.util.IntSet;
import com.android.launcher3.util.LauncherLayoutBuilder;
import com.android.launcher3.util.LauncherModelHelper;
import com.android.launcher3.util.PackageUserKey;
import com.android.launcher3.util.TestUtil;
import com.android.launcher3.util.rule.TestStabilityRule;
import org.junit.After;
@@ -50,7 +37,6 @@ import org.junit.Test;
import org.junit.rules.TestRule;
import org.junit.runner.RunWith;
import java.io.IOException;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
@@ -65,18 +51,9 @@ public class CacheDataUpdatedTaskTest {
@Rule(order = 0)
public TestRule testStabilityRule = new TestStabilityRule();
@Rule
public final CheckFlagsRule mCheckFlagsRule =
DeviceFlagsValueProvider.createCheckFlagsRule();
private static final String PENDING_APP_1 = TEST_PACKAGE + ".pending1";
private static final String PENDING_APP_2 = TEST_PACKAGE + ".pending2";
private static final String ARCHIVED_PACKAGE = DUMMY_PACKAGE;
private static final String ARCHIVED_CLASS_NAME = DUMMY_CLASS_NAME;
private static final String ARCHIVED_TITLE = "Aardwolf";
private LauncherModelHelper mModelHelper;
private Context mContext;
@@ -88,7 +65,6 @@ public class CacheDataUpdatedTaskTest {
mContext = mModelHelper.sandboxContext;
mSession1 = mModelHelper.createInstallerSession(PENDING_APP_1);
mModelHelper.createInstallerSession(PENDING_APP_2);
TestUtil.installDummyApp();
LauncherLayoutBuilder builder = new LauncherLayoutBuilder()
.atHotseat(1).putFolder("MyFolder")
@@ -105,22 +81,14 @@ public class CacheDataUpdatedTaskTest {
.addApp(PENDING_APP_2, TEST_ACTIVITY) // 8
.addApp(PENDING_APP_2, TEST_ACTIVITY2) // 9
.addApp(PENDING_APP_2, TEST_ACTIVITY3) // 10
// Dummy Test Package
.addApp(ARCHIVED_PACKAGE, ARCHIVED_CLASS_NAME) // 11
.build();
mModelHelper.setupDefaultLayoutProvider(builder);
mModelHelper.loadModelSync();
assertEquals(11, mModelHelper.getBgDataModel().itemsIdMap.size());
UiDevice device = UiDevice.getInstance(getInstrumentation());
assertThat(device.executeShellCommand(String.format("pm archive %s", ARCHIVED_PACKAGE)))
.isEqualTo("Success\n");
assertEquals(10, mModelHelper.getBgDataModel().itemsIdMap.size());
}
@After
public void tearDown() throws IOException {
TestUtil.uninstallDummyApp();
public void tearDown() {
mModelHelper.destroy();
}
@@ -180,47 +148,6 @@ public class CacheDataUpdatedTaskTest {
});
}
@Test
@RequiresFlagsEnabled(FLAG_ENABLE_SUPPORT_FOR_ARCHIVING)
public void testSessionUpdate_archivedApps_sessionInfoPrioritized() {
// Run on model executor so that no other task runs in the middle.
runOnExecutorSync(MODEL_EXECUTOR, () -> {
// Clear all icons from apps list so that its easy to check what was updated
allItems().forEach(wi -> wi.bitmap = BitmapInfo.LOW_RES_INFO);
int mSession2 = mModelHelper.createInstallerSession(ARCHIVED_PACKAGE);
mModelHelper.getModel().enqueueModelUpdateTask(
newTask(CacheDataUpdatedTask.OP_CACHE_UPDATE, ARCHIVED_PACKAGE));
List<Integer> pendingArchivedAppIds = List.of(11);
// Mark the app items as archived.
allItems().forEach(wi -> {
if (pendingArchivedAppIds.contains(wi.id)) {
wi.runtimeStatusFlags |= FLAG_ARCHIVED;
}
});
// Before cache is updated with sessionInfo, confirm the title.
for (WorkspaceItemInfo info : allItems()) {
if (pendingArchivedAppIds.contains(info.id)) {
assertEquals(info.title, ARCHIVED_TITLE);
}
}
// Update the cache with session details.
LauncherAppState.getInstance(mContext).getIconCache().updateSessionCache(
new PackageUserKey(ARCHIVED_PACKAGE, myUserHandle()),
mContext.getPackageManager().getPackageInstaller().getSessionInfo(mSession2));
// Trigger a refresh for workspace itemInfo objects.
mModelHelper.getModel().enqueueModelUpdateTask(
newTask(CacheDataUpdatedTask.OP_SESSION_UPDATE, ARCHIVED_PACKAGE));
// Verify the new title from session is applied to the iconInfo.
for (WorkspaceItemInfo info : allItems()) {
if (pendingArchivedAppIds.contains(info.id)) {
assertEquals(info.title, ARCHIVED_PACKAGE);
}
}
});
}
private void verifyUpdate(int... idsUpdated) {
IntSet updates = IntSet.wrap(idsUpdated);
for (WorkspaceItemInfo info : allItems()) {