Tapl: AllApps: ensuring a minimal vertical size of an icon

Clicking an icon within its padding area is ignored by Launcher. Hence,
ensuring that the whole icon is visible.

Bug: 141770616
Change-Id: I19e3ba7cfa25de75a47202845d0838bea46af92c
This commit is contained in:
vadimt
2019-11-12 16:57:48 -08:00
committed by Vadim Tryshev
parent 2cf2871392
commit 480083490f
3 changed files with 16 additions and 0 deletions

View File

@@ -173,6 +173,12 @@ public class TestInformationHandler implements ResourceBasedOverride {
mLeaks.add(new View(mContext));
break;
}
case TestProtocol.REQUEST_ICON_HEIGHT: {
response.putInt(TestProtocol.TEST_INFO_RESPONSE_FIELD,
mDeviceProfile.allAppsCellHeightPx);
break;
}
}
return response;
}

View File

@@ -63,6 +63,8 @@ public final class TestProtocol {
"all-apps-to-overview-swipe-height";
public static final String REQUEST_HOME_TO_ALL_APPS_SWIPE_HEIGHT =
"home-to-all-apps-swipe-height";
public static final String REQUEST_ICON_HEIGHT =
"icon-height";
public static final String REQUEST_HOTSEAT_TOP = "hotseat-top";
public static final String REQUEST_IS_LAUNCHER_INITIALIZED = "is-launcher-initialized";
public static final String REQUEST_FREEZE_APP_LIST = "freeze-app-list";

View File

@@ -38,6 +38,7 @@ public class AllApps extends LauncherInstrumentation.VisibleContainer {
private static final int MAX_SCROLL_ATTEMPTS = 40;
private final int mHeight;
private final int mIconHeight;
AllApps(LauncherInstrumentation launcher) {
super(launcher);
@@ -48,6 +49,9 @@ public class AllApps extends LauncherInstrumentation.VisibleContainer {
// Wait for the recycler to populate.
mLauncher.waitForObjectInContainer(appListRecycler, By.clazz(TextView.class));
verifyNotFrozen("All apps freeze flags upon opening all apps");
mIconHeight = mLauncher.getTestInfo(
TestProtocol.REQUEST_ICON_HEIGHT).
getInt(TestProtocol.TEST_INFO_RESPONSE_FIELD);
}
@Override
@@ -64,6 +68,10 @@ public class AllApps extends LauncherInstrumentation.VisibleContainer {
}
final Rect iconBounds = icon.getVisibleBounds();
LauncherInstrumentation.log("hasClickableIcon: icon bounds: " + iconBounds);
if (iconBounds.height() < mIconHeight / 2) {
LauncherInstrumentation.log("hasClickableIcon: icon has insufficient height");
return false;
}
if (iconCenterInSearchBox(allAppsContainer, icon)) {
LauncherInstrumentation.log("hasClickableIcon: icon center is under search box");
return false;