修改遥控拍照的析构适配
authorCaisking <3449750381@qq.com>
Sat, 10 Aug 2024 03:51:40 +0000 (11:51 +0800)
committerCaisking <3449750381@qq.com>
Sat, 10 Aug 2024 03:51:40 +0000 (11:51 +0800)
code/sdk/application/wearable/fd230app/nativeui/takephotos/src/TakephotosView.cpp

index d4cee4d..9e98813 100644 (file)
@@ -22,7 +22,14 @@ namespace OHOS
 
     TakephotosView::~TakephotosView()
     {
-        DeInit();
+        // DeInit();
+
+        creamAnimator->Stop();
+        smileAnimator->Start();
+
+        UIViewGroup *tmpGroup = dynamic_cast<UIViewGroup *>(container_);
+        UIViewGroup::RemoveAndDeleteAllRecursively(tmpGroup);
+
         g_pTakephotosView = nullptr;
     }
 
@@ -140,7 +147,9 @@ namespace OHOS
         creamView->Add(labelnote_);
         creamView->Add(buttongo);
 
-        RootView::GetInstance()->Add(creamView);
+        // RootView::GetInstance()->Add(creamView);
+        container_->Add(creamView);
+
         creamView->SetDraggable(true);
         creamView->SetTouchable(true);
 
@@ -190,7 +199,9 @@ namespace OHOS
         takeView->Add(labelclick_);
         takeView->Add(buttontake);
 
-        RootView::GetInstance()->Add(takeView);
+        // RootView::GetInstance()->Add(takeView);
+        container_->Add(takeView);
+
         takeView->SetDraggable(true);
         takeView->SetTouchable(true);
 
@@ -208,32 +219,23 @@ namespace OHOS
     void TakephotosView::SetPopupViewStatus(PopupPhoto view, bool status)
     {
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SetPopupViewStatus %d", view);
-        UIView *popupView = nullptr;
+
         if (view == PopupPhoto::CreamPopup)
         {
-            popupView = creamView;
+            creamView->SetVisible(true);
+            takeView->SetVisible(false);
+
             creamAnimator->Start();
             smileAnimator->Stop();
         }
         else if (view == PopupPhoto::TakePopup)
         {
-            popupView = takeView;
+            takeView->SetVisible(true);
+            creamView->SetVisible(false);
+
             smileAnimator->Start();
             creamAnimator->Stop();
         }
-
-        if (popupView == nullptr)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PopupView is NULL");
-            return;
-        }
-
-        if (container_ != nullptr)
-        {
-            container_->SetVisible(!status);
-        }
-
-        popupView->SetVisible(status);
     }
 
     void TakephotosView::OnStart()
@@ -248,7 +250,6 @@ namespace OHOS
         ShowTakeView();
         PreLoad();
 
-        RootView::GetInstance()->Add(container_);
         SetContainerView(container_);
 
         RootView::GetInstance()->SetOnKeyActListener(presenter_);