Resolve review comments' problems

Signed-off-by: pengxin <pengxin33@huawei.com>
Change-Id: Ide86a0245cacfa727343400024ab4b734dc94a20
This commit is contained in:
pengxin
2022-04-28 09:34:57 +08:00
parent bfb910823b
commit b287cbf734
6 changed files with 11 additions and 32 deletions
+2 -1
View File
@@ -198,7 +198,8 @@ bool Screen::SetDensityDpi(uint32_t dpi) const
DOT_PER_INCH_MINIMIM_VALUE, DOT_PER_INCH_MAXIMUM_VALUE);
return false;
}
float density = float(dpi) / 160.0; // calculate display density
// Calculate display density, Density = Dpi / 160.
float density = static_cast<float>(dpi) / 160; // 160 is the coefficient between density and dpi.
return SingletonContainer::Get<ScreenManagerAdapter>().SetVirtualPixelRatio(GetId(), density);
}
} // namespace OHOS::Rosen
@@ -327,7 +327,6 @@ HWTEST_F(DisplayChangeTest, CheckDisplaySizeChange02, Function | MediumTest | Le
*/
HWTEST_F(DisplayChangeTest, CheckScreenDensityChange01, Function | SmallTest | Level2)
{
auto modes = defaultScreen_->GetSupportedModes();
uint32_t densityDpi = 320;
ASSERT_EQ(true, defaultScreen_->SetDensityDpi(densityDpi));
sleep(SPLIT_TEST_SLEEP_S);
@@ -340,7 +339,6 @@ HWTEST_F(DisplayChangeTest, CheckScreenDensityChange01, Function | SmallTest | L
*/
HWTEST_F(DisplayChangeTest, CheckScreenDensityChange02, Function | SmallTest | Level2)
{
auto modes = defaultScreen_->GetSupportedModes();
uint32_t densityDpi = 80;
ASSERT_EQ(true, defaultScreen_->SetDensityDpi(densityDpi));
sleep(SPLIT_TEST_SLEEP_S);
@@ -353,7 +351,6 @@ HWTEST_F(DisplayChangeTest, CheckScreenDensityChange02, Function | SmallTest | L
*/
HWTEST_F(DisplayChangeTest, CheckScreenDensityChange03, Function | SmallTest | Level2)
{
auto modes = defaultScreen_->GetSupportedModes();
uint32_t densityDpi = 160;
ASSERT_EQ(true, defaultScreen_->SetDensityDpi(densityDpi));
sleep(SPLIT_TEST_SLEEP_S);
@@ -53,7 +53,7 @@ private:
void OnAbstractScreenChange(sptr<AbstractScreen> absScreen, DisplayChangeEvent event);
void ProcessDisplayUpdateOrientation(sptr<AbstractScreen> absScreen);
void ProcessDisplaySizeChange(sptr<AbstractScreen> absScreen);
void ProcessDisplayDensityChange(sptr<AbstractScreen> absScreen);
void ProcessVirtualPixelRatioChange(sptr<AbstractScreen> absScreen);
void BindAloneScreenLocked(sptr<AbstractScreen> absScreen);
void AddScreenToMirrorLocked(sptr<AbstractScreen> absScreen);
void AddScreenToExpandLocked(sptr<AbstractScreen> absScreen);
+6 -2
View File
@@ -248,7 +248,7 @@ void AbstractDisplayController::OnAbstractScreenChange(sptr<AbstractScreen> absS
} else if (event == DisplayChangeEvent::DISPLAY_SIZE_CHANGED) {
ProcessDisplaySizeChange(absScreen);
} else if (event == DisplayChangeEvent::DISPLAY_VIRTUAL_PIXEL_RATIO_CHANGED) {
ProcessDisplayDensityChange(absScreen);
ProcessVirtualPixelRatioChange(absScreen);
} else {
WLOGE("unknown screen change event. id:%{public}" PRIu64" event %{public}u", absScreen->dmsId_, event);
}
@@ -350,7 +350,7 @@ bool AbstractDisplayController::UpdateDisplaySize(sptr<AbstractDisplay> absDispl
return true;
}
void AbstractDisplayController::ProcessDisplayDensityChange(sptr<AbstractScreen> absScreen)
void AbstractDisplayController::ProcessVirtualPixelRatioChange(sptr<AbstractScreen> absScreen)
{
sptr<AbstractDisplay> abstractDisplay = nullptr;
{
@@ -365,6 +365,10 @@ void AbstractDisplayController::ProcessDisplayDensityChange(sptr<AbstractScreen>
}
}
}
if (abstractDisplay == nullptr) {
WLOGE("Failed to find abstract display of the screen.");
return;
}
abstractDisplay->SetVirtualPixelRatio(absScreen->virtualPixelRatio_);
// Notify virtual pixel ratio change event to WMS
displayStateChangeListener_(abstractDisplay->GetId(), DisplayStateChangeType::VIRTUAL_PIXEL_RATIO_CHANGE);
-4
View File
@@ -89,8 +89,6 @@ public:
void SetMinimizedByOther(bool isMinimizedByOther);
void GetModeChangeHotZones(DisplayId displayId,
ModeChangeHotZones& hotZones, const ModeChangeHotZonesConfig& config);
void SetLastVirutalPixelRatio(DisplayId displayId, float virtualPixelRatio);
float GetLastVirtualPixelRatio(DisplayId displayId);
void UpdateVirtualPixelRatio(DisplayId displayId, float virtualPixelRatio);
private:
@@ -143,8 +141,6 @@ private:
uint32_t focusedWindow_ { INVALID_WINDOW_ID };
uint32_t activeWindow_ = INVALID_WINDOW_ID;
std::map<DisplayId, float> lastVirtualPixelRatioMap_;
sptr<AvoidAreaController> avoidController_;
sptr<WindowZorderPolicy> zorderPolicy_ = new WindowZorderPolicy();
std::unordered_map<WindowLayoutMode, sptr<WindowLayoutPolicy>> layoutPolicys_;
+2 -21
View File
@@ -1593,30 +1593,11 @@ void WindowNodeContainer::GetModeChangeHotZones(DisplayId displayId, ModeChangeH
hotZones.secondary_.height_ = displayRect.height_;
}
void WindowNodeContainer::SetLastVirutalPixelRatio(DisplayId displayId, float virtualPixelRatio)
{
lastVirtualPixelRatioMap_[displayId] = virtualPixelRatio;
}
float WindowNodeContainer::GetLastVirtualPixelRatio(DisplayId displayId)
{
if (lastVirtualPixelRatioMap_.find(displayId) == lastVirtualPixelRatioMap_.end()) {
WLOGE("cannot find last virtual pixel ratio for display: %{public}" PRIu64"", displayId);
return -1;
}
return lastVirtualPixelRatioMap_[displayId];
}
void WindowNodeContainer::UpdateVirtualPixelRatio(DisplayId displayId, float virtualPixelRatio)
{
if (fabs(GetLastVirtualPixelRatio(displayId) - virtualPixelRatio) > 1e-6) {
layoutPolicy_->SetVirtualPixelRatioChangedFlag(true);
SetLastVirutalPixelRatio(displayId, virtualPixelRatio);
}
layoutPolicy_->SetVirtualPixelRatioChangedFlag(true);
layoutPolicy_->LayoutWindowTree(displayId);
if (layoutPolicy_->GetVirtualPixelRatioChangedFlag()) {
layoutPolicy_->SetVirtualPixelRatioChangedFlag(false);
}
layoutPolicy_->SetVirtualPixelRatioChangedFlag(false);
}
} // namespace Rosen
} // namespace OHOS