屏幕与亮度 退出死机 1742/2 1742/head 1743/target/1
authorCaisking <Casiking@zhihuishixun.com>
Fri, 9 May 2025 06:52:11 +0000 (14:52 +0800)
committerCaisking <Casiking@zhihuishixun.com>
Fri, 9 May 2025 06:52:11 +0000 (14:52 +0800)
code/sdk/application/wearable/fd230/nativeapp/nativeui/brightnesslevel/src/BrightnessLevelView.cpp
code/sdk/application/wearable/fd230/nativeapp/nativeui/displaybrightness/src/BrightnessControlView.cpp
code/sdk/application/wearable/fd230/nativeapp/nativeui/displaybrightness/src/DisplayBrightnessPresent.cpp
code/sdk/application/wearable/fd230/nativeapp/nativeui/displaybrightness/src/DisplayBrightnessView.cpp
code/sdk/application/wearable/fd230/nativeapp/nativeui/displaybrightness/src/ScreenDurationView.cpp

index d569c73..71d08a0 100644 (file)
@@ -23,6 +23,7 @@ namespace OHOS
     BrightnessLevelView::~BrightnessLevelView()
     {
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "BrightnessLevelView::~BrightnessLevelView");
+        ClearAll();
         g_pBrightnessLevelView = nullptr;
     }
 
@@ -35,6 +36,7 @@ namespace OHOS
     {
         if (p_BrightnessControlView != nullptr)
         {
+            // delete scorllView;
             scorllView = nullptr;
 
             delete p_BrightnessControlView;
@@ -50,12 +52,19 @@ namespace OHOS
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[BrightnessLevelView::BrightnessLevelViewInit] p_BrightnessControlView is nullptr!!");
             return;
         }
+
         scorllView = p_BrightnessControlView->BrightnessControlViewInit();
+
+
         if (scorllView == nullptr)
         {
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[BrightnessLevelView::BrightnessLevelViewInit] scorllView == nullptr");
             return;
         }
+
+        scorllView->SetDraggable(true);
+        scorllView->SetTouchable(true);
+        scorllView->SetOnDragListener(presenter_);
     }
 
     void BrightnessLevelView::OnStart()
index da7923c..4cf3ade 100644 (file)
@@ -32,6 +32,8 @@ namespace OHOS
     {\r
         if (initViewStatus == true)\r
         {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BrightnessControlView::ClearAll");\r
+\r
             BrightnessControlScrollView->RemoveAll();\r
 \r
             delete BrightnessControlViewSlider;\r
@@ -45,6 +47,8 @@ namespace OHOS
 \r
             delete BrightnessControlScrollView;\r
             BrightnessControlScrollView = nullptr;\r
+\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BrightnessControlView::ClearAll end");\r
         }\r
     }\r
 \r
@@ -164,6 +168,11 @@ namespace OHOS
     public:\r
         void ApplyChange(BrightnessControlView *view, UISlider *slider, uint8_t value) override\r
         {\r
+            if( slider == nullptr )\r
+            {\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ApplyChange: slider is nullptr!");\r
+                return;\r
+            }\r
             // Implement the logic similar to the BRIGHTNESSLOWERS case\r
             uint8_t newBrightnessValue = slider->GetValue() - BRIGHTNESS_CHANGE;\r
             if (newBrightnessValue < BRIGHTNESS_MIN)\r
@@ -189,6 +198,12 @@ namespace OHOS
         void ApplyChange(BrightnessControlView *view, UISlider *slider, uint8_t value) override\r
         {\r
             // Implement the logic similar to the BRIGHTNESSEVATED case\r
+            if( slider == nullptr )\r
+            {\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ApplyChange: slider is nullptr!");\r
+                return; \r
+            }\r
+\r
             uint8_t newBrightnessValue = slider->GetValue() + BRIGHTNESS_CHANGE;\r
             if (newBrightnessValue > BRIGHTNESS_MAX)\r
             {\r
index 0aba5f4..99a286d 100644 (file)
@@ -164,7 +164,7 @@ namespace OHOS
 \r
     bool DisplayBrightnessPresenter::OnClick(UIView &view, const ClickEvent &event)\r
     {\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessPresenter::OnClick");\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessPresenter::OnClick");\r
         DisplayBrightnessView *p_DisplayBrightnessView = DisplayBrightnessView::GetInstance();\r
         if (p_DisplayBrightnessView == nullptr)\r
         {\r
@@ -188,7 +188,7 @@ namespace OHOS
 \r
     bool DisplayBrightnessPresenter::OnDrag(UIView &view, const DragEvent &event)\r
     {\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessPresenter::OnDrag");\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessPresenter::OnDrag");\r
         UNUSED(view);\r
         if ((event.GetDeltaX() > X_DRAG_OFFSET) && (event.GetDeltaX() > (DOUBLES * MATH_ABS(event.GetDeltaY())))) // 拖动过程中判断是否是水平滑动\r
         {\r
@@ -199,7 +199,7 @@ namespace OHOS
 \r
     bool DisplayBrightnessPresenter::OnDragEnd(UIView &view, const DragEvent &event)\r
     {\r
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessPresenter::OnDragEnd");\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessPresenter::OnDragEnd");\r
         DisplayBrightnessView *p_DisplayBrightnessView = DisplayBrightnessView::GetInstance();\r
         if (p_DisplayBrightnessView == nullptr)\r
         {\r
index b62557f..41ed8be 100644 (file)
@@ -33,43 +33,51 @@ namespace OHOS
     {\r
         if (initViewStatus == true)\r
         {\r
-            DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->RemoveAll();\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView::ClearAll");\r
 \r
-            delete DisplayBrightnessTitleLabel;\r
-            DisplayBrightnessTitleLabel = nullptr;\r
+            if(DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW] != nullptr)\r
+            {\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView::ClearAll DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]");\r
 \r
-            delete BringhtnessControlButton;\r
-            BringhtnessControlButton = nullptr;\r
+                DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->RemoveAll();\r
 \r
-            delete ScreenDurationButton;\r
-            ScreenDurationButton = nullptr;\r
+                delete DisplayBrightnessTitleLabel;\r
+                DisplayBrightnessTitleLabel = nullptr;\r
 \r
-            delete BringhtnessControlLabel;\r
-            BringhtnessControlLabel = nullptr;\r
+                delete BringhtnessControlButton;\r
+                BringhtnessControlButton = nullptr;\r
 \r
-            delete ScreenDurationLabel;\r
-            ScreenDurationLabel = nullptr;\r
+                delete ScreenDurationButton;\r
+                ScreenDurationButton = nullptr;\r
 \r
-            delete selectScreenDurationLabel;\r
-            selectScreenDurationLabel = nullptr;\r
+                delete BringhtnessControlLabel;\r
+                BringhtnessControlLabel = nullptr;\r
 \r
-            delete RaiseToBrightnessLabel;\r
-            RaiseToBrightnessLabel = nullptr;\r
+                delete ScreenDurationLabel;\r
+                ScreenDurationLabel = nullptr;\r
 \r
-            for (int i = 0; i < 2; i++)\r
-            {\r
-                delete NextImage[i];\r
-                NextImage[i] = nullptr;\r
-            }\r
+                delete selectScreenDurationLabel;\r
+                selectScreenDurationLabel = nullptr;\r
+\r
+                delete RaiseToBrightnessLabel;\r
+                RaiseToBrightnessLabel = nullptr;\r
+\r
+                for (int i = 0; i < 2; i++)\r
+                {\r
+                    delete NextImage[i];\r
+                    NextImage[i] = nullptr;\r
+                }\r
 \r
-            delete RaiseToBrightnessImage;\r
-            RaiseToBrightnessImage = nullptr;\r
+                delete RaiseToBrightnessImage;\r
+                RaiseToBrightnessImage = nullptr;\r
 \r
-            delete RaiseToBrightnessCheckBoxButton;\r
-            RaiseToBrightnessCheckBoxButton = nullptr;\r
+                delete RaiseToBrightnessCheckBoxButton;\r
+                RaiseToBrightnessCheckBoxButton = nullptr;\r
 \r
-            delete DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW];\r
-            DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW] = nullptr;\r
+                delete DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW];\r
+                DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW] = nullptr;\r
+\r
+        }\r
         }\r
         if (p_ScreenDurationView != nullptr)\r
         {\r
@@ -80,6 +88,9 @@ namespace OHOS
         {\r
             DisplayBrightnessScrollView[i] = nullptr;\r
         }\r
+\r
+        initViewStatus = false;\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView::ClearAll end");\r
     }\r
 \r
     // 显示与亮度视图scrollView初始化\r
@@ -383,7 +394,7 @@ namespace OHOS
             initViewStatus = true;\r
         }\r
         RootView::OnKeyActListener *keyactListener = (RootView::OnKeyActListener *)OHOS::DisplayBrightnessPresenter::GetInstance();\r
-       RootView::GetInstance()->SetOnKeyActListener(keyactListener);\r
+        RootView::GetInstance()->SetOnKeyActListener(keyactListener);\r
 \r
         if (DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW] == nullptr)\r
         {\r
@@ -502,6 +513,12 @@ namespace OHOS
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView:: SystemViewId Overstep ones bounds");\r
             return;\r
         }\r
+\r
+        if( DisplayBrightnessScrollView[hideView] == nullptr || DisplayBrightnessScrollView[showView] == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView:: DisplayBrightnessScrollView is nullptr");\r
+        }\r
+\r
         DisplayBrightnessScrollView[hideView]->SetVisible(false);\r
         ClickFunc(showView);\r
         DisplayBrightnessScrollView[showView]->SetVisible(true);\r
index 165721e..3507fc9 100644 (file)
@@ -31,8 +31,11 @@ namespace OHOS
     {\r
         if (initViewStatus == true)\r
         {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScreenDurationView ClearAll");\r
+\r
             if (ScreenDurationScrollView != nullptr)\r
             {\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScreenDurationView ClearAll start");\r
                 ScreenDurationScrollView->RemoveAll();\r
                 if (ScreenDurationTitleLabel != nullptr)\r
                 {\r
@@ -70,6 +73,8 @@ namespace OHOS
                 delete ScreenDurationScrollView;\r
                 ScreenDurationScrollView = nullptr;\r
             }\r
+\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScreenDurationView ClearAll end");\r
         }\r
     }\r
 \r