Stop loading animation for addtional cursor type.

In the test below it only expects MockSprite#setIcon() being called
once, but with animation it may be called multiple times.

Bug: 144947344
Test: atest PoitnerControllerTest#updatePointerIcon
Change-Id: I5c4908fb8301cae144fd637c831f2012a35862e3
Merged-In: I5c4908fb8301cae144fd637c831f2012a35862e3
This commit is contained in:
Garfield Tan
2019-11-21 16:42:13 -08:00
parent c15eb91b04
commit e9c6151756

View File

@@ -32,8 +32,8 @@ enum TestCursorType {
CURSOR_TYPE_HOVER, CURSOR_TYPE_HOVER,
CURSOR_TYPE_TOUCH, CURSOR_TYPE_TOUCH,
CURSOR_TYPE_ANCHOR, CURSOR_TYPE_ANCHOR,
CURSOR_TYPE_ADDITIONAL_1, CURSOR_TYPE_ADDITIONAL,
CURSOR_TYPE_ADDITIONAL_2, CURSOR_TYPE_ADDITIONAL_ANIM,
CURSOR_TYPE_CUSTOM = -1, CURSOR_TYPE_CUSTOM = -1,
}; };
@@ -79,13 +79,18 @@ void MockPointerControllerPolicyInterface::loadAdditionalMouseResources(
SpriteIcon icon; SpriteIcon icon;
PointerAnimation anim; PointerAnimation anim;
for (int32_t cursorType : {CURSOR_TYPE_ADDITIONAL_1, CURSOR_TYPE_ADDITIONAL_2}) { // CURSOR_TYPE_ADDITIONAL doesn't have animation resource.
loadPointerIconForType(&icon, cursorType); int32_t cursorType = CURSOR_TYPE_ADDITIONAL;
anim.animationFrames.push_back(icon); loadPointerIconForType(&icon, cursorType);
anim.durationPerFrame = 10; (*outResources)[cursorType] = icon;
(*outResources)[cursorType] = icon;
(*outAnimationResources)[cursorType] = anim; // CURSOR_TYPE_ADDITIONAL_ANIM has animation resource.
} cursorType = CURSOR_TYPE_ADDITIONAL_ANIM;
loadPointerIconForType(&icon, cursorType);
anim.animationFrames.push_back(icon);
anim.durationPerFrame = 10;
(*outResources)[cursorType] = icon;
(*outAnimationResources)[cursorType] = anim;
} }
int32_t MockPointerControllerPolicyInterface::getDefaultPointerIconId() { int32_t MockPointerControllerPolicyInterface::getDefaultPointerIconId() {
@@ -178,7 +183,7 @@ TEST_F(PointerControllerTest, useDefaultCursorTypeByDefault) {
TEST_F(PointerControllerTest, updatePointerIcon) { TEST_F(PointerControllerTest, updatePointerIcon) {
mPointerController->unfade(PointerController::TRANSITION_IMMEDIATE); mPointerController->unfade(PointerController::TRANSITION_IMMEDIATE);
int32_t type = CURSOR_TYPE_ADDITIONAL_1; int32_t type = CURSOR_TYPE_ADDITIONAL;
std::pair<float, float> hotspot = getHotSpotCoordinatesForType(type); std::pair<float, float> hotspot = getHotSpotCoordinatesForType(type);
EXPECT_CALL(*mPointerSprite, setVisible(true)); EXPECT_CALL(*mPointerSprite, setVisible(true));
EXPECT_CALL(*mPointerSprite, setAlpha(1.0f)); EXPECT_CALL(*mPointerSprite, setAlpha(1.0f));