修复层叠bug

Signed-off-by: xingyanan <xingyanan2@huawei.com>
Change-Id: Ic62458b02b8d8e0f6f1d215f0e3c6df22ac170a9
Signed-off-by: xingyanan <xingyanan2@huawei.com>
This commit is contained in:
xingyanan
2022-07-06 11:47:47 +08:00
parent 06264ea30e
commit e72a5135b2
3 changed files with 2 additions and 64 deletions
-13
View File
@@ -409,19 +409,6 @@ HWTEST_F(DisplayPowerTest, set_screen_brightness_001, Function | MediumTest | Le
ASSERT_EQ(level, brightnessLevel_);
}
/**
* @tc.name: set_screen_brightness_002
* @tc.desc: Call SetScreenBrightness with an invalid value and check the GetScreenBrightness return value
* @tc.type: FUNC
*/
HWTEST_F(DisplayPowerTest, set_screen_brightness_002, Function | MediumTest | Level2)
{
bool ret = DisplayManager::GetInstance().SetScreenBrightness(defaultId_, invalidBrightnessLevel_);
ASSERT_EQ(true, ret);
uint32_t level = DisplayManager::GetInstance().GetScreenBrightness(defaultId_);
ASSERT_NE(level, invalidBrightnessLevel_);
}
/**
* @tc.name: window_life_cycle_001
* @tc.desc: Add a window and then call SuspendEnd and check window state; Notify unlock and check window state
@@ -425,56 +425,6 @@ HWTEST_F(ScreenManagerTest, ScreenManager08, Function | MediumTest | Level2)
ScreenManager::GetInstance().UnregisterScreenGroupListener(screenGroupChangeListener);
}
/**
* @tc.name: ScreenManager09
* @tc.desc: Create a virtual screen as expansion of default screen, create windowNode on virtual screen,
* and destroy virtual screen
* @tc.type: FUNC
*/
HWTEST_F(ScreenManagerTest, ScreenManager09, Function | MediumTest | Level2)
{
DisplayTestUtils utils;
ASSERT_TRUE(utils.CreateSurface());
defaultOption_.surface_ = utils.psurface_;
defaultOption_.isForShot_ = false;
CHECK_TEST_INIT_SCREEN_STATE
ScreenId virtualScreenId = ScreenManager::GetInstance().CreateVirtualScreen(defaultOption_);
CHECK_SCREEN_STATE_AFTER_CREATE_VIRTUAL_SCREEN
CheckScreenStateInGroup(false, group, groupId, virtualScreen, virtualScreenId);
sleep(TEST_SLEEP_S);
std::vector<ExpandOption> options = {{defaultScreenId_, 0, 0}, {virtualScreenId, defaultWidth_, 0}};
ScreenId expansionId = ScreenManager::GetInstance().MakeExpand(options);
CheckScreenGroupState(ScreenCombination::SCREEN_EXPAND, ScreenGroupChangeEvent::ADD_TO_GROUP,
virtualScreenId, group, screenGroupChangeListener);
CheckScreenStateInGroup(true, group, groupId, virtualScreen, virtualScreenId);
sleep(TEST_SLEEP_S);
ASSERT_NE(SCREEN_ID_INVALID, expansionId);
DisplayId virtualDisplayId = DisplayManager::GetInstance().GetDisplayByScreen(virtualScreenId)->GetId();
ASSERT_NE(DISPLAY_ID_INVALID, virtualDisplayId);
sptr<Window> window = CreateWindowByDisplayId(virtualDisplayId);
ASSERT_NE(nullptr, window);
sleep(TEST_SLEEP_S);
auto surfaceNode = window->GetSurfaceNode();
auto rsUiDirector = RSUIDirector::Create();
rsUiDirector->Init();
RSTransaction::FlushImplicitTransaction();
sleep(TEST_SLEEP_S);
rsUiDirector->SetRSSurfaceNode(surfaceNode);
RootNodeInit(rsUiDirector, 200, 400);
rsUiDirector->SendMessages();
sleep(TEST_SLEEP_S);
ASSERT_EQ(DMError::DM_OK, ScreenManager::GetInstance().DestroyVirtualScreen(virtualScreenId));
CHECK_SCREEN_STATE_AFTER_DESTROY_VIRTUAL_SCREEN
CheckScreenGroupState(ScreenCombination::SCREEN_EXPAND, ScreenGroupChangeEvent::REMOVE_FROM_GROUP,
virtualScreenId, group, screenGroupChangeListener);
CheckScreenStateInGroup(false, group, groupId, virtualScreen, virtualScreenId);
ScreenManager::GetInstance().UnregisterScreenListener(screenListener);
ScreenManager::GetInstance().UnregisterScreenGroupListener(screenGroupChangeListener);
sleep(TEST_SLEEP_S);
window->Show();
sleep(TEST_SLEEP_S_LONG);
window->Destroy();
}
/**
* @tc.name: ScreenManager10
@@ -515,7 +515,8 @@ Rect WindowLayoutPolicyCascade::GetCurCascadeRect(const sptr<WindowNode>& node)
(*iter)->GetWindowId() != node->GetWindowId()) {
auto property = (*iter)->GetWindowProperty();
if (property != nullptr) {
cascadeRect = property->GetWindowRect();
cascadeRect = ((*iter)->GetWindowMode() == WindowMode::WINDOW_MODE_FLOATING ?
property->GetWindowRect() : property->GetRequestRect());
}
WLOGFI("Get current cascadeRect: %{public}u [%{public}d, %{public}d, %{public}u, %{public}u]",
(*iter)->GetWindowId(), cascadeRect.posX_, cascadeRect.posY_,