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:
@@ -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()) {
|
||||
|
||||
Reference in New Issue
Block a user