已合并
add virtual HandleSensorChange #19203
wulong158创建于 5月28日
add virtual HandleSensorChange #19203
已合并
共 4 个文件变更+6-11
| @@ -127,7 +127,6 @@ public: | |||
| 127 | FoldCreaseRegion GetLiveCreaseRegion() const; | 127 | FoldCreaseRegion GetLiveCreaseRegion() const; |
| 128 | void GetAllCreaseRegion(std::vector<FoldCreaseRegionItem>& foldCreaseRegionItems) const; | 128 | void GetAllCreaseRegion(std::vector<FoldCreaseRegionItem>& foldCreaseRegionItems) const; |
| 129 | virtual void SetMainScreenRegion(DMRect& mainScreenRegion) {}; | 129 | virtual void SetMainScreenRegion(DMRect& mainScreenRegion) {}; |
| 130 | - bool GetLockDisplayStatus() const; | ||
| 131 | void SetCurrentDisplayMode(FoldDisplayMode mode); | 130 | void SetCurrentDisplayMode(FoldDisplayMode mode); |
| 132 | virtual void ChangeScreenPowerOnFold(const std::vector<std::pair<ScreenId, | 131 | virtual void ChangeScreenPowerOnFold(const std::vector<std::pair<ScreenId, |
| 133 | ScreenPowerStatus>>& screenPowerTaskList); | 132 | ScreenPowerStatus>>& screenPowerTaskList); |
| @@ -58,7 +58,7 @@ protected: | |||
| 58 | virtual bool IsGetFoldStatusByHalls(const SensorStatus& sensorStatus); | 58 | virtual bool IsGetFoldStatusByHalls(const SensorStatus& sensorStatus); |
| 59 | virtual FoldStatus GetFoldStatusByHalls(const SensorStatus& sensorStatus); | 59 | virtual FoldStatus GetFoldStatusByHalls(const SensorStatus& sensorStatus); |
| 60 | virtual ScreenAxis GetTentModeScreenAxis(const SensorStatus& sensorStatus); | 60 | virtual ScreenAxis GetTentModeScreenAxis(const SensorStatus& sensorStatus); |
| 61 | - void HandleSensorChange(FoldStatus nextStatus); | 61 | + virtual void HandleSensorChange(FoldStatus nextStatus); |
| 62 | void UpdateFoldAlgorithmStrategy(const std::vector<ScreenAxis>& axis); | 62 | void UpdateFoldAlgorithmStrategy(const std::vector<ScreenAxis>& axis); |
| 63 | void ReportTentStatusChange(ReportTentModeStatus tentStatus); | 63 | void ReportTentStatusChange(ReportTentModeStatus tentStatus); |
| 64 | void SetTentMode(int tentType); | 64 | void SetTentMode(int tentType); |
| @@ -67,6 +67,7 @@ protected: | |||
| 67 | SensorStatus currentSensorStatus_; | 67 | SensorStatus currentSensorStatus_; |
| 68 | std::vector<FoldStatus> currentFoldStatus_; | 68 | std::vector<FoldStatus> currentFoldStatus_; |
| 69 | int32_t tentModeType_ = 0; | 69 | int32_t tentModeType_ = 0; |
| 70 | + FoldStatus globalFoldStatus_ = FoldStatus::UNKNOWN; | ||
| 70 | 71 | ||
| 71 | private: | 72 | private: |
| 72 | std::vector<std::string> getHallSwitchAppList(); | 73 | std::vector<std::string> getHallSwitchAppList(); |
| @@ -77,7 +78,6 @@ private: | |||
| 77 | std::vector<int32_t> foldAlgorithmStrategy_; | 78 | std::vector<int32_t> foldAlgorithmStrategy_; |
| 78 | class Impl; | 79 | class Impl; |
| 79 | std::unique_ptr<Impl> pImpl_; | 80 | std::unique_ptr<Impl> pImpl_; |
| 80 | - FoldStatus globalFoldStatus_ = FoldStatus::UNKNOWN; | ||
| 81 | TaskSequenceProcess* taskProcess_; | 81 | TaskSequenceProcess* taskProcess_; |
| 82 | }; | 82 | }; |
| 83 | 83 | ||
| @@ -672,6 +672,9 @@ void FoldScreenBasePolicy::ChangeScreenDisplayModeInner(FoldDisplayMode displayM | |||
| 672 | 672 | ||
| 673 | void FoldScreenBasePolicy::SendSensorResult(FoldStatus foldStatus) | 673 | void FoldScreenBasePolicy::SendSensorResult(FoldStatus foldStatus) |
| 674 | { | 674 | { |
| 675 | + if (lockDisplayStatus_) { | ||
| 676 | + return; | ||
| 677 | + } | ||
| 675 | TLOGI(WmsLogTag::DMS, "SendSensorResult FoldStatus: %{public}d", foldStatus); | 678 | TLOGI(WmsLogTag::DMS, "SendSensorResult FoldStatus: %{public}d", foldStatus); |
| 676 | FoldDisplayMode displayMode = GetModeMatchStatus(); | 679 | FoldDisplayMode displayMode = GetModeMatchStatus(); |
| 677 | ChangeScreenDisplayMode(displayMode); | 680 | ChangeScreenDisplayMode(displayMode); |
| @@ -989,11 +992,6 @@ FoldStatus FoldScreenBasePolicy::GetPhysicalFoldStatus() | |||
| 989 | return lastFoldStatus_; | 992 | return lastFoldStatus_; |
| 990 | } | 993 | } |
| 991 | 994 | ||
| 992 | -bool FoldScreenBasePolicy::GetLockDisplayStatus() const | ||
| 993 | -{ | ||
| 994 | - return lockDisplayStatus_; | ||
| 995 | -} | ||
| 996 | - | ||
| 997 | void FoldScreenBasePolicy::SetCurrentDisplayMode(FoldDisplayMode mode) | 995 | void FoldScreenBasePolicy::SetCurrentDisplayMode(FoldDisplayMode mode) |
| 998 | { | 996 | { |
| 999 | std::lock_guard<std::recursive_mutex> lock_mode(displayModeMutex_); | 997 | std::lock_guard<std::recursive_mutex> lock_mode(displayModeMutex_); |
| @@ -241,9 +241,7 @@ void SensorFoldStateMgr::HandleSensorChange(FoldStatus nextStatus) | |||
| 241 | 241 | ||
| 242 | FoldScreenBasePolicy::GetInstance().SetFoldStatus(globalFoldStatus_); | 242 | FoldScreenBasePolicy::GetInstance().SetFoldStatus(globalFoldStatus_); |
| 243 | ScreenSessionManager::GetInstance().NotifyFoldStatusChanged(globalFoldStatus_); | 243 | ScreenSessionManager::GetInstance().NotifyFoldStatusChanged(globalFoldStatus_); |
| 244 | - if (!FoldScreenBasePolicy::GetInstance().GetLockDisplayStatus()) { | 244 | + FoldScreenBasePolicy::GetInstance().SendSensorResult(globalFoldStatus_); |
| 245 | - FoldScreenBasePolicy::GetInstance().SendSensorResult(globalFoldStatus_); | ||
| 246 | - } | ||
| 247 | } else { | 245 | } else { |
| 248 | TLOGD(WmsLogTag::DMS, "fold state doesn't change, foldState = %{public}d.", globalFoldStatus_); | 246 | TLOGD(WmsLogTag::DMS, "fold state doesn't change, foldState = %{public}d.", globalFoldStatus_); |
| 249 | } | 247 | } |