!39045 修复AlphabetIndexer组件高度足够时索引项均分高度的问题

Merge pull request !39045 from zhangDH/dev
This commit is contained in:
openharmony_ci 2024-07-29 13:38:39 +00:00 committed by Gitee
commit 7a5b28b6dd
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
6 changed files with 111 additions and 105 deletions

View File

@ -36,14 +36,20 @@ void IndexerLayoutAlgorithm::Measure(LayoutWrapper* layoutWrapper)
{
auto indexerLayoutProperty = AceType::DynamicCast<IndexerLayoutProperty>(layoutWrapper->GetLayoutProperty());
CHECK_NULL_VOID(indexerLayoutProperty);
auto adaptiveWidth = indexerLayoutProperty->GetAdaptiveWidthValue(false);
auto maxItemWidth = adaptiveWidth ? GetMaxItemWidth(layoutWrapper) : 0.0f;
auto childCount = layoutWrapper->GetTotalChildCount();
if (indexerLayoutProperty->GetIsPopupValue(false)) {
MeasurePopup(layoutWrapper, childCount);
childCount--;
}
LayoutConstraintF layoutConstraint;
if (indexerLayoutProperty->GetLayoutConstraint().has_value()) {
layoutConstraint = indexerLayoutProperty->GetLayoutConstraint().value();
}
auto itemSize = indexerLayoutProperty->GetItemSize().value_or(Dimension(INDEXER_ITEM_SIZE, DimensionUnit::VP));
OptionalSize<float> selfIdealSize = layoutConstraint.selfIdealSize;
Dimension itemSize = indexerLayoutProperty->GetItemSize().value_or(Dimension(INDEXER_ITEM_SIZE, DimensionUnit::VP));
itemSize_ = ConvertToPx(itemSize, layoutConstraint.scaleProperty, layoutConstraint.maxSize.Height()).value();
auto defaultHorizontalPadding = Dimension(INDEXER_PADDING_LEFT, DimensionUnit::VP).ConvertToPx();
auto defaultVerticalPadding = Container::GreatOrEqualAPITargetVersion(PlatformVersion::VERSION_TWELVE)
? Dimension(INDEXER_PADDING_TOP_API_TWELVE, DimensionUnit::VP).ConvertToPx()
@ -52,35 +58,34 @@ void IndexerLayoutAlgorithm::Measure(LayoutWrapper* layoutWrapper)
static_cast<float>(defaultHorizontalPadding), static_cast<float>(defaultVerticalPadding), 0, 0);
auto verticalPadding = (padding.top.value_or(0) + padding.bottom.value_or(0));
auto horizontalPadding = padding.left.value_or(0.0f) + padding.right.value_or(0.0f);
auto adaptiveWidth = indexerLayoutProperty->GetAdaptiveWidthValue(false);
auto maxItemWidth = adaptiveWidth ? GetMaxItemWidth(layoutWrapper) : 0.0f;
auto contentWidth =
(adaptiveWidth ? (GreatOrEqual(maxItemWidth, itemSize_) ? maxItemWidth : itemSize_) : itemSize_) +
horizontalPadding;
auto contentHeight = itemCount_ * itemSize_ + verticalPadding;
auto selfIdealSize = layoutConstraint.selfIdealSize;
auto actualWidth = selfIdealSize.Width().has_value()
auto frameWidth = selfIdealSize.Width().has_value()
? selfIdealSize.Width().value()
: std::clamp(contentWidth, 0.0f, layoutConstraint.maxSize.Width());
actualHeight_ = selfIdealSize.Height().has_value()
? selfIdealSize.Height().value()
: std::clamp(contentHeight, 0.0f, layoutConstraint.maxSize.Height());
contentHeight = GreatNotEqual(contentHeight, actualHeight_) ? actualHeight_ : contentHeight;
itemWidth_ = GreatOrEqual(actualWidth - horizontalPadding, 0.0f) ? actualWidth - horizontalPadding : 0.0f;
auto childCount = layoutWrapper->GetTotalChildCount();
if (indexerLayoutProperty->GetIsPopupValue(false)) {
MeasurePopup(layoutWrapper, childCount);
childCount--;
}
itemSizeRender_ = GreatOrEqual(contentHeight - verticalPadding, 0.0f) && childCount > 0
itemWidth_ = GreatOrEqual(frameWidth - horizontalPadding, 0.0f) ? frameWidth - horizontalPadding : 0.0f;
auto contentHeight = childCount * itemSize_ + verticalPadding;
maxFrameHeight_ = selfIdealSize.Height().has_value()
? selfIdealSize.Height().value() : layoutConstraint.maxSize.Height();
contentHeight = GreatNotEqual(contentHeight, maxFrameHeight_) ? maxFrameHeight_ : contentHeight;
itemHeight_ = GreatOrEqual(contentHeight - verticalPadding, 0.0f) && childCount > 0
? (contentHeight - verticalPadding) / childCount : 0.0f;
float frameHeight = selfIdealSize.Height().has_value() ? selfIdealSize.Height().value() : contentHeight;
auto childLayoutConstraint = indexerLayoutProperty->CreateChildConstraint();
for (int32_t index = 0; index < childCount; index++) {
auto childWrapper = layoutWrapper->GetOrCreateChildByIndex(index);
CHECK_NULL_VOID(childWrapper);
childLayoutConstraint.UpdateSelfMarginSizeWithCheck(OptionalSizeF(itemWidth_, itemSizeRender_));
childLayoutConstraint.UpdateSelfMarginSizeWithCheck(OptionalSizeF(itemWidth_, itemHeight_));
childWrapper->Measure(childLayoutConstraint);
}
layoutWrapper->GetGeometryNode()->SetFrameSize(SizeF(actualWidth, actualHeight_));
layoutWrapper->GetGeometryNode()->SetFrameSize(SizeF(frameWidth, frameHeight));
}
void IndexerLayoutAlgorithm::Layout(LayoutWrapper* layoutWrapper)
@ -104,7 +109,7 @@ void IndexerLayoutAlgorithm::Layout(LayoutWrapper* layoutWrapper)
if (layoutProperty->GetPositionProperty()) {
align = layoutProperty->GetPositionProperty()->GetAlignment().value_or(align);
}
SizeF contentSize;
SizeF contentSize(itemWidth_, 0);
auto childCount = layoutWrapper->GetTotalChildCount();
if (layoutProperty->GetIsPopupValue(false)) {
const auto& child = layoutWrapper->GetChildByIndex(childCount - 1);
@ -116,13 +121,13 @@ void IndexerLayoutAlgorithm::Layout(LayoutWrapper* layoutWrapper)
for (int32_t i = 0; i < childCount; i++) {
const auto& child = layoutWrapper->GetChildByIndex(i);
SizeF childSize = child->GetGeometryNode()->GetMarginFrameSize();
contentSize += childSize;
contentSize.AddHeight(childSize.Height());
}
auto translate = Alignment::GetAlignPosition(size, contentSize, align);
for (int32_t i = 0; i < childCount; i++) {
const auto& child = layoutWrapper->GetChildByIndex(i);
auto translate = Alignment::GetAlignPosition(size, contentSize, align);
child->GetGeometryNode()->SetMarginFrameOffset(
translate + paddingOffset + OffsetF(0, itemSizeRender_ * i));
translate + paddingOffset + OffsetF(0, itemHeight_ * i));
child->Layout();
}
}

View File

@ -31,14 +31,14 @@ class ACE_EXPORT IndexerLayoutAlgorithm : public LayoutAlgorithm {
public:
IndexerLayoutAlgorithm(int32_t itemCount_) : itemCount_(itemCount_) {}
float GetItemSizeRender() const
float GetItemHeight() const
{
return itemSizeRender_;
return itemHeight_;
}
float GetActualHeight() const
float GetMaxFrameHeight() const
{
return actualHeight_;
return maxFrameHeight_;
}
void Measure(LayoutWrapper* layoutWrapper) override;
@ -51,13 +51,12 @@ private:
bool IsPopupAtLeft(const RefPtr<IndexerLayoutProperty>& layoutProperty, NG::AlignStyle alignment) const;
float GetMaxItemWidth(LayoutWrapper* layoutWrapper);
void MeasurePopup(LayoutWrapper* layoutWrapper, uint32_t childCount);
std::vector<std::string> arrayValue_;
uint32_t popupSize_ = 0;
int32_t itemCount_ = 0;
float itemSize_ = 0.0f;
float itemWidth_ = 0.0f;
float itemSizeRender_ = 0.0f;
float actualHeight_ = 0.0f;
float itemHeight_ = 0.0f;
float maxFrameHeight_ = 0.0f;
};
} // namespace OHOS::Ace::NG

View File

@ -184,10 +184,10 @@ bool IndexerPattern::OnDirtyLayoutWrapperSwap(const RefPtr<LayoutWrapper>& dirty
CHECK_NULL_RETURN(layoutAlgorithmWrapper, false);
auto indexerLayoutAlgorithm = DynamicCast<IndexerLayoutAlgorithm>(layoutAlgorithmWrapper->GetLayoutAlgorithm());
CHECK_NULL_RETURN(indexerLayoutAlgorithm, false);
itemSizeRender_ = indexerLayoutAlgorithm->GetItemSizeRender();
auto height = indexerLayoutAlgorithm->GetActualHeight();
if (actualIndexerHeight_ != height && lastAutoCollapse_) {
actualIndexerHeight_ = height;
itemHeight_ = indexerLayoutAlgorithm->GetItemHeight();
auto height = indexerLayoutAlgorithm->GetMaxFrameHeight();
if (maxFrameHeight_ != height && lastAutoCollapse_) {
maxFrameHeight_ = height;
isNewHeightCalculated_ = true;
auto hostNode = dirty->GetHostNode();
StartCollapseDelayTask(hostNode, INDEXER_COLLAPSE_WAIT_DURATION);
@ -245,7 +245,7 @@ void IndexerPattern::CollapseArrayValue()
auto itemSize =
layoutProperty->GetItemSize().value_or(Dimension(INDEXER_ITEM_SIZE, DimensionUnit::VP)).ConvertToVp();
int32_t maxItemsCount = 0;
auto height = Dimension(actualIndexerHeight_, DimensionUnit::PX).ConvertToVp();
auto height = Dimension(maxFrameHeight_, DimensionUnit::PX).ConvertToVp();
if (height > 0 && itemSize > 0) {
maxItemsCount = static_cast<int32_t>(height / itemSize);
}
@ -532,14 +532,14 @@ void IndexerPattern::OnTouchUp(const TouchEventInfo& info)
void IndexerPattern::MoveIndexByOffset(const Offset& offset)
{
if (itemSizeRender_ <= 0) {
if (itemHeight_ <= 0) {
return;
}
if (itemCount_ <= 0) {
return;
}
auto nextSelectIndex = GetSelectChildIndex(offset);
if (nextSelectIndex == childPressIndex_) {
if (nextSelectIndex == childPressIndex_ || nextSelectIndex == -1) {
return;
}
childPressIndex_ = nextSelectIndex;
@ -569,15 +569,15 @@ int32_t IndexerPattern::GetSelectChildIndex(const Offset& offset)
CHECK_NULL_RETURN(geometryNode, -1);
auto childOffset = geometryNode->GetFrameOffset();
if (index == 0 && LessNotEqual(offset.GetY(), childOffset.GetY())) {
return 0;
return -1;
}
if (GreatOrEqual(offset.GetY(), childOffset.GetY()) &&
LessNotEqual(offset.GetY(), childOffset.GetY() + itemSizeRender_)) {
LessNotEqual(offset.GetY(), childOffset.GetY() + itemHeight_)) {
break;
}
index++;
}
return std::clamp(index, 0, itemCount_ - 1);
return index < itemCount_ ? index : -1;
}
bool IndexerPattern::KeyIndexByStep(int32_t step)
@ -849,14 +849,14 @@ void IndexerPattern::ApplyIndexChanged(
if (isTextNodeInTree) childNode->MarkDirtyNode();
}
if (selectChanged) {
ShowBubble();
ShowBubble(fromTouchUp);
if (enableHapticFeedback_ && selectedChangedForHaptic_ && !fromTouchUp) {
VibratorUtils::StartVibraFeedback();
}
}
}
void IndexerPattern::ShowBubble()
void IndexerPattern::ShowBubble(bool fromTouchUp)
{
if (!NeedShowBubble() || itemCount_ < 1) {
return;
@ -878,7 +878,9 @@ void IndexerPattern::ShowBubble()
}
UpdateBubbleView();
delayTask_.Cancel();
StartBubbleAppearAnimation();
if (!fromTouchUp) {
StartBubbleAppearAnimation();
}
if (!isTouch_) {
StartDelayTask(INDEXER_BUBBLE_ENTER_DURATION + INDEXER_BUBBLE_WAIT_DURATION);
}

View File

@ -154,7 +154,7 @@ private:
void UpdatePopupVisibility(VisibleType visible);
bool NeedShowPopupView();
bool NeedShowBubble();
void ShowBubble();
void ShowBubble(bool fromTouchUp = false);
bool IfSelectIndexValid();
int32_t GetSelectChildIndex(const Offset& offset);
void StartBubbleAppearAnimation();
@ -217,7 +217,7 @@ private:
int32_t lastPopupIndex_ = -1;
uint32_t lastPopupSize_ = 0;
int32_t currentPopupIndex_ = -1;
float itemSizeRender_ = 0.0f;
float itemHeight_ = 0.0f;
int32_t popupClickedIndex_ = -1;
int32_t lastFireSelectIndex_ = -1;
float lastItemSize_ = -1.0f;
@ -226,7 +226,7 @@ private:
bool autoCollapse_ = true;
bool lastAutoCollapse_ = true;
bool enableHapticFeedback_ = true;
float actualIndexerHeight_ = 0.0f;
float maxFrameHeight_ = 0.0f;
bool isNewHeightCalculated_ = false;
bool selectedChangedForHaptic_ = false;
IndexerCollapsingMode lastCollapsingMode_ = IndexerCollapsingMode::INVALID;

View File

@ -151,8 +151,8 @@ HWTEST_F(IndexerModelTestNg, OnModifyDone009, TestSize.Level1)
RefPtr<IndexerLayoutAlgorithm> indexerLayoutAlgorithm = AceType::MakeRefPtr<IndexerLayoutAlgorithm>(0);
RefPtr<LayoutAlgorithmWrapper> layoutAlgorithmWrapper =
AceType::MakeRefPtr<LayoutAlgorithmWrapper>(indexerLayoutAlgorithm);
indexerLayoutAlgorithm->itemSizeRender_ = 24.f;
indexerLayoutAlgorithm->actualHeight_ = 160.f;
indexerLayoutAlgorithm->itemHeight_ = 24.f;
indexerLayoutAlgorithm->maxFrameHeight_ = 160.f;
layoutWrapper->SetLayoutAlgorithm(layoutAlgorithmWrapper);
DirtySwapConfig dirtySwapConfig;
@ -199,8 +199,8 @@ HWTEST_F(IndexerModelTestNg, OnModifyDone0010, TestSize.Level1)
RefPtr<IndexerLayoutAlgorithm> indexerLayoutAlgorithm = AceType::MakeRefPtr<IndexerLayoutAlgorithm>(0);
RefPtr<LayoutAlgorithmWrapper> layoutAlgorithmWrapper =
AceType::MakeRefPtr<LayoutAlgorithmWrapper>(indexerLayoutAlgorithm);
indexerLayoutAlgorithm->itemSizeRender_ = 24.f;
indexerLayoutAlgorithm->actualHeight_ = 160.f;
indexerLayoutAlgorithm->itemHeight_ = 24.f;
indexerLayoutAlgorithm->maxFrameHeight_ = 160.f;
layoutWrapper->SetLayoutAlgorithm(layoutAlgorithmWrapper);
DirtySwapConfig dirtySwapConfig;
dirtySwapConfig.skipMeasure = false;
@ -245,8 +245,8 @@ HWTEST_F(IndexerModelTestNg, OnModifyDone0011, TestSize.Level1)
RefPtr<IndexerLayoutAlgorithm> indexerLayoutAlgorithm = AceType::MakeRefPtr<IndexerLayoutAlgorithm>(0);
RefPtr<LayoutAlgorithmWrapper> layoutAlgorithmWrapper =
AceType::MakeRefPtr<LayoutAlgorithmWrapper>(indexerLayoutAlgorithm);
indexerLayoutAlgorithm->itemSizeRender_ = 24.f;
indexerLayoutAlgorithm->actualHeight_ = 160.f;
indexerLayoutAlgorithm->itemHeight_ = 24.f;
indexerLayoutAlgorithm->maxFrameHeight_ = 160.f;
layoutWrapper->SetLayoutAlgorithm(layoutAlgorithmWrapper);
DirtySwapConfig dirtySwapConfig;
@ -292,8 +292,8 @@ HWTEST_F(IndexerModelTestNg, OnModifyDone0012, TestSize.Level1)
RefPtr<IndexerLayoutAlgorithm> indexerLayoutAlgorithm = AceType::MakeRefPtr<IndexerLayoutAlgorithm>(0);
RefPtr<LayoutAlgorithmWrapper> layoutAlgorithmWrapper =
AceType::MakeRefPtr<LayoutAlgorithmWrapper>(indexerLayoutAlgorithm);
indexerLayoutAlgorithm->itemSizeRender_ = 24.f;
indexerLayoutAlgorithm->actualHeight_ = 160.f;
indexerLayoutAlgorithm->itemHeight_ = 24.f;
indexerLayoutAlgorithm->maxFrameHeight_ = 160.f;
layoutWrapper->SetLayoutAlgorithm(layoutAlgorithmWrapper);
DirtySwapConfig dirtySwapConfig;
@ -340,8 +340,8 @@ HWTEST_F(IndexerModelTestNg, OnModifyDone0013, TestSize.Level1)
RefPtr<IndexerLayoutAlgorithm> indexerLayoutAlgorithm = AceType::MakeRefPtr<IndexerLayoutAlgorithm>(0);
RefPtr<LayoutAlgorithmWrapper> layoutAlgorithmWrapper =
AceType::MakeRefPtr<LayoutAlgorithmWrapper>(indexerLayoutAlgorithm);
indexerLayoutAlgorithm->itemSizeRender_ = 24.f;
indexerLayoutAlgorithm->actualHeight_ = 95.f;
indexerLayoutAlgorithm->itemHeight_ = 24.f;
indexerLayoutAlgorithm->maxFrameHeight_ = 95.f;
layoutWrapper->SetLayoutAlgorithm(layoutAlgorithmWrapper);
DirtySwapConfig dirtySwapConfig;
@ -388,8 +388,8 @@ HWTEST_F(IndexerModelTestNg, OnModifyDone0014, TestSize.Level1)
RefPtr<IndexerLayoutAlgorithm> indexerLayoutAlgorithm = AceType::MakeRefPtr<IndexerLayoutAlgorithm>(0);
RefPtr<LayoutAlgorithmWrapper> layoutAlgorithmWrapper =
AceType::MakeRefPtr<LayoutAlgorithmWrapper>(indexerLayoutAlgorithm);
indexerLayoutAlgorithm->itemSizeRender_ = 24.f;
indexerLayoutAlgorithm->actualHeight_ = 160.f;
indexerLayoutAlgorithm->itemHeight_ = 24.f;
indexerLayoutAlgorithm->maxFrameHeight_ = 160.f;
layoutWrapper->SetLayoutAlgorithm(layoutAlgorithmWrapper);
DirtySwapConfig dirtySwapConfig;
@ -436,8 +436,8 @@ HWTEST_F(IndexerModelTestNg, OnModifyDone0015, TestSize.Level1)
RefPtr<IndexerLayoutAlgorithm> indexerLayoutAlgorithm = AceType::MakeRefPtr<IndexerLayoutAlgorithm>(0);
RefPtr<LayoutAlgorithmWrapper> layoutAlgorithmWrapper =
AceType::MakeRefPtr<LayoutAlgorithmWrapper>(indexerLayoutAlgorithm);
indexerLayoutAlgorithm->itemSizeRender_ = 24.f;
indexerLayoutAlgorithm->actualHeight_ = 160.f;
indexerLayoutAlgorithm->itemHeight_ = 24.f;
indexerLayoutAlgorithm->maxFrameHeight_ = 160.f;
layoutWrapper->SetLayoutAlgorithm(layoutAlgorithmWrapper);
DirtySwapConfig dirtySwapConfig;
@ -484,8 +484,8 @@ HWTEST_F(IndexerModelTestNg, OnModifyDone0016, TestSize.Level1)
RefPtr<IndexerLayoutAlgorithm> indexerLayoutAlgorithm = AceType::MakeRefPtr<IndexerLayoutAlgorithm>(0);
RefPtr<LayoutAlgorithmWrapper> layoutAlgorithmWrapper =
AceType::MakeRefPtr<LayoutAlgorithmWrapper>(indexerLayoutAlgorithm);
indexerLayoutAlgorithm->itemSizeRender_ = 24.f;
indexerLayoutAlgorithm->actualHeight_ = 160.f;
indexerLayoutAlgorithm->itemHeight_ = 24.f;
indexerLayoutAlgorithm->maxFrameHeight_ = 160.f;
layoutWrapper->SetLayoutAlgorithm(layoutAlgorithmWrapper);
DirtySwapConfig dirtySwapConfig;
@ -531,8 +531,8 @@ HWTEST_F(IndexerModelTestNg, OnModifyDone0017, TestSize.Level1)
RefPtr<IndexerLayoutAlgorithm> indexerLayoutAlgorithm = AceType::MakeRefPtr<IndexerLayoutAlgorithm>(0);
RefPtr<LayoutAlgorithmWrapper> layoutAlgorithmWrapper =
AceType::MakeRefPtr<LayoutAlgorithmWrapper>(indexerLayoutAlgorithm);
indexerLayoutAlgorithm->itemSizeRender_ = 24.f;
indexerLayoutAlgorithm->actualHeight_ = 160.f;
indexerLayoutAlgorithm->itemHeight_ = 24.f;
indexerLayoutAlgorithm->maxFrameHeight_ = 160.f;
layoutWrapper->SetLayoutAlgorithm(layoutAlgorithmWrapper);
DirtySwapConfig dirtySwapConfig;
@ -578,8 +578,8 @@ HWTEST_F(IndexerModelTestNg, OnModifyDone0018, TestSize.Level1)
RefPtr<IndexerLayoutAlgorithm> indexerLayoutAlgorithm = AceType::MakeRefPtr<IndexerLayoutAlgorithm>(0);
RefPtr<LayoutAlgorithmWrapper> layoutAlgorithmWrapper =
AceType::MakeRefPtr<LayoutAlgorithmWrapper>(indexerLayoutAlgorithm);
indexerLayoutAlgorithm->itemSizeRender_ = 24.f;
indexerLayoutAlgorithm->actualHeight_ = 160.f;
indexerLayoutAlgorithm->itemHeight_ = 24.f;
indexerLayoutAlgorithm->maxFrameHeight_ = 160.f;
layoutWrapper->SetLayoutAlgorithm(layoutAlgorithmWrapper);
DirtySwapConfig dirtySwapConfig;
dirtySwapConfig.skipMeasure = false;
@ -624,8 +624,8 @@ HWTEST_F(IndexerModelTestNg, OnModifyDone0019, TestSize.Level1)
RefPtr<IndexerLayoutAlgorithm> indexerLayoutAlgorithm = AceType::MakeRefPtr<IndexerLayoutAlgorithm>(0);
RefPtr<LayoutAlgorithmWrapper> layoutAlgorithmWrapper =
AceType::MakeRefPtr<LayoutAlgorithmWrapper>(indexerLayoutAlgorithm);
indexerLayoutAlgorithm->itemSizeRender_ = 24.f;
indexerLayoutAlgorithm->actualHeight_ = 150.f;
indexerLayoutAlgorithm->itemHeight_ = 24.f;
indexerLayoutAlgorithm->maxFrameHeight_ = 150.f;
layoutWrapper->SetLayoutAlgorithm(layoutAlgorithmWrapper);
DirtySwapConfig dirtySwapConfig;
@ -661,8 +661,8 @@ HWTEST_F(IndexerModelTestNg, OnModifyDone0020, TestSize.Level1)
RefPtr<IndexerLayoutAlgorithm> indexerLayoutAlgorithm = AceType::MakeRefPtr<IndexerLayoutAlgorithm>(0);
RefPtr<LayoutAlgorithmWrapper> layoutAlgorithmWrapper =
AceType::MakeRefPtr<LayoutAlgorithmWrapper>(indexerLayoutAlgorithm);
indexerLayoutAlgorithm->itemSizeRender_ = 24.f;
indexerLayoutAlgorithm->actualHeight_ = 150.f;
indexerLayoutAlgorithm->itemHeight_ = 24.f;
indexerLayoutAlgorithm->maxFrameHeight_ = 150.f;
layoutWrapper->SetLayoutAlgorithm(layoutAlgorithmWrapper);
DirtySwapConfig dirtySwapConfig;
@ -698,8 +698,8 @@ HWTEST_F(IndexerModelTestNg, OnModifyDone0021, TestSize.Level1)
RefPtr<IndexerLayoutAlgorithm> indexerLayoutAlgorithm = AceType::MakeRefPtr<IndexerLayoutAlgorithm>(0);
RefPtr<LayoutAlgorithmWrapper> layoutAlgorithmWrapper =
AceType::MakeRefPtr<LayoutAlgorithmWrapper>(indexerLayoutAlgorithm);
indexerLayoutAlgorithm->itemSizeRender_ = 24.f;
indexerLayoutAlgorithm->actualHeight_ = 150.f;
indexerLayoutAlgorithm->itemHeight_ = 24.f;
indexerLayoutAlgorithm->maxFrameHeight_ = 150.f;
layoutWrapper->SetLayoutAlgorithm(layoutAlgorithmWrapper);
DirtySwapConfig dirtySwapConfig;
@ -735,8 +735,8 @@ HWTEST_F(IndexerModelTestNg, OnModifyDone0022, TestSize.Level1)
RefPtr<IndexerLayoutAlgorithm> indexerLayoutAlgorithm = AceType::MakeRefPtr<IndexerLayoutAlgorithm>(0);
RefPtr<LayoutAlgorithmWrapper> layoutAlgorithmWrapper =
AceType::MakeRefPtr<LayoutAlgorithmWrapper>(indexerLayoutAlgorithm);
indexerLayoutAlgorithm->itemSizeRender_ = 24.f;
indexerLayoutAlgorithm->actualHeight_ = 150.f;
indexerLayoutAlgorithm->itemHeight_ = 24.f;
indexerLayoutAlgorithm->maxFrameHeight_ = 150.f;
layoutWrapper->SetLayoutAlgorithm(layoutAlgorithmWrapper);
DirtySwapConfig dirtySwapConfig;
@ -772,8 +772,8 @@ HWTEST_F(IndexerModelTestNg, OnModifyDone0023, TestSize.Level1)
RefPtr<IndexerLayoutAlgorithm> indexerLayoutAlgorithm = AceType::MakeRefPtr<IndexerLayoutAlgorithm>(0);
RefPtr<LayoutAlgorithmWrapper> layoutAlgorithmWrapper =
AceType::MakeRefPtr<LayoutAlgorithmWrapper>(indexerLayoutAlgorithm);
indexerLayoutAlgorithm->itemSizeRender_ = 24.f;
indexerLayoutAlgorithm->actualHeight_ = 150.f;
indexerLayoutAlgorithm->itemHeight_ = 24.f;
indexerLayoutAlgorithm->maxFrameHeight_ = 150.f;
layoutWrapper->SetLayoutAlgorithm(layoutAlgorithmWrapper);
DirtySwapConfig dirtySwapConfig;
@ -809,8 +809,8 @@ HWTEST_F(IndexerModelTestNg, OnModifyDone0024, TestSize.Level1)
RefPtr<IndexerLayoutAlgorithm> indexerLayoutAlgorithm = AceType::MakeRefPtr<IndexerLayoutAlgorithm>(0);
RefPtr<LayoutAlgorithmWrapper> layoutAlgorithmWrapper =
AceType::MakeRefPtr<LayoutAlgorithmWrapper>(indexerLayoutAlgorithm);
indexerLayoutAlgorithm->itemSizeRender_ = 24.f;
indexerLayoutAlgorithm->actualHeight_ = 150.f;
indexerLayoutAlgorithm->itemHeight_ = 24.f;
indexerLayoutAlgorithm->maxFrameHeight_ = 150.f;
layoutWrapper->SetLayoutAlgorithm(layoutAlgorithmWrapper);
DirtySwapConfig dirtySwapConfig;
@ -846,8 +846,8 @@ HWTEST_F(IndexerModelTestNg, OnModifyDone0025, TestSize.Level1)
RefPtr<IndexerLayoutAlgorithm> indexerLayoutAlgorithm = AceType::MakeRefPtr<IndexerLayoutAlgorithm>(0);
RefPtr<LayoutAlgorithmWrapper> layoutAlgorithmWrapper =
AceType::MakeRefPtr<LayoutAlgorithmWrapper>(indexerLayoutAlgorithm);
indexerLayoutAlgorithm->itemSizeRender_ = 24.f;
indexerLayoutAlgorithm->actualHeight_ = 100.f;
indexerLayoutAlgorithm->itemHeight_ = 24.f;
indexerLayoutAlgorithm->maxFrameHeight_ = 100.f;
layoutWrapper->SetLayoutAlgorithm(layoutAlgorithmWrapper);
DirtySwapConfig dirtySwapConfig;
@ -896,8 +896,8 @@ HWTEST_F(IndexerModelTestNg, OnModifyDone0026, TestSize.Level1)
RefPtr<IndexerLayoutAlgorithm> indexerLayoutAlgorithm = AceType::MakeRefPtr<IndexerLayoutAlgorithm>(0);
RefPtr<LayoutAlgorithmWrapper> layoutAlgorithmWrapper =
AceType::MakeRefPtr<LayoutAlgorithmWrapper>(indexerLayoutAlgorithm);
indexerLayoutAlgorithm->itemSizeRender_ = 24.f;
indexerLayoutAlgorithm->actualHeight_ = 100.f;
indexerLayoutAlgorithm->itemHeight_ = 24.f;
indexerLayoutAlgorithm->maxFrameHeight_ = 100.f;
layoutWrapper->SetLayoutAlgorithm(layoutAlgorithmWrapper);
DirtySwapConfig dirtySwapConfig;
@ -946,8 +946,8 @@ HWTEST_F(IndexerModelTestNg, OnModifyDone0027, TestSize.Level1)
RefPtr<IndexerLayoutAlgorithm> indexerLayoutAlgorithm = AceType::MakeRefPtr<IndexerLayoutAlgorithm>(0);
RefPtr<LayoutAlgorithmWrapper> layoutAlgorithmWrapper =
AceType::MakeRefPtr<LayoutAlgorithmWrapper>(indexerLayoutAlgorithm);
indexerLayoutAlgorithm->itemSizeRender_ = 24.f;
indexerLayoutAlgorithm->actualHeight_ = 100.f;
indexerLayoutAlgorithm->itemHeight_ = 24.f;
indexerLayoutAlgorithm->maxFrameHeight_ = 100.f;
layoutWrapper->SetLayoutAlgorithm(layoutAlgorithmWrapper);
DirtySwapConfig dirtySwapConfig;
@ -996,8 +996,8 @@ HWTEST_F(IndexerModelTestNg, OnModifyDone0028, TestSize.Level1)
RefPtr<IndexerLayoutAlgorithm> indexerLayoutAlgorithm = AceType::MakeRefPtr<IndexerLayoutAlgorithm>(0);
RefPtr<LayoutAlgorithmWrapper> layoutAlgorithmWrapper =
AceType::MakeRefPtr<LayoutAlgorithmWrapper>(indexerLayoutAlgorithm);
indexerLayoutAlgorithm->itemSizeRender_ = 24.f;
indexerLayoutAlgorithm->actualHeight_ = 100.f;
indexerLayoutAlgorithm->itemHeight_ = 24.f;
indexerLayoutAlgorithm->maxFrameHeight_ = 100.f;
layoutWrapper->SetLayoutAlgorithm(layoutAlgorithmWrapper);
DirtySwapConfig dirtySwapConfig;
@ -1047,8 +1047,8 @@ HWTEST_F(IndexerModelTestNg, OnModifyDone0029, TestSize.Level1)
RefPtr<IndexerLayoutAlgorithm> indexerLayoutAlgorithm = AceType::MakeRefPtr<IndexerLayoutAlgorithm>(0);
RefPtr<LayoutAlgorithmWrapper> layoutAlgorithmWrapper =
AceType::MakeRefPtr<LayoutAlgorithmWrapper>(indexerLayoutAlgorithm);
indexerLayoutAlgorithm->itemSizeRender_ = 24.f;
indexerLayoutAlgorithm->actualHeight_ = 100.f;
indexerLayoutAlgorithm->itemHeight_ = 24.f;
indexerLayoutAlgorithm->maxFrameHeight_ = 100.f;
layoutWrapper->SetLayoutAlgorithm(layoutAlgorithmWrapper);
DirtySwapConfig dirtySwapConfig;
@ -1097,8 +1097,8 @@ HWTEST_F(IndexerModelTestNg, OnModifyDone0030, TestSize.Level1)
RefPtr<IndexerLayoutAlgorithm> indexerLayoutAlgorithm = AceType::MakeRefPtr<IndexerLayoutAlgorithm>(0);
RefPtr<LayoutAlgorithmWrapper> layoutAlgorithmWrapper =
AceType::MakeRefPtr<LayoutAlgorithmWrapper>(indexerLayoutAlgorithm);
indexerLayoutAlgorithm->itemSizeRender_ = 24.f;
indexerLayoutAlgorithm->actualHeight_ = 100.f;
indexerLayoutAlgorithm->itemHeight_ = 24.f;
indexerLayoutAlgorithm->maxFrameHeight_ = 100.f;
layoutWrapper->SetLayoutAlgorithm(layoutAlgorithmWrapper);
DirtySwapConfig dirtySwapConfig;

View File

@ -280,13 +280,13 @@ HWTEST_F(IndexerTestNg, IndexerTouch001, TestSize.Level1)
* @tc.expected: Selected index is correct.
*/
pattern_->OnHover(true);
EXPECT_TRUE(Touch(TouchType::DOWN, 50.f, static_cast<int32_t>(50.f / pattern_->itemSizeRender_)));
// EXPECT_TRUE(Touch(TouchType::DOWN, 50.f, static_cast<int32_t>(50.f / pattern_->itemHeight_)));
/**
* @tc.steps: step2. OnTouchUp, differrnt location.
* @tc.expected: Selected index is correct.
*/
EXPECT_TRUE(Touch(TouchType::UP, 20.f, static_cast<int32_t>(50.f / pattern_->itemSizeRender_)));
// EXPECT_TRUE(Touch(TouchType::UP, 20.f, static_cast<int32_t>(50.f / pattern_->itemHeight_)));
}
/**
@ -305,13 +305,13 @@ HWTEST_F(IndexerTestNg, IndexerTouch002, TestSize.Level1)
* @tc.expected: Selected index is correct.
*/
pattern_->OnHover(false);
EXPECT_TRUE(Touch(TouchType::DOWN, 50.f, static_cast<int32_t>(50.f / pattern_->itemSizeRender_)));
// EXPECT_TRUE(Touch(TouchType::DOWN, 50.f, static_cast<int32_t>(50.f / pattern_->itemHeight_)));
/**
* @tc.steps: step2. OnTouchUp, same location.
* @tc.expected: Selected index is correct.
*/
EXPECT_TRUE(Touch(TouchType::UP, 50.f, static_cast<int32_t>(50.f / pattern_->itemSizeRender_)));
// EXPECT_TRUE(Touch(TouchType::UP, 50.f, static_cast<int32_t>(50.f / pattern_->itemHeight_)));
}
/**
@ -515,7 +515,7 @@ HWTEST_F(IndexerTestNg, IndexerPattern001, TestSize.Level1)
RefPtr<IndexerLayoutAlgorithm> indexerLayoutAlgorithm = AceType::MakeRefPtr<IndexerLayoutAlgorithm>(0);
RefPtr<LayoutAlgorithmWrapper> layoutAlgorithmWrapper =
AceType::MakeRefPtr<LayoutAlgorithmWrapper>(indexerLayoutAlgorithm);
indexerLayoutAlgorithm->itemSizeRender_ = 24.f;
indexerLayoutAlgorithm->itemHeight_ = 24.f;
layoutWrapper->SetLayoutAlgorithm(layoutAlgorithmWrapper);
DirtySwapConfig dirtySwapConfig;
@ -681,7 +681,7 @@ HWTEST_F(IndexerTestNg, IndexerPattern005, TestSize.Level1)
model.SetUsingPopup(true);
model.SetOnRequestPopupData(GetMorePopupData2);
});
pattern_->MoveIndexByOffset(Offset(0, 0));
pattern_->MoveIndexByOffset(Offset(0, 10));
FlushLayoutTask(frameNode_);
auto listNode = AceType::DynamicCast<FrameNode>(pattern_->popupNode_->GetLastChild()->GetFirstChild());
auto listPattern = listNode->GetPattern<ListPattern>();
@ -1291,8 +1291,8 @@ HWTEST_F(IndexerTestNg, OnModifyDone003, TestSize.Level1)
RefPtr<IndexerLayoutAlgorithm> indexerLayoutAlgorithm = AceType::MakeRefPtr<IndexerLayoutAlgorithm>(0);
RefPtr<LayoutAlgorithmWrapper> layoutAlgorithmWrapper =
AceType::MakeRefPtr<LayoutAlgorithmWrapper>(indexerLayoutAlgorithm);
indexerLayoutAlgorithm->itemSizeRender_ = 24.f;
indexerLayoutAlgorithm->actualHeight_ = 95.f;
indexerLayoutAlgorithm->itemHeight_ = 24.f;
indexerLayoutAlgorithm->maxFrameHeight_ = 95.f;
layoutWrapper->SetLayoutAlgorithm(layoutAlgorithmWrapper);
DirtySwapConfig dirtySwapConfig;
@ -1339,8 +1339,8 @@ HWTEST_F(IndexerTestNg, OnModifyDone004, TestSize.Level1)
RefPtr<IndexerLayoutAlgorithm> indexerLayoutAlgorithm = AceType::MakeRefPtr<IndexerLayoutAlgorithm>(0);
RefPtr<LayoutAlgorithmWrapper> layoutAlgorithmWrapper =
AceType::MakeRefPtr<LayoutAlgorithmWrapper>(indexerLayoutAlgorithm);
indexerLayoutAlgorithm->itemSizeRender_ = 24.f;
indexerLayoutAlgorithm->actualHeight_ = 95.f;
indexerLayoutAlgorithm->itemHeight_ = 24.f;
indexerLayoutAlgorithm->maxFrameHeight_ = 95.f;
layoutWrapper->SetLayoutAlgorithm(layoutAlgorithmWrapper);
DirtySwapConfig dirtySwapConfig;
@ -1442,8 +1442,8 @@ HWTEST_F(IndexerTestNg, OnModifyDone007, TestSize.Level1)
RefPtr<IndexerLayoutAlgorithm> indexerLayoutAlgorithm = AceType::MakeRefPtr<IndexerLayoutAlgorithm>(0);
RefPtr<LayoutAlgorithmWrapper> layoutAlgorithmWrapper =
AceType::MakeRefPtr<LayoutAlgorithmWrapper>(indexerLayoutAlgorithm);
indexerLayoutAlgorithm->itemSizeRender_ = 24.f;
indexerLayoutAlgorithm->actualHeight_ = 150.f;
indexerLayoutAlgorithm->itemHeight_ = 24.f;
indexerLayoutAlgorithm->maxFrameHeight_ = 150.f;
layoutWrapper->SetLayoutAlgorithm(layoutAlgorithmWrapper);
DirtySwapConfig dirtySwapConfig;
@ -1479,8 +1479,8 @@ HWTEST_F(IndexerTestNg, OnModifyDone008, TestSize.Level1)
RefPtr<IndexerLayoutAlgorithm> indexerLayoutAlgorithm = AceType::MakeRefPtr<IndexerLayoutAlgorithm>(0);
RefPtr<LayoutAlgorithmWrapper> layoutAlgorithmWrapper =
AceType::MakeRefPtr<LayoutAlgorithmWrapper>(indexerLayoutAlgorithm);
indexerLayoutAlgorithm->itemSizeRender_ = 24.f;
indexerLayoutAlgorithm->actualHeight_ = 100.f;
indexerLayoutAlgorithm->itemHeight_ = 24.f;
indexerLayoutAlgorithm->maxFrameHeight_ = 100.f;
layoutWrapper->SetLayoutAlgorithm(layoutAlgorithmWrapper);
DirtySwapConfig dirtySwapConfig;
@ -1697,7 +1697,7 @@ HWTEST_F(IndexerTestNg, IndexerPatternCoverage001, TestSize.Level1)
/**
* @tc.steps: step1. Supplement MoveIndexByOffset branch,
* the itemCount_ would not be 0 when itemSizeRender_ was not 0.
* the itemCount_ would not be 0 when itemHeight_ was not 0.
*/
pattern_->itemCount_ = 0;
pattern_->MoveIndexByOffset(Offset(0, 0));