mirror of
https://github.com/openharmony/windowmanager.git
synced 2026-07-19 17:08:11 -04:00
修复层叠bug
Signed-off-by: xingyanan <xingyanan2@huawei.com> Change-Id: Ic62458b02b8d8e0f6f1d215f0e3c6df22ac170a9 Signed-off-by: xingyanan <xingyanan2@huawei.com>
This commit is contained in:
@@ -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_,
|
||||
|
||||
Reference in New Issue
Block a user